Commits

Anonymous committed caf0f3e

Patch from <14383.2194.386792.598900@strangepork.interhack.net>:
1999-11-14 Matt Curtin <cmcurtin@interhack.net>

* thingatpt.el synched with Emacs 20.4

Comments (0)

Files changed (2)

+1999-11-14  Matt Curtin  <cmcurtin@interhack.net>
+
+	* thingatpt.el synched with Emacs 20.4
+
 1998-09-12  Jeff Miller  <jmiller@smart.net>
 
 	* x-popup-menu.el: Added (provide 'x-popup-menu)
 ;;; thingatpt.el --- Get the `thing' at point
 
-;; Copyright (C) 1991,92,93,94,95,96,1997 Free Software Foundation, Inc.
+;; Copyright (C) 1991,92,93,94,95,96,97,1998 Free Software Foundation, Inc.
 
 ;; Author: Mike Williams <mikew@gopher.dosli.govt.nz>
 ;; Keywords: extensions, matching, mouse
 (put 'url 'thing-at-point 'thing-at-point-url-at-point)
 (defun thing-at-point-url-at-point ()
   "Return the URL around or before point.
-Search backwards for the start of a URL ending at or after 
-point.  If no URL found, return nil.  The access scheme, `http://'
-will be prepended if absent."
+
+Search backwards for the start of a URL ending at or after point.  If
+no URL found, return nil.  The access scheme will be prepended if
+absent: \"mailto:\" if the string contains \"@\", \"ftp://\" if it
+starts with \"ftp\" and not \"ftp:/\", or \"http://\" by default."
+
   (let ((url "") short strip)
     (if (or (setq strip (thing-at-point-looking-at
 			 thing-at-point-markedup-url-regexp))
 						    (match-end 0)))
 	  (and strip (setq url (substring url 5 -1))) ; Drop "<URL:" & ">"
 	  ;; strip whitespace
-	  (while (string-match "\\s +\\|\n+" url)
+	  (while (string-match "[ \t\n\r]+" url)
 	    (setq url (replace-match "" t t url)))
-	  (and short (setq url (concat (if (string-match "@" url)
-					   "mailto:" "http://") url)))
+	  (and short (setq url (concat (cond ((string-match "@" url)
+                                              "mailto:")
+					     ;; e.g. ftp.swiss... or ftp-swiss...
+                                             ((string-match "^ftp" url)
+                                              "ftp://")
+                                             (t "http://"))
+                                       url)))
 	  (if (string-equal "" url)
 	      nil
 	    url)))))