]> git.eshelyaron.com Git - emacs.git/commitdiff
(bounds-of-thing-at-point): Allow the end
authorRichard M. Stallman <rms@gnu.org>
Wed, 11 Dec 1996 20:59:18 +0000 (20:59 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 11 Dec 1996 20:59:18 +0000 (20:59 +0000)
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 @.

lisp/thingatpt.el

index 61f1890e75b21261d1c304ecc00849f7fb0039b6..fda31632aa112736f34da8f94c9936a1b6d424da 100644 (file)
@@ -85,8 +85,22 @@ of the textual entity that was found."
                        (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 @@ a symbol as a valid THING."
 (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)