From 734c576596678065b39591128d88609bc6fc5aad Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Tue, 14 Dec 2004 07:29:36 +0000 Subject: Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-734 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-75 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-76 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-77 Update from CVS 2004-12-13 Katsumi Yamaoka * lisp/gnus/gnus-group.el (gnus-group-make-rss-group): Use gnus-group-make-group instead of gnus-group-unsubscribe-group. * lisp/gnus/gnus-start.el (gnus-setup-news): Honor user's setting to gnus-message-archive-method. Suggested by Lute Kamstra . 2004-12-08 Reiner Steib * man/gnus-faq.texi ([5.1]): Added missing bracket. * man/gnus.texi (Filtering Spam Using The Spam ELisp Package): Index `spam-initialize'. --- lisp/gnus/ChangeLog | 9 +++++++++ lisp/gnus/gnus-group.el | 3 +-- lisp/gnus/gnus-start.el | 32 ++++++++++++++++++++++---------- 3 files changed, 32 insertions(+), 12 deletions(-) (limited to 'lisp/gnus') diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 47945169a52..518a9903085 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -2,6 +2,15 @@ * gnus-art.el (gnus-narrow-to-page): Don't hardcode point-min. +2004-12-13 Katsumi Yamaoka + + * gnus-group.el (gnus-group-make-rss-group): Use + gnus-group-make-group instead of gnus-group-unsubscribe-group. + + * gnus-start.el (gnus-setup-news): Honor user's setting to + gnus-message-archive-method. Suggested by Lute Kamstra + . + 2004-12-02 Katsumi Yamaoka * message.el (message-forward-make-body-mml): Remove headers diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index c55264b22de..b7d0cf9eef4 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -2592,8 +2592,7 @@ If there is, use Gnus to create an nnrss group" (href (cdr (assoc 'href feedinfo)))) (push (list title href desc) nnrss-group-alist) - (gnus-group-unsubscribe-group - (concat "nnrss:" title)) + (gnus-group-make-group title '(nnrss "")) (nnrss-save-server-data nil)) (error "No feeds found for %s" url)))) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 17b0f1d687d..e1985c5db5d 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -952,16 +952,28 @@ If LEVEL is non-nil, the news will be set up at level LEVEL." ;; Make sure the archive server is available to all and sundry. (when gnus-message-archive-method (unless (assoc "archive" gnus-server-alist) - (push `("archive" - nnfolder - "archive" - (nnfolder-directory - ,(nnheader-concat message-directory "archive")) - (nnfolder-active-file - ,(nnheader-concat message-directory "archive/active")) - (nnfolder-get-new-mail nil) - (nnfolder-inhibit-expiry t)) - gnus-server-alist))) + (let ((method (or (and (stringp gnus-message-archive-method) + (gnus-server-to-method + gnus-message-archive-method)) + gnus-message-archive-method))) + ;; Check whether the archive method is writable. + (unless (or (stringp method) + (memq 'respool (assoc (format "%s" (car method)) + gnus-valid-select-methods))) + (setq method "archive")) ;; The default. + (push (if (stringp method) + `("archive" + nnfolder + ,method + (nnfolder-directory + ,(nnheader-concat message-directory method)) + (nnfolder-active-file + ,(nnheader-concat message-directory + (concat method "/active"))) + (nnfolder-get-new-mail nil) + (nnfolder-inhibit-expiry t)) + (cons "archive" method)) + gnus-server-alist)))) ;; If we don't read the complete active file, we fill in the ;; hashtb here. -- cgit v1.2.3 From c44edf72cd01cb86d5527a9ba09860459aeba1e5 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 17 Dec 2004 15:19:33 +0000 Subject: Implement context-sentitive dual behaviour for mouse-1 click. --- etc/NEWS | 33 +++++++++++++++++++++++++++++++++ lisp/ChangeLog | 38 ++++++++++++++++++++++++++++++++++++++ lisp/gnus/ChangeLog | 8 +++++++- 3 files changed, 78 insertions(+), 1 deletion(-) (limited to 'lisp/gnus') diff --git a/etc/NEWS b/etc/NEWS index 21895dd1d63..1ac6aba6de5 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -98,6 +98,35 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. * Changes in Emacs 21.4 +** You can now follow links by clicking mouse-1 on the link. + +Traditionally, Emacs uses a mouse-1 click to set point and a mouse-2 +click to follow a link, whereas most other applications use a mouse-1 +click for both purposes, depending on whether you click outside or +inside a link. With release 21.4, the behaviour of a mouse-1 click +has been changed to match this context-sentitive dual behaviour. + +Depending on the current mode, a mouse-2 click in Emacs may do much +more than just follow a link, so the new mouse-1 behaviour is only +activated for modes which explicitly mark a clickable text as a "link" +(see the new function `mouse-on-link-p' for details). The lisp +packages that are included in release 21.4 have been adapted to do +this, but external packages may not yet support this. However, there +is no risk in using such packages, as the worst thing that could +happen is that you get the original mouse-1 behaviour when you click +on a link, which typically means that you set point where you click. + +If you want to get the original mouse-1 action also inside a link, you +just need to press the mouse-1 button a little longer than a normal +click (i.e. press and hold the mouse-1 button for half a second before +you release it). + +Dragging the mouse-1 inside a link still performs the original +drag-mouse-1 action, typically copy the text. + +You can customize the new mouse-1 behaviour via the new user option +`mouse-1-click-follows-link'. + ** line-move-ignore-invisible now defaults to t. ** In Outline mode, hide-body no longer hides lines at the top @@ -2372,6 +2401,10 @@ configuration files. * Lisp Changes in Emacs 21.4 +** Lisp code can now test if a given buffer position is inside a +clickable link with the new function `mouse-on-link-p'. This is the +function used by the new `mouse-1-click-follows-link' functionality. + ** (while-no-input BODY...) runs BODY, but only so long as no input arrives. If the user types or clicks anything, BODY stops as if a quit had occurred. while-no-input returns the value of BODY, if BODY diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7e19ddff5d7..e973b48e814 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,41 @@ +2004-12-17 Kim F. Storm + + * mouse.el (mouse-1-click-follows-link): New defcustom. + (mouse-on-link-p): New function. + (mouse-drag-region-1): Implement mouse-1-click-follows-link + functionality. Map a mouse-1 click event into a mouse-2 (or + other) event when position is inside a link. + + * tooltip.el (tooltip-show-help-function): Replace "mouse-2" + prefix in tooltip text with "mouse-1" when this is a link + recognized by mouse-1-click-follows-link functionality. + + * help.el (describe-key): Report effective and original binding + for mouse-1 when clicked on a link. + (describe-mode): Add follow-link property to "minor-mode" button. + + * help-fns.el (describe-variable): Add follow-link property to + "below" button. + + * help-mode.el (help-xref): Add follow-link property. + + * apropos.el (apropos-symbol, apropos-function, apropos-macro) + (apropos-command, apropos-variable, apropos-face, apropos-group) + (apropos-widget, apropos-plist): Add follow-link property. + + * pcvs-defs.el (cvs-mode-map): Map follow-link to a function which + checks if position is in a filename, rather than some other + clickable item. Function looks for cvs-filename-face at position. + + * wid-edit.el (widget-specify-field, widget-specify-button): + Map a :follow-link keyword into a follow-link property. + (link): Add :follow-link keyword, map to RET binding. + + * dired.el (dired-mode-map): Map follow-link to mouse-face. + + * progmodes/compile.el (compilation-minor-mode-map) + (compilation-button-map, compilation-mode-map): Likewise. + 2004-12-17 Thien-Thi Nguyen * play/zone.el (zone): Init `line-spacing' from orig buffer. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 518a9903085..bb7b8337f4c 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,9 @@ +2004-12-17 Kim F. Storm + + * gnus-group.el (gnus-group-mode-map): Map follow-link to mouse-face. + + * gnus-sum.el (gnus-summary-mode-map): Likewise. + 2004-12-08 Stefan Monnier * gnus-art.el (gnus-narrow-to-page): Don't hardcode point-min. @@ -905,7 +911,7 @@ * gnus-delay.el (gnus-delay-default-hour): Add :version. * gnus-cite.el (gnus-cite-blank-line-after-header) - (gnus-article-boring-faces): + (gnus-article-boring-faces): * gnus-art.el (gnus-buttonized-mime-types) (gnus-inhibit-mime-unbuttonizing) -- cgit v1.2.3 From 1c4976249b4116dc1fce6ac00fc2cc81ea2f7214 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 17 Dec 2004 15:19:52 +0000 Subject: (gnus-group-mode-map): Map follow-link to mouse-face. --- lisp/gnus/gnus-group.el | 1 + 1 file changed, 1 insertion(+) (limited to 'lisp/gnus') diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index b7d0cf9eef4..336b635a6a0 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -591,6 +591,7 @@ simple manner.") "\M-e" gnus-group-edit-group-method "^" gnus-group-enter-server-mode gnus-mouse-2 gnus-mouse-pick-group + [follow-link] mouse-face "<" beginning-of-buffer ">" end-of-buffer "\C-c\C-b" gnus-bug -- cgit v1.2.3 From 132cf96dff182358577c15bcd401eb3cd9bd6f4a Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 17 Dec 2004 15:20:06 +0000 Subject: (gnus-summary-mode-map): Map follow-link to mouse-face. --- lisp/gnus/gnus-sum.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lisp/gnus') diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 03e1624237e..c4f320e888b 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -1703,6 +1703,7 @@ increase the score of each group you read." "Q" gnus-summary-exit-no-update "\C-c\C-i" gnus-info-find-node gnus-mouse-2 gnus-mouse-pick-article + [follow-link] mouse-face "m" gnus-summary-mail-other-window "a" gnus-summary-post-news "i" gnus-summary-news-other-window @@ -5096,7 +5097,7 @@ If SELECT-ARTICLES, only select those articles from GROUP." (when gnus-agent (gnus-agent-possibly-alter-active group (gnus-active group) info) - + (setq gnus-summary-use-undownloaded-faces (gnus-agent-find-parameter group @@ -7044,7 +7045,7 @@ If optional argument UNREAD is non-nil, only unread article is selected." (gnus-summary-goto-subject article t))) (gnus-summary-limit (append articles gnus-newsgroup-limit)) (gnus-summary-position-point)) - + (defun gnus-summary-goto-subject (article &optional force silent) "Go the subject line of ARTICLE. If FORCE, also allow jumping to articles not currently shown." @@ -9140,7 +9141,7 @@ ACTION can be either `move' (the default), `crosspost' or `copy'." ;;;!!!Why is this necessary? (set-buffer gnus-summary-buffer) - + (gnus-summary-goto-subject article) (when (eq action 'move) (gnus-summary-mark-article article gnus-canceled-mark)))) -- cgit v1.2.3