diff options
| author | Juanma Barranquero | 2014-03-20 19:16:47 +0100 |
|---|---|---|
| committer | Juanma Barranquero | 2014-03-20 19:16:47 +0100 |
| commit | 814e26fa05d6496867bd99cf05bc57ce2e6c4d4b (patch) | |
| tree | 1f8926ed528696d6d51af5e3ebb5410a47e85290 | |
| parent | b730af26071f7ba08f5e46dce1b96a687e090c90 (diff) | |
| download | emacs-814e26fa05d6496867bd99cf05bc57ce2e6c4d4b.tar.gz emacs-814e26fa05d6496867bd99cf05bc57ce2e6c4d4b.zip | |
lisp/emacs-lisp/cl-extra.el (cl--map-overlays): Remove obsolete code.
| -rw-r--r-- | lisp/ChangeLog | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-extra.el | 51 |
2 files changed, 16 insertions, 37 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0c62c55fa34..51d5de2f3be 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 2014-03-20 Juanma Barranquero <lekktu@gmail.com> | 1 | 2014-03-20 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 2 | ||
| 3 | * emacs-lisp/cl-extra.el (cl--map-overlays): Remove obsolete code. | ||
| 4 | |||
| 3 | * skeleton.el (skeleton-autowrap): Mark as obsolete. Doc fix. | 5 | * skeleton.el (skeleton-autowrap): Mark as obsolete. Doc fix. |
| 4 | 6 | ||
| 5 | 2014-03-20 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 2014-03-20 Stefan Monnier <monnier@iro.umontreal.ca> |
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 9b28289e0b9..3761d04c2c2 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el | |||
| @@ -269,43 +269,20 @@ If so, return the true (non-nil) value returned by PREDICATE. | |||
| 269 | ;;;###autoload | 269 | ;;;###autoload |
| 270 | (defun cl--map-overlays (cl-func &optional cl-buffer cl-start cl-end cl-arg) | 270 | (defun cl--map-overlays (cl-func &optional cl-buffer cl-start cl-end cl-arg) |
| 271 | (or cl-buffer (setq cl-buffer (current-buffer))) | 271 | (or cl-buffer (setq cl-buffer (current-buffer))) |
| 272 | (if (fboundp 'overlay-lists) | 272 | (let (cl-ovl) |
| 273 | 273 | (with-current-buffer cl-buffer | |
| 274 | ;; This is the preferred algorithm, though overlay-lists is undocumented. | 274 | (setq cl-ovl (overlay-lists)) |
| 275 | (let (cl-ovl) | 275 | (if cl-start (setq cl-start (copy-marker cl-start))) |
| 276 | (with-current-buffer cl-buffer | 276 | (if cl-end (setq cl-end (copy-marker cl-end)))) |
| 277 | (setq cl-ovl (overlay-lists)) | 277 | (setq cl-ovl (nconc (car cl-ovl) (cdr cl-ovl))) |
| 278 | (if cl-start (setq cl-start (copy-marker cl-start))) | 278 | (while (and cl-ovl |
| 279 | (if cl-end (setq cl-end (copy-marker cl-end)))) | 279 | (or (not (overlay-start (car cl-ovl))) |
| 280 | (setq cl-ovl (nconc (car cl-ovl) (cdr cl-ovl))) | 280 | (and cl-end (>= (overlay-start (car cl-ovl)) cl-end)) |
| 281 | (while (and cl-ovl | 281 | (and cl-start (<= (overlay-end (car cl-ovl)) cl-start)) |
| 282 | (or (not (overlay-start (car cl-ovl))) | 282 | (not (funcall cl-func (car cl-ovl) cl-arg)))) |
| 283 | (and cl-end (>= (overlay-start (car cl-ovl)) cl-end)) | 283 | (setq cl-ovl (cdr cl-ovl))) |
| 284 | (and cl-start (<= (overlay-end (car cl-ovl)) cl-start)) | 284 | (if cl-start (set-marker cl-start nil)) |
| 285 | (not (funcall cl-func (car cl-ovl) cl-arg)))) | 285 | (if cl-end (set-marker cl-end nil)))) |
| 286 | (setq cl-ovl (cdr cl-ovl))) | ||
| 287 | (if cl-start (set-marker cl-start nil)) | ||
| 288 | (if cl-end (set-marker cl-end nil))) | ||
| 289 | |||
| 290 | ;; This alternate algorithm fails to find zero-length overlays. | ||
| 291 | (let ((cl-mark (with-current-buffer cl-buffer | ||
| 292 | (copy-marker (or cl-start (point-min))))) | ||
| 293 | (cl-mark2 (and cl-end (with-current-buffer cl-buffer | ||
| 294 | (copy-marker cl-end)))) | ||
| 295 | cl-pos cl-ovl) | ||
| 296 | (while (save-excursion | ||
| 297 | (and (setq cl-pos (marker-position cl-mark)) | ||
| 298 | (< cl-pos (or cl-mark2 (point-max))) | ||
| 299 | (progn | ||
| 300 | (set-buffer cl-buffer) | ||
| 301 | (setq cl-ovl (overlays-at cl-pos)) | ||
| 302 | (set-marker cl-mark (next-overlay-change cl-pos))))) | ||
| 303 | (while (and cl-ovl | ||
| 304 | (or (/= (overlay-start (car cl-ovl)) cl-pos) | ||
| 305 | (not (and (funcall cl-func (car cl-ovl) cl-arg) | ||
| 306 | (set-marker cl-mark nil))))) | ||
| 307 | (setq cl-ovl (cdr cl-ovl)))) | ||
| 308 | (set-marker cl-mark nil) (if cl-mark2 (set-marker cl-mark2 nil))))) | ||
| 309 | 286 | ||
| 310 | ;;; Support for `setf'. | 287 | ;;; Support for `setf'. |
| 311 | ;;;###autoload | 288 | ;;;###autoload |