diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-12-11 20:59:18 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-12-11 20:59:18 +0000 |
commit | 02807c95d318a13b7bc56ab320916686437aeb83 (patch) | |
tree | f468c145720a35637aa8a33805141621c8fb6db8 /lisp/thingatpt.el | |
parent | 79062c6c2fc05af1f00a043d3ea560fdd0abac5d (diff) | |
download | emacs-02807c95d318a13b7bc56ab320916686437aeb83.tar.gz emacs-02807c95d318a13b7bc56ab320916686437aeb83.tar.bz2 emacs-02807c95d318a13b7bc56ab320916686437aeb83.zip |
(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 @.
Diffstat (limited to 'lisp/thingatpt.el')
-rw-r--r-- | lisp/thingatpt.el | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index 61f1890e75b..fda31632aa1 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -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) |