# HG changeset patch # User Richard M. Stallman # Date 1202652233 0 # Node ID 7fa347fa057746fb4b6d428b02902065a5f3dce6 # Parent 85a8ae02bd0a7a67d89534e2c3dc04ecc5f81bff (rcirc-url-regexp): Replace definition by copying from gnus-button-url-regexp. diff -r 85a8ae02bd0a -r 7fa347fa0577 lisp/net/rcirc.el --- a/lisp/net/rcirc.el Sun Feb 10 13:03:08 2008 +0000 +++ b/lisp/net/rcirc.el Sun Feb 10 14:03:53 2008 +0000 @@ -1887,23 +1887,24 @@ string)) (defvar rcirc-url-regexp - (rx-to-string - `(and word-boundary - (or (and - (or (and (or "http" "https" "ftp" "file" "gopher" "news" - "telnet" "wais" "mailto") - "://") - "www.") - (1+ (char "-a-zA-Z0-9_.")) - (1+ (char "-a-zA-Z0-9_")) - (optional ":" (1+ (char "0-9")))) - (and (1+ (char "-a-zA-Z0-9_.")) - (or ".com" ".net" ".org") - word-boundary)) - (optional - (and "/" - (1+ (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;.,{}[]()")) - (char "-a-zA-Z0-9_=#$\@~`%&*+|\\/:;{}[]()"))))) + (concat + "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|" + "nntp\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)" + "\\(//[-a-z0-9_.]+:[0-9]*\\)?" + (if (string-match "[[:digit:]]" "1") ;; Support POSIX? + (let ((chars "-a-z0-9_=#$@~%&*+\\/[:word:]") + (punct "!?:;.,")) + (concat + "\\(?:" + ;; Match paired parentheses, e.g. in Wikipedia URLs: + "[" chars punct "]+" "(" "[" chars punct "]+" "[" chars "]*)" "[" chars "]" + "\\|" + "[" chars punct "]+" "[" chars "]" + "\\)")) + (concat ;; XEmacs 21.4 doesn't support POSIX. + "\\([-a-z0-9_=!?#$@~%&*+\\/:;.,]\\|\\w\\)+" + "\\([-a-z0-9_=#$@~%&*+\\/]\\|\\w\\)")) + "\\)") "Regexp matching URLs. Set to nil to disable URL features in rcirc.") (defun rcirc-browse-url (&optional arg)