# HG changeset patch # User Richard M. Stallman # Date 772501275 0 # Node ID 4fca34ed47e4258e362874c127d2b3bc02e6f96a # Parent 18c2ad4ddc83ee9882bc5692c465f09b9b0da7bb (gnus-summary-mode-map): Add menu bar menus. (gnus-group-mode-map): Add menu bar menus. (gnus-summary-catchup-to-here): New function. (gnus-summary-show-all-threads): Enable thread use. (gnus-summary-show-thread): Enable thread use. (gnus-summary-hide-all-threads): Enable thread use. (gnus-summary-hide-thread): Enable thread use. (gnus-summary-next-article): Fix previous change. diff -r 18c2ad4ddc83 -r 4fca34ed47e4 lisp/=gnus.el --- a/lisp/=gnus.el Fri Jun 24 21:52:16 1994 +0000 +++ b/lisp/=gnus.el Fri Jun 24 23:41:15 1994 +0000 @@ -970,7 +970,54 @@ (define-key gnus-group-mode-map "q" 'gnus-group-exit) (define-key gnus-group-mode-map "Q" 'gnus-group-quit) (define-key gnus-group-mode-map "?" 'gnus-group-describe-briefly) - (define-key gnus-group-mode-map "\C-c\C-i" 'gnus-info-find-node)) + (define-key gnus-group-mode-map "\C-c\C-i" 'gnus-info-find-node) + + ;; Make a menu bar item. + (define-key gnus-group-mode-map [menu-bar GNUS] + (cons "GNUS" (make-sparse-keymap "GNUS"))) + + (define-key gnus-group-mode-map [menu-bar GNUS force-update] + '("Force Update" . gnus-group-force-update)) + (define-key gnus-group-mode-map [menu-bar GNUS quit] + '("Quit" . gnus-group-quit)) + (define-key gnus-group-mode-map [menu-bar GNUS exit] + '("Exit" . gnus-group-exit)) + (define-key gnus-group-mode-map [menu-bar GNUS restart] + '("Restart" . gnus-group-restart)) + (define-key gnus-group-mode-map [menu-bar GNUS suspend] + '("Suspend" . gnus-group-suspend)) + (define-key gnus-group-mode-map [menu-bar GNUS get-new-news] + '("Get New News" . gnus-group-get-new-news)) + + ;; Make a menu bar item. + (define-key gnus-group-mode-map [menu-bar groups] + (cons "Groups" (make-sparse-keymap "Groups"))) + + (define-key gnus-group-mode-map [menu-bar groups catchup] + '("Catchup" . gnus-group-catchup)) + (define-key gnus-group-mode-map [menu-bar groups edit-global-kill] + '("Edit Kill File" . gnus-group-edit-global-kill)) + + (define-key gnus-group-mode-map [menu-bar groups separator-2] + '("--")) + + (define-key gnus-group-mode-map [menu-bar groups yank-group] + '("Yank Group" . gnus-group-yank-group)) + (define-key gnus-group-mode-map [menu-bar groups kill-group] + '("Kill Group" . gnus-group-kill-group)) + + (define-key gnus-group-mode-map [menu-bar groups separator-1] + '("--")) + + (define-key gnus-group-mode-map [menu-bar groups jump-to-group] + '("Jump to Group..." . gnus-group-jump-to-group)) + (define-key gnus-group-mode-map [menu-bar groups list-all-groups] + '("List All Groups" . gnus-group-list-all-groups)) + (define-key gnus-group-mode-map [menu-bar groups list-groups] + '("List Groups" . gnus-group-list-groups)) + (define-key gnus-group-mode-map [menu-bar groups unsub-current-group] + '("Unsubscribe Group" . gnus-group-unsubscribe-current-group)) + ) (defun gnus-group-mode () "Major mode for reading network news. @@ -1625,7 +1672,7 @@ "Editing a local KILL file (Type \\[gnus-kill-file-exit] to exit)"))) (defun gnus-group-force-update () - "Update .newsrc file." + "Update `.newsrc' file." (interactive) (gnus-save-newsrc-file)) @@ -1797,7 +1844,115 @@ (define-key gnus-summary-mode-map "q" 'gnus-summary-exit) (define-key gnus-summary-mode-map "Q" 'gnus-summary-quit) (define-key gnus-summary-mode-map "?" 'gnus-summary-describe-briefly) - (define-key gnus-summary-mode-map "\C-c\C-i" 'gnus-info-find-node)) + (define-key gnus-summary-mode-map "\C-c\C-i" 'gnus-info-find-node) + + (define-key gnus-summary-mode-map [menu-bar misc] + (cons "Misc" (make-sparse-keymap "misc"))) + + (define-key gnus-summary-mode-map [menu-bar misc caesar-message] + '("Caesar Message" . gnus-summary-caesar-message)) + (define-key gnus-summary-mode-map [menu-bar misc cancel-article] + '("Cancel Article" . gnus-summary-cancel-article)) + (define-key gnus-summary-mode-map [menu-bar misc edit-local-kill] + '("Edit Kill File" . gnus-summary-edit-local-kill)) + + (define-key gnus-summary-mode-map [menu-bar misc mark-as-unread] + '("Mark as Unread" . gnus-summary-mark-as-unread-forward)) + (define-key gnus-summary-mode-map [menu-bar misc mark-as-read] + '("Mark as Read" . gnus-summary-mark-as-read)) + + (define-key gnus-summary-mode-map [menu-bar misc quit] + '("Quit GNUS" . gnus-summary-quit)) + (define-key gnus-summary-mode-map [menu-bar misc exit] + '("Exit GNUS" . gnus-summary-exit)) + + (define-key gnus-summary-mode-map [menu-bar sort] + (cons "Sort" (make-sparse-keymap "sort"))) + + (define-key gnus-summary-mode-map [menu-bar sort sort-by-author] + '("Sort by Author" . gnus-summary-sort-by-author)) + (define-key gnus-summary-mode-map [menu-bar sort sort-by-date] + '("Sort by Date" . gnus-summary-sort-by-date)) + (define-key gnus-summary-mode-map [menu-bar sort sort-by-number] + '("Sort by Number" . gnus-summary-sort-by-number)) + (define-key gnus-summary-mode-map [menu-bar sort sort-by-subject] + '("Sort by Subject" . gnus-summary-sort-by-subject)) + (define-key gnus-summary-mode-map [menu-bar sort sort-summary] + '("Sort Summary" . gnus-summary-sort-summary)) + + (define-key gnus-summary-mode-map [menu-bar show/hide] + (cons "Show/Hide" (make-sparse-keymap "show/hide"))) + + (define-key gnus-summary-mode-map [menu-bar show/hide hide-all-threads] + '("Hide All Threads" . gnus-summary-hide-all-threads)) + (define-key gnus-summary-mode-map [menu-bar show/hide hide-thread] + '("Hide Thread" . gnus-summary-hide-thread)) + (define-key gnus-summary-mode-map [menu-bar show/hide show-all-threads] + '("Show All Threads" . gnus-summary-show-all-threads)) + (define-key gnus-summary-mode-map [menu-bar show/hide show-all-headers] + '("Show All Headers" . gnus-summary-show-all-headers)) + (define-key gnus-summary-mode-map [menu-bar show/hide show-thread] + '("Show Thread" . gnus-summary-show-thread)) + (define-key gnus-summary-mode-map [menu-bar show/hide show-article] + '("Show Article" . gnus-summary-show-article)) + (define-key gnus-summary-mode-map [menu-bar show/hide toggle-truncation] + '("Toggle Truncation" . gnus-summary-toggle-truncation)) + (define-key gnus-summary-mode-map [menu-bar show/hide toggle-mime] + '("Toggle Mime" . gnus-summary-toggle-mime)) + (define-key gnus-summary-mode-map [menu-bar show/hide toggle-header] + '("Toggle Header" . gnus-summary-toggle-header)) + + (define-key gnus-summary-mode-map [menu-bar action] + (cons "Action" (make-sparse-keymap "action"))) + + (define-key gnus-summary-mode-map [menu-bar action kill-same-subject] + '("kill-same-subject" . gnus-summary-kill-same-subject)) + (define-key gnus-summary-mode-map [menu-bar action kill-thread] + '("kill-thread" . gnus-summary-kill-thread)) + (define-key gnus-summary-mode-map [menu-bar action delete-marked-with] + '("delete-marked-with" . gnus-summary-delete-marked-with)) + (define-key gnus-summary-mode-map [menu-bar action delete-marked-as-read] + '("delete-marked-as-read" . gnus-summary-delete-marked-as-read)) + (define-key gnus-summary-mode-map [menu-bar action catchup-and-exit] + '("catchup-and-exit" . gnus-summary-catchup-and-exit)) + (define-key gnus-summary-mode-map [menu-bar action catchup-to-here] + '("catchup-to-here" . gnus-summary-catchup-to-here)) + + (define-key gnus-summary-mode-map [menu-bar action save-in-file] + '("save-in-file" . gnus-summary-save-in-file)) + (define-key gnus-summary-mode-map [menu-bar action save-article] + '("save-article" . gnus-summary-save-article)) + + (define-key gnus-summary-mode-map [menu-bar action followup-with-original] + '("followup-with-original" . gnus-summary-followup-with-original)) + (define-key gnus-summary-mode-map [menu-bar action followup] + '("followup" . gnus-summary-followup)) + (define-key gnus-summary-mode-map [menu-bar action reply-with-original] + '("reply-with-original" . gnus-summary-reply-with-original)) + (define-key gnus-summary-mode-map [menu-bar action reply] + '("reply" . gnus-summary-reply)) + + (define-key gnus-summary-mode-map [menu-bar move] + (cons "Move" (make-sparse-keymap "move"))) + + (define-key gnus-summary-mode-map [menu-bar move down-thread] + '("down-thread" . gnus-summary-down-thread)) + (define-key gnus-summary-mode-map [menu-bar move prev-same-subject] + '("prev-same-subject" . gnus-summary-prev-same-subject)) + (define-key gnus-summary-mode-map [menu-bar move prev-group] + '("prev-group" . gnus-summary-prev-group)) + (define-key gnus-summary-mode-map [menu-bar move next-unread-same-subject] + '("next-unread-same-subject" . gnus-summary-next-unread-same-subject)) + (define-key gnus-summary-mode-map [menu-bar move next-unread-article] + '("next-unread-article" . gnus-summary-next-unread-article)) + (define-key gnus-summary-mode-map [menu-bar move next-thread] + '("next-thread" . gnus-summary-next-thread)) + (define-key gnus-summary-mode-map [menu-bar move next-group] + '("next-group" . gnus-summary-next-group)) + (define-key gnus-summary-mode-map [menu-bar move first-unread-article] + '("first-unread-article" . gnus-summary-first-unread-article)) + ) + (defun gnus-summary-mode () "Major mode for reading articles in this newsgroup. @@ -2742,7 +2897,7 @@ (if (listp event) (car event) event))) - (if (eq char type) + (if (and (eq event type) (eq event cmd)) (gnus-summary-next-group nil) (setq unread-command-events (list event))))) ) @@ -3377,6 +3532,8 @@ (defun gnus-summary-show-all-threads () "Show all thread subtrees." (interactive) + (or gnus-show-threads + (gnus-summary-show-all-threads 1)) (if gnus-show-threads (save-excursion (let ((buffer-read-only nil)) @@ -3386,6 +3543,8 @@ (defun gnus-summary-show-thread () "Show thread subtrees." (interactive) + (or gnus-show-threads + (gnus-summary-show-all-threads 1)) (if gnus-show-threads (save-excursion (let ((buffer-read-only nil)) @@ -3399,6 +3558,8 @@ (defun gnus-summary-hide-all-threads () "Hide all thread subtrees." (interactive) + (or gnus-show-threads + (gnus-summary-show-all-threads 1)) (if gnus-show-threads (save-excursion ;; Adjust cursor point. @@ -3414,6 +3575,8 @@ (defun gnus-summary-hide-thread () "Hide thread subtrees." (interactive) + (or gnus-show-threads + (gnus-summary-show-all-threads 1)) (if gnus-show-threads (save-excursion ;; Adjust cursor point. @@ -3963,6 +4126,16 @@ )) )) +(defun gnus-summary-catchup-to-here () + "Mark all articles before the current one in this newsgroup as read." + (interactive) + (beginning-of-line) + (let ((current (gnus-summary-article-number))) + (beginning-of-buffer) + (while (not (= (gnus-summary-article-number) current)) + (gnus-summary-mark-as-read) + (gnus-summary-next-subject 1)))) + (defun gnus-summary-catchup-all (&optional quietly) "Mark all articles in this newsgroup as read." (interactive)