1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

* thingatpt.el (thing-at-point-bounds-of-list-at-point): New

function (Bug#3027).
This commit is contained in:
Chong Yidong 2009-04-18 03:39:28 +00:00
parent bc323c0489
commit 965b9376cf
2 changed files with 25 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2009-04-18 Chong Yidong <cyd@stupidchicken.com>
* thingatpt.el (thing-at-point-bounds-of-list-at-point): New
function (Bug#3027).
2009-04-17 Kenichi Handa <handa@m17n.org>
* international/uni-decomposition.el: Re-generated.

View file

@ -188,8 +188,26 @@ a symbol as a valid THING."
;; Lists
(put 'list 'end-op (lambda () (up-list 1)))
(put 'list 'beginning-op 'backward-sexp)
(put 'list 'bounds-of-thing-at-point 'thing-at-point-bounds-of-list-at-point)
(defun thing-at-point-bounds-of-list-at-point ()
(save-excursion
(let ((opoint (point))
(beg (condition-case nil
(progn (up-list -1)
(point))
(error nil))))
(condition-case nil
(if beg
(progn (forward-sexp)
(cons beg (point)))
;; Are we are at the beginning of a top-level sexp?
(forward-sexp)
(let ((end (point)))
(backward-sexp)
(if (>= opoint (point))
(cons opoint end))))
(error nil)))))
;; Filenames and URLs www.com/foo%32bar