changeset 16668:bf249c4b4beb

(bounds-of-thing-at-point): Allow the end to be at the same place as ORIG. Try harder to find a thing that ends at ORIG. (url): Move forward over colons. Move back over colons at the end. (thing-at-point-file-name-chars): Include @.
author Richard M. Stallman <rms@gnu.org>
date Wed, 11 Dec 1996 20:59:18 +0000
parents 19eb80712305
children 0bd213d55f05
files lisp/thingatpt.el
diffstat 1 files changed, 19 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/thingatpt.el	Wed Dec 11 20:25:24 1996 +0000
+++ b/lisp/thingatpt.el	Wed Dec 11 20:59:18 1996 +0000
@@ -85,8 +85,22 @@
 			(or (get thing 'beginning-op) 
 			    (function (lambda () (forward-thing thing -1)))))
 		       (point))))
-	    (if (and beg end (<= beg orig) (< orig end))
-		(cons beg end))))
+	    (if (and beg end (<= beg orig) (<= orig end))
+		(cons beg end)
+	      ;; Try a second time, moving backward first and forward after,
+	      ;; so that we can find a thing that ends at ORIG.
+	      (let ((beg (progn 
+			   (funcall 
+			    (or (get thing 'beginning-op) 
+				(function (lambda () (forward-thing thing -1)))))
+			   (point)))
+		    (end (progn 
+			   (funcall 
+			    (or (get thing 'end-op) 
+				(function (lambda () (forward-thing thing 1)))))
+			   (point))))
+		(if (and beg end (<= beg orig) (<= orig end))
+		    (cons beg end))))))
       (error nil))))
 
 ;;;###autoload
@@ -156,12 +170,12 @@
 (put 'filename 'beginning-op
      '(lambda () (skip-chars-backward thing-at-point-file-name-chars)))
 
-(defvar thing-at-point-url-chars "~/A-Za-z0-9---_$%&=.,"
+(defvar thing-at-point-url-chars "~/A-Za-z0-9---_@$%&=.,"
   "Characters allowable in a URL.")
 
 (put 'url 'end-op    
-     '(lambda () (skip-chars-forward thing-at-point-url-chars)
-	(skip-chars-backward ".,")))
+     '(lambda () (skip-chars-forward (concat ":" thing-at-point-url-chars))
+	(skip-chars-backward ".,:")))
 (put 'url 'beginning-op
      '(lambda ()
 	(skip-chars-backward thing-at-point-url-chars)