X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece.el;h=4622c83bcfbd57a5a5dc407f0b03536ce115b41e;hb=e886cd7599d98a51369d9ec345e3b84b144e8a71;hp=da4adab50e4959df4f78885fa405eac16dada8e6;hpb=fe7eeb17a3b1cc9b6a5316aebae340cba1ede06d;p=riece diff --git a/lisp/riece.el b/lisp/riece.el index da4adab..4622c83 100644 --- a/lisp/riece.el +++ b/lisp/riece.el @@ -24,12 +24,12 @@ ;;; Code: -(require 'riece-filter) (require 'riece-display) (require 'riece-server) (require 'riece-compat) (require 'riece-commands) (require 'riece-addon) +(require 'riece-signal) (autoload 'derived-mode-class "derived") @@ -151,7 +151,9 @@ If optional argument SAFE is nil, overwrite previous definitions." [backspace] scroll-down [return] scroll-up " " scroll-up + [home] beginning-of-buffer "$" end-of-buffer + [end] end-of-buffer "/" riece-command-raw ">" end-of-buffer "<" beginning-of-buffer @@ -194,7 +196,9 @@ If optional argument SAFE is nil, overwrite previous definitions." [delete] riece-command-scroll-down [backspace] riece-command-scroll-down " " riece-command-scroll-up + [home] riece-command-beginning-of-buffer "$" riece-command-end-of-buffer + [end] riece-command-end-of-buffer ">" riece-command-next-channel "<" riece-command-previous-channel "\C-j" riece-command-next-channel @@ -299,18 +303,21 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect." (riece-display-connect-signals) (riece-redisplay-buffers) (riece-open-server riece-server "") - (let ((server-list riece-startup-server-list)) - (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")))) + ;; If no server process is available, exit. + (if (null riece-server-process-alist) + (riece-exit) + (let ((server-list riece-startup-server-list)) + (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"))))) (defun riece-shrink-buffer (buffer) (save-excursion @@ -337,6 +344,7 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect." (setq riece-buffer-list (cdr riece-buffer-list))) (if riece-shrink-buffer-idle-timer (riece-cancel-timer riece-shrink-buffer-idle-timer)) + (riece-clear-signal-slots) (setq riece-server nil riece-current-channels nil riece-current-channel nil @@ -360,6 +368,7 @@ For a list of the generic commands type \\[riece-command-generic] ? RET. (interactive) (kill-all-local-variables) + (make-local-variable 'truncate-partial-width-windows) (setq riece-away-indicator "-" riece-operator-indicator "-" major-mode 'riece-command-mode @@ -372,7 +381,8 @@ For a list of the generic commands type \\[riece-command-generic] ? RET. " " riece-user-indicator " " - riece-channel-indicator))) + riece-channel-indicator)) + truncate-partial-width-windows nil) (riece-simplify-mode-line-format) (use-local-map riece-command-mode-map) @@ -394,6 +404,7 @@ Instead, these commands are available: (kill-all-local-variables) (make-local-variable 'riece-freeze) (make-local-variable 'riece-freeze-indicator) + (make-local-variable 'truncate-partial-width-windows) (setq riece-freeze riece-default-freeze riece-away-indicator "-" riece-operator-indicator "-" @@ -407,7 +418,8 @@ Instead, these commands are available: riece-freeze-indicator " " riece-channel-list-indicator " ")) - buffer-read-only t) + buffer-read-only t + truncate-partial-width-windows nil) (riece-simplify-mode-line-format) (use-local-map riece-dialogue-mode-map) (buffer-disable-undo) @@ -426,6 +438,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: "