summaryrefslogtreecommitdiff
path: root/lisp/thingatpt.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2006-11-21 01:38:04 +0000
committerRichard M. Stallman <rms@gnu.org>2006-11-21 01:38:04 +0000
commit4f5d46685d2a8ec44b9a3bba09c096735a86d3b5 (patch)
treedc078e7b0d5eeacec0da0a8daf75a5bee1554c14 /lisp/thingatpt.el
parent994a72627ca3a63532fbb6ac50efc38d92bec508 (diff)
downloademacs-4f5d46685d2a8ec44b9a3bba09c096735a86d3b5.tar.gz
emacs-4f5d46685d2a8ec44b9a3bba09c096735a86d3b5.tar.bz2
emacs-4f5d46685d2a8ec44b9a3bba09c096735a86d3b5.zip
(thing-at-point-url-at-point): Don't add a redundant scheme.
(thing-at-point-uri-schemes): Added schemes that are new to the list at IANA. Also added irc, mms, mmsh.
Diffstat (limited to 'lisp/thingatpt.el')
-rw-r--r--lisp/thingatpt.el12
1 files changed, 9 insertions, 3 deletions
diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el
index e2618bca8fd..ee58fffce34 100644
--- a/lisp/thingatpt.el
+++ b/lisp/thingatpt.el
@@ -214,15 +214,18 @@ Hostname matching is stricter in this case than for
``thing-at-point-url-regexp''.")
(defvar thing-at-point-uri-schemes
- ;; Officials from http://www.iana.org/assignments/uri-schemes
+ ;; Officials from http://www.iana.org/assignments/uri-schemes.html
'("ftp://" "http://" "gopher://" "mailto:" "news:" "nntp:"
"telnet://" "wais://" "file:/" "prospero:" "z39.50s:" "z39.50r:"
"cid:" "mid:" "vemmi:" "service:" "imap:" "nfs:" "acap:" "rtsp:"
"tip:" "pop:" "data:" "dav:" "opaquelocktoken:" "sip:" "tel:" "fax:"
"modem:" "ldap:" "https://" "soap.beep:" "soap.beeps:" "urn:" "go:"
"afs:" "tn3270:" "mailserver:"
+ "crid:" "dict:" "dns:" "dtn:" "h323:" "im:" "info:" "ipp:"
+ "iris.beep:" "mtqp:" "mupdate:" "pres:" "sips:" "snmp:" "tag:"
+ "tftp:" "xmlrpc.beep:" "xmlrpc.beeps:" "xmpp:"
;; Compatibility
- "snews:")
+ "snews:" "irc:" "mms://" "mmsh://")
"Uniform Resource Identifier (URI) Schemes.")
(defvar thing-at-point-url-regexp
@@ -275,7 +278,10 @@ starts with \"ftp\" and not \"ftp:/\", or \"http://\" by default."
;; strip whitespace
(while (string-match "[ \t\n\r]+" url)
(setq url (replace-match "" t t url)))
- (and short (setq url (concat (cond ((string-match "@" url)
+ (and short (setq url (concat (cond ((string-match "^[a-zA-Z]+:" url)
+ ;; already has a URL scheme.
+ "")
+ ((string-match "@" url)
"mailto:")
;; e.g. ftp.swiss... or ftp-swiss...
((string-match "^ftp" url)