# HG changeset patch # User Lars Magne Ingebrigtsen # Date 818499137 0 # Node ID 7cbb1453aefd6e69970f422a61f3cc0984aabb4a # Parent e8358f30c41c5c1f77e4784bc4ae058e4216224b (gnus-simplify-mode-line): New function to simplify the mode line in a safer manner. (gnus-group-mode, gnus-browse-mode, gnus-summary-mode, gnus-article-mode, gnus-server-mode): Use the function. diff -r e8358f30c41c -r 7cbb1453aefd lisp/gnus.el --- a/lisp/gnus.el Fri Dec 08 05:11:19 1995 +0000 +++ b/lisp/gnus.el Sat Dec 09 08:52:17 1995 +0000 @@ -2842,6 +2842,16 @@ "Return the quit-config of GROUP." (nth 1 (assoc 'quit-config (gnus-find-method-for-group group)))) +(defun gnus-simplify-mode-line () + "Make mode lines a bit simpler." + (setq mode-line-modified "-- ") + (if (listp mode-line-format) + (progn + (make-local-variable 'mode-line-format) + (setq mode-line-format (copy-sequence mode-line-format)) + (and (equal (nth 3 mode-line-format) " ") + (setcar (nthcdr 3 mode-line-format) ""))))) + ;;; List and range functions (defun gnus-last-element (list) @@ -3218,11 +3228,7 @@ (interactive) (if gnus-visual (gnus-group-make-menu-bar)) (kill-all-local-variables) - (setq mode-line-modified "-- ") - (make-local-variable 'mode-line-format) - (setq mode-line-format (copy-sequence mode-line-format)) - (and (equal (nth 3 mode-line-format) " ") - (setcar (nthcdr 3 mode-line-format) "")) + (gnus-simplify-mode-line) (setq major-mode 'gnus-group-mode) (setq mode-name "Group") (gnus-group-set-mode-line) @@ -5158,11 +5164,7 @@ (interactive) (kill-all-local-variables) (if gnus-visual (gnus-browse-make-menu-bar)) - (setq mode-line-modified "-- ") - (make-local-variable 'mode-line-format) - (setq mode-line-format (copy-sequence mode-line-format)) - (and (equal (nth 3 mode-line-format) " ") - (setcar (nthcdr 3 mode-line-format) "")) + (gnus-simplify-mode-line) (setq major-mode 'gnus-browse-mode) (setq mode-name "Browse Server") (setq mode-line-process nil) @@ -5643,11 +5645,7 @@ (set (car locals) nil)) (setq locals (cdr locals)))) (gnus-make-thread-indent-array) - (setq mode-line-modified "-- ") - (make-local-variable 'mode-line-format) - (setq mode-line-format (copy-sequence mode-line-format)) - (and (equal (nth 3 mode-line-format) " ") - (setcar (nthcdr 3 mode-line-format) "")) + (gnus-simplify-mode-line) (setq major-mode 'gnus-summary-mode) (setq mode-name "Summary") (make-local-variable 'minor-mode-alist) @@ -10769,11 +10767,7 @@ (interactive) (if gnus-visual (gnus-article-make-menu-bar)) (kill-all-local-variables) - (setq mode-line-modified "-- ") - (make-local-variable 'mode-line-format) - (setq mode-line-format (copy-sequence mode-line-format)) - (and (equal (nth 3 mode-line-format) " ") - (setcar (nthcdr 3 mode-line-format) "")) + (gnus-simplify-mode-line) (setq mode-name "Article") (setq major-mode 'gnus-article-mode) (make-local-variable 'minor-mode-alist) @@ -13617,11 +13611,7 @@ (interactive) (if gnus-visual (gnus-server-make-menu-bar)) (kill-all-local-variables) - (setq mode-line-modified "-- ") - (make-local-variable 'mode-line-format) - (setq mode-line-format (copy-sequence mode-line-format)) - (and (equal (nth 3 mode-line-format) " ") - (setcar (nthcdr 3 mode-line-format) "")) + (gnus-simplify-mode-line) (setq major-mode 'gnus-server-mode) (setq mode-name "Server") ; (gnus-group-set-mode-line)