X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Friece-async.el;h=56403f8668efdb6182e17a14c394c6dcfacb8c1b;hb=1427368d25257dfe250b57a26e157a35783a8207;hp=8ec6fd29af2df4017dc9b77441f5296e0ddd9865;hpb=e8d73144de25e96e4cae14e0c67a70dfaa7ad780;p=elisp%2Friece.git diff --git a/lisp/riece-async.el b/lisp/riece-async.el index 8ec6fd2..56403f8 100644 --- a/lisp/riece-async.el +++ b/lisp/riece-async.el @@ -18,17 +18,16 @@ ;; 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 @@ -38,9 +37,10 @@ ;;; 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) @@ -60,25 +60,20 @@ 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) + (let* (process-connection-type (process (apply #'start-process name buffer riece-ruby-command - (if (file-name-absolute-p riece-ruby-server-program) - riece-async-server-program - (expand-file-name - riece-async-server-program - (file-name-directory - (locate-library - (symbol-file 'riece-async-open-network-stream))))) + (expand-file-name riece-async-server-program + riece-data-directory) riece-async-server-program-arguments))) (if buffer (save-excursion @@ -89,7 +84,7 @@ assumed that the file is in the same directory of this file.") (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 ()