"Mapping from keywords to default values.
All keywords that can be used must be listed here."))
-(defadvice save-buffers-kill-emacs
- (before liece-save-buffers-kill-emacs activate)
- "Prompt user to quit IRC explicitly."
- (run-hooks 'liece-before-kill-emacs-hook) )
-
-(add-hook 'liece-before-kill-emacs-hook 'liece-command-quit)
+(add-hook 'kill-emacs-hook 'liece-command-quit)
(defvar liece-tmp-server-name nil "Temporaly server name.")
(defvar liece-buffer-last-check-time nil)
liece-server nil))
;;;###liece-autoload
-(defun liece-close-server (&optional quit-string)
+(defun liece-close-server ()
"Close chat server."
(unwind-protect
(progn
(eq 'liece-sentinel
(process-sentinel liece-server-process)))
(set-process-sentinel liece-server-process nil))
- ;; We cannot send QUIT command unless the process is running.
- (when (liece-server-opened)
- (if quit-string
- (liece-send "QUIT :%s" quit-string)
- (liece-send "QUIT"))))
- (liece-close-server-internal)))
+ (if (liece-server-opened)
+ (liece-command-quit)))
+ (liece-close-server-internal)
+ ;; Save settings to the `~/.liece/init.el' file.
+ (if liece-save-variables-are-dirty
+ (liece-command-save-vars))
+ ;; Reset everything.
+ (liece-clear-system)
+ (liece-window-configuration-pop)
+ ;; Allow the user to do things after cleaning up.
+ (run-hooks 'liece-exit-hook)))
(defmacro liece-server-keyword-bind (plist &rest body)
"Return a `let' form that binds all variables in PLIST.