summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-12-09 06:37:30 +0000
committerRichard M. Stallman <rms@gnu.org>1996-12-09 06:37:30 +0000
commit0c41071a29a860afa66ecb27c431e66cd7bc49ba (patch)
tree4c7df22bac5e5b09fb2a9645f71d4d80b2858150
parentef834d45082efa0ca377899f1354c0a9044f1279 (diff)
downloademacs-0c41071a29a860afa66ecb27c431e66cd7bc49ba.tar.gz
(gnus-button-alist): Allow whitespace in `<URL:...'
markup (rfc1738), done last, after possible partial matches. (gnus-button-url): Zap any whitespace from a <URL:...> match.
-rw-r--r--lisp/gnus-vis.el16
1 files changed, 12 insertions, 4 deletions
diff --git a/lisp/gnus-vis.el b/lisp/gnus-vis.el
index baddc09e087..0258368cce8 100644
--- a/lisp/gnus-vis.el
+++ b/lisp/gnus-vis.el
@@ -217,11 +217,13 @@
("\\(<?\\(url: ?\\)?news:\\([^>\n\t ]*\\)>?\\)" 1 t
gnus-button-message-id 3)
("\\(<URL: *\\)?mailto: *\\([^> \n\t]+\\)>?" 0 t gnus-button-reply 2)
- ;; This is how URLs _should_ be embedded in text...
- ("<URL: *\\([^\n\r>]*\\)>" 0 t gnus-button-url 1)
;; Next regexp stolen from highlight-headers.el.
;; Modified by Vladimir Alexiev.
- (,gnus-button-url-regexp 0 t gnus-button-url 0))
+ (,gnus-button-url-regexp 0 t gnus-button-url 0)
+ ;; This is how URLs _should_ be embedded in text... It should go
+ ;; last to avoid matching only a subset of the URL, depending on
+ ;; how it was broken across lines.
+ ("<URL:\\([^>]+\\)>" 0 t gnus-button-url 1))
"Alist of regexps matching buttons in article bodies.
Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where
@@ -1518,7 +1520,13 @@ specified by `gnus-button-alist'."
(defun gnus-button-url (address)
"Browse ADDRESS."
- (funcall browse-url-browser-function address))
+ (funcall browse-url-browser-function
+ ;; Zap whitespace in case <URL:...> contained it.
+ ;; (Whitespace illegal in raw URL.)
+ (let ((stripped-address address))
+ (while (string-match "\\s +\\|\n+" stripped-address)
+ (setq stripped-address (replace-match "" t t stripped-address)))
+ stripped-address)))
;;; Next/prev buttons in the article buffer.