Mercurial > emacs
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)