Fix typo.
[riece] / lisp / riece-async.el
index 4635643..5d143c4 100644 (file)
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
+;; NOTE: This is an add-on module for Riece.
+
 ;; This program allows to connect to an IRC server via local proxy
 ;; which responds to PING requests from server.
 
-;; To use, add the following line to your ~/.riece/init.el:
-;; (add-to-list 'riece-addons 'riece-async)
-
 ;; If you want to enable this feature per server, write the server
 ;; spec like this:
 ;; (add-to-list 'riece-server-alist
 ;;; Code:
 
 (require 'riece-options)
+(require 'riece-ruby)                  ;riece-ruby-command
 
 (defgroup riece-async nil
-  "Connect to IRC server via asynchronous proxy"
+  "Connect to IRC server via async proxy."
   :prefix "riece-"
   :group 'riece)
 
 assumed that the file is in the same directory of this file.")
 
 (defvar riece-async-server-program-arguments
-  (list "-s" riece-async-buffer-size
+  (list "-s" (number-to-string riece-async-buffer-size)
        "-b" riece-async-backup-file)
   "Command line arguments passed to `riece-async-server-program'.")
 
 (defconst riece-async-description
-  "Keep IRC connection with external process")
+  "Connect to IRC server via async proxy.")
 
 ;;;###autoload
 (defun riece-async-open-network-stream (name buffer host service)
-  (let* ((process-connection-type nil)
-        (process (apply #'start-process name buffer riece-ruby-command
-                        riece-async-server-program
-                        riece-async-server-program-arguments)))
+  (let* (process-connection-type
+        (process
+         (apply #'start-process name buffer riece-ruby-command
+                (expand-file-name riece-async-server-program
+                                  riece-data-directory)
+                riece-async-server-program-arguments)))
     (if buffer
-       (save-excursion
-         (set-buffer (process-buffer process))
+       (with-current-buffer (process-buffer process)
          (while (and (eq (process-status process) 'run)
                      (progn
                        (goto-char (point-min))
                        (not (looking-at (format "NOTICE CONNECTED %d"
                                                 (process-id process))))))
            (accept-process-output process))))
-    (process-kill-without-query process)
+    (riece-set-process-query-on-exit-flag process nil)
     process))
 
 (defun riece-async-insinuate ()
@@ -91,4 +92,4 @@ assumed that the file is in the same directory of this file.")
 
 (provide 'riece-async)
 
-;;; riece-rdcc.el ends here
+;;; riece-async.el ends here