--- lisp/gnus-art.el~ 2007-12-19 08:40:24 +0000 +++ lisp/gnus-art.el 2008-01-08 11:51:49 +0000 @@ -4225,6 +4225,13 @@ (substitute-key-definition 'undefined 'gnus-article-read-summary-keys gnus-article-mode-map) +(gnus-define-keys (gnus-article-send-map "S" gnus-article-mode-map) + "W" gnus-article-wide-reply-with-original) +(if (featurep 'xemacs) + (set-keymap-default-binding gnus-article-send-map + 'gnus-article-read-summary-send-keys) + (define-key gnus-article-send-map [t] 'gnus-article-read-summary-send-keys)) + (defun gnus-article-make-menu-bar () (unless (boundp 'gnus-article-commands-menu) (gnus-summary-make-menu-bar)) @@ -6243,8 +6250,9 @@ (save-excursion (set-buffer gnus-article-current-summary) (let (gnus-pick-mode) - (push (or key last-command-event) unread-command-events) - (setq keys (if (featurep 'xemacs) + (setq unread-command-events (nconc unread-command-events + (list (or key last-command-event))) + keys (if (featurep 'xemacs) (events-to-keys (read-key-sequence nil)) (read-key-sequence nil))))) @@ -6339,24 +6347,30 @@ (signal (car err) (cdr err)) (ding)))))))) +(defun gnus-article-read-summary-send-keys () + (interactive) + (let ((unread-command-events (list (if (featurep 'xemacs) + (character-to-event ?S) + ?S)))) + (gnus-article-read-summary-keys))) + (defun gnus-article-describe-key (key) "Display documentation of the function invoked by KEY. KEY is a string." (interactive "kDescribe key: ") (gnus-article-check-buffer) - (if (eq (key-binding key) 'gnus-article-read-summary-keys) + (if (memq (key-binding key t) '(gnus-article-read-summary-keys + gnus-article-read-summary-send-keys)) (save-excursion (set-buffer gnus-article-current-summary) (let (gnus-pick-mode) (if (featurep 'xemacs) - (progn - (push (elt key 0) unread-command-events) - (setq key (events-to-keys - (read-key-sequence "Describe key: ")))) + (setq unread-command-events (append key nil) + key (events-to-keys (read-key-sequence nil))) (setq unread-command-events (mapcar (lambda (x) (if (>= x 128) (list 'meta (- x 128)) x)) (string-to-list key))) - (setq key (read-key-sequence "Describe key: ")))) + (setq key (read-key-sequence nil)))) (describe-key key)) (describe-key key))) @@ -6364,20 +6378,19 @@ "Display documentation of the function invoked by KEY. KEY is a string." (interactive "kDescribe key: \nP") (gnus-article-check-buffer) - (if (eq (key-binding key) 'gnus-article-read-summary-keys) + (if (memq (key-binding key t) '(gnus-article-read-summary-keys + gnus-article-read-summary-send-keys)) (save-excursion (set-buffer gnus-article-current-summary) (let (gnus-pick-mode) (if (featurep 'xemacs) - (progn - (push (elt key 0) unread-command-events) - (setq key (events-to-keys - (read-key-sequence "Describe key: ")))) + (setq unread-command-events (append key nil) + key (events-to-keys (read-key-sequence nil))) (setq unread-command-events (mapcar (lambda (x) (if (>= x 128) (list 'meta (- x 128)) x)) (string-to-list key))) - (setq key (read-key-sequence "Describe key: ")))) + (setq key (read-key-sequence nil)))) (describe-key-briefly key insert)) (describe-key-briefly key insert))) @@ -6385,7 +6398,7 @@ "Start composing a reply mail to the current message. The text in the region will be yanked. If the region isn't active, the entire article will be yanked." - (interactive "P") + (interactive) (let ((article (cdr gnus-article-current)) contents) (if (not (gnus-region-active-p)) @@ -6400,6 +6413,13 @@ (gnus-summary-reply (list (list article contents)) wide))))) +(defun gnus-article-wide-reply-with-original () + "Start composing a wide reply mail to the current message. +The text in the region will be yanked. If the region isn't active, +the entire article will be yanked." + (interactive) + (gnus-article-reply-with-original t)) + (defun gnus-article-followup-with-original () "Compose a followup to the current article. The text in the region will be yanked. If the region isn't active, --- lisp/lpath.el~ 2007-12-10 01:18:01 +0000 +++ lisp/lpath.el 2008-01-08 11:51:49 +0000 @@ -51,13 +51,15 @@ show-trailing-whitespace temporary-file-directory timer-list tool-bar-mode transient-mark-mode))) (maybe-fbind '(bbdb-complete-name - delete-annotation delete-extent device-connection dfw-device - events-to-keys find-face font-lock-set-defaults frame-device - get-char-table glyph-height glyph-width ldap-search-entries + character-to-event delete-annotation delete-extent + device-connection dfw-device events-to-keys find-face + font-lock-set-defaults frame-device get-char-table + glyph-height glyph-width ldap-search-entries mail-aliases-setup make-annotation make-event make-glyph map-extents message-xmas-redefine put-char-table run-mode-hooks set-extent-property set-itimer-function - temp-directory valid-image-instantiator-format-p + set-keymap-default-binding temp-directory + valid-image-instantiator-format-p w3-coding-system-for-mime-charset w3-do-setup w3-prepare-buffer w3-region window-pixel-height window-pixel-width)) --- texi/gnus.texi~ 2008-01-06 22:51:28 +0000 +++ texi/gnus.texi 2008-01-08 11:51:49 +0000 @@ -11900,17 +11900,22 @@ @kindex R (Article) @findex gnus-article-reply-with-original Send a reply to the current article and yank the current article -(@code{gnus-article-reply-with-original}). If given a prefix, make a -wide reply. If the region is active, only yank the text in the -region. +(@code{gnus-article-reply-with-original}). If the region is active, +only yank the text in the region. + +@item S W +@kindex S W (Article) +@findex gnus-article-wide-reply-with-original +Send a wide reply to the current article and yank the current article +(@code{gnus-article-reply-with-original}). If the region is active, +only yank the text in the region. @item F @kindex F (Article) @findex gnus-article-followup-with-original Send a followup to the current article and yank the current article -(@code{gnus-article-followup-with-original}). If given a prefix, make -a wide reply. If the region is active, only yank the text in the -region. +(@code{gnus-article-followup-with-original}). If the region is active, +only yank the text in the region. @end table