* riece.el (riece): Scan riece-startup-channel-list and open servers.
[riece] / lisp / riece.el
index 4622c83..e815b16 100644 (file)
@@ -310,6 +310,14 @@ 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 ((channel-list riece-startup-channel-list)
+           server)
+       (while channel-list
+         (setq server (riece-identity-server
+                       (riece-parse-identity (car channel-list))))
+         (unless (riece-server-opened server)
+           (riece-command-open-server server))
+         (setq channel-list (cdr channel-list))))
       (let ((pointer riece-addons))
        (while pointer
          (unless (get (car pointer) 'riece-addon-default-disabled)
@@ -368,7 +376,12 @@ For a list of the generic commands type \\[riece-command-generic] ? RET.
   (interactive)
   (kill-all-local-variables)
 
+  ;; Make `truncate-partial-width-windows' buffer local and set it to
+  ;; nil.  This causes `truncate-lines' to directly control line
+  ;; truncation.
   (make-local-variable 'truncate-partial-width-windows)
+  (setq truncate-partial-width-windows nil)
+
   (setq riece-away-indicator "-"
        riece-operator-indicator "-"
        major-mode 'riece-command-mode
@@ -382,7 +395,7 @@ For a list of the generic commands type \\[riece-command-generic] ? RET.
           riece-user-indicator
           " "
           riece-channel-indicator))
-       truncate-partial-width-windows nil)
+       truncate-lines nil)
   (riece-simplify-mode-line-format)
   (use-local-map riece-command-mode-map)
 
@@ -404,7 +417,12 @@ Instead, these commands are available:
   (kill-all-local-variables)
   (make-local-variable 'riece-freeze)
   (make-local-variable 'riece-freeze-indicator)
+
+  ;; Make `truncate-partial-width-windows' buffer local and set it to
+  ;; nil.  This causes `truncate-lines' to directly control line truncation.
   (make-local-variable 'truncate-partial-width-windows)
+  (setq truncate-partial-width-windows nil)
+
   (setq riece-freeze riece-default-freeze
        riece-away-indicator "-"
        riece-operator-indicator "-"
@@ -418,8 +436,8 @@ Instead, these commands are available:
           riece-freeze-indicator
           " "
           riece-channel-list-indicator " "))
-       buffer-read-only t
-       truncate-partial-width-windows nil)
+       truncate-lines nil
+       buffer-read-only t)
   (riece-simplify-mode-line-format)
   (use-local-map riece-dialogue-mode-map)
   (buffer-disable-undo)
@@ -453,6 +471,12 @@ Instead, these commands are available:
 All normal editing commands are turned off."
   (kill-all-local-variables)
   (buffer-disable-undo)
+
+  ;; Make `truncate-partial-width-windows' buffer local and set it to
+  ;; nil.  This causes `truncate-lines' to directly control line truncation.
+  (make-local-variable 'truncate-partial-width-windows)
+  (setq truncate-partial-width-windows nil)
+
   (setq major-mode 'riece-channel-list-mode
        mode-name "Channels"
        mode-line-buffer-identification
@@ -472,6 +496,12 @@ Instead, these commands are available:
 \\{riece-user-list-mode-map}"
   (kill-all-local-variables)
   (buffer-disable-undo)
+
+  ;; Make `truncate-partial-width-windows' buffer local and set it to
+  ;; nil.  This causes `truncate-lines' to directly control line truncation.
+  (make-local-variable 'truncate-partial-width-windows)
+  (setq truncate-partial-width-windows nil)
+
   (setq major-mode 'riece-user-list-mode
        mode-name "Users"
        mode-line-buffer-identification