X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-commands.el;h=4994a8f9711a5252f1fe4bbf4d7ce4c9441bf1c8;hp=9a52c041c3c1848f968c071d7c3c4aef1ad2a2a5;hb=9fb4441a7b9a6f36df16242d4bb06c7a037a4092;hpb=29a2d0ab5fea8183ebbe5bf6b739e4ed1b7f834a;ds=sidebyside diff --git a/lisp/riece-commands.el b/lisp/riece-commands.el index 9a52c04..4994a8f 100644 --- a/lisp/riece-commands.el +++ b/lisp/riece-commands.el @@ -577,19 +577,24 @@ If prefix argument ARG is non-nil, toggle frozen status." (riece-update-status-indicators) (force-mode-line-update t)) +(eval-when-compile + (autoload 'riece-exit "riece")) (defun riece-command-quit (&optional arg) "Quit IRC." (interactive "P") (if (y-or-n-p "Really quit IRC? ") - (let ((message - (if arg - (read-string "Message: ") - (or riece-quit-message - (riece-extended-version)))) - (alist riece-server-process-alist)) - (while alist - (riece-quit-server-process (cdr (car alist)) message) - (setq alist (cdr alist)))))) + (if riece-server-process-alist + (let ((message + (if arg + (read-string "Message: ") + (or riece-quit-message + (riece-extended-version)))) + (alist riece-server-process-alist)) + (while alist + (riece-quit-server-process (cdr (car alist)) message) + (setq alist (cdr alist)))) + ;; If no server process is available, exit immediately. + (riece-exit)))) (defun riece-command-raw (command) "Enter raw IRC command, which is sent to the server."