* riece-foolproof.el: New add-on.
[riece] / lisp / riece.el
index 58ac0cf..cbafff5 100644 (file)
@@ -275,8 +275,6 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
       (let ((pointer riece-addons))
        (while pointer
          (riece-insinuate-addon (car pointer) riece-debug)
-         (unless (get (car pointer) 'riece-addon-default-disabled)
-           (riece-enable-addon (car pointer) riece-debug))
          (setq pointer (cdr pointer))))
       (setq riece-addons-insinuated t))
     (if (or confirm (null riece-server))
@@ -305,6 +303,11 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
       (while server-list
        (riece-command-open-server (car server-list))
        (setq server-list (cdr server-list))))
+    (let ((pointer riece-addons))
+      (while pointer
+       (unless (get (car pointer) 'riece-addon-default-disabled)
+         (riece-enable-addon (car pointer) riece-debug))
+       (setq pointer (cdr pointer))))
     (run-hooks 'riece-startup-hook)
     (message "%s" (substitute-command-keys
                   "Type \\[describe-mode] for help"))))
@@ -325,10 +328,6 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
        (delete-region start end)))))
 
 (defun riece-exit ()
-  (let ((pointer riece-addons))
-    (while pointer
-      (riece-disable-addon (car pointer) riece-debug)
-      (setq pointer (cdr pointer))))
   (if riece-save-variables-are-dirty
       (riece-save-variables-files))
   (while riece-buffer-list
@@ -386,7 +385,7 @@ For a list of the generic commands type \\[riece-command-generic] ? RET.
      "^[]{}'`"))
 
   (run-hooks 'riece-command-mode-hook))
-  
+
 (defun riece-dialogue-mode ()
   "Major mode for displaying the IRC dialogue.
 All normal editing commands are turned off.
@@ -427,6 +426,7 @@ Instead, these commands are available:
 All normal editing commands are turned off.
 Instead, these commands are available:
 \\{riece-channel-mode-map}"
+  (make-local-variable 'riece-channel-buffer-window-point)
   (setq mode-line-buffer-identification
        (riece-mode-line-buffer-identification
         '("Riece: "
@@ -442,7 +442,7 @@ All normal editing commands are turned off."
   (kill-all-local-variables)
   (buffer-disable-undo)
   (setq major-mode 'riece-channel-list-mode
-        mode-name "Channels"
+       mode-name "Channels"
        mode-line-buffer-identification
        (riece-mode-line-buffer-identification '("Riece: "))
        truncate-lines t
@@ -461,7 +461,7 @@ Instead, these commands are available:
   (kill-all-local-variables)
   (buffer-disable-undo)
   (setq major-mode 'riece-user-list-mode
-        mode-name "Users"
+       mode-name "Users"
        mode-line-buffer-identification
        (riece-mode-line-buffer-identification
         '("Riece: " riece-long-channel-indicator " "))
@@ -486,7 +486,7 @@ Instead, these commands are available:
                    (eq major-mode (nth 2 (car alist))))
          (funcall (nth 2 (car alist))))
        (setq alist (cdr alist))))))
-      
+
 (provide 'riece)
 
 ;;; riece.el ends here