diff options
| author | Richard M. Stallman | 1997-08-13 19:39:39 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-08-13 19:39:39 +0000 |
| commit | c9411d2f035ff9aa297aa53f8abf5337186e9a57 (patch) | |
| tree | b6c9f177b38f9cf7fc11c16c2f82be8da14895f9 | |
| parent | 2f939ddd09db4442128d95e094b0d556788fb8bb (diff) | |
| download | emacs-c9411d2f035ff9aa297aa53f8abf5337186e9a57.tar.gz emacs-c9411d2f035ff9aa297aa53f8abf5337186e9a57.zip | |
(extent-properties, extent-at): New functions.
| -rw-r--r-- | lisp/emacs-lisp/lucid.el | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/lucid.el b/lisp/emacs-lisp/lucid.el index e7dc74e4d4b..80c5973046c 100644 --- a/lisp/emacs-lisp/lucid.el +++ b/lisp/emacs-lisp/lucid.el | |||
| @@ -141,6 +141,31 @@ bottom of the buffer stack." | |||
| 141 | (defun make-extent (beg end &optional buffer) | 141 | (defun make-extent (beg end &optional buffer) |
| 142 | (make-overlay beg end buffer)) | 142 | (make-overlay beg end buffer)) |
| 143 | 143 | ||
| 144 | (defun extent-properties (extent) | ||
| 145 | (overlay-properties extent)) | ||
| 146 | |||
| 147 | (defun extent-at (pos &optional object property before) | ||
| 148 | (with-current-buffer (or object (current-buffer)) | ||
| 149 | (let ((overlays (overlays-at pos))) | ||
| 150 | (when property | ||
| 151 | (let (filtered) | ||
| 152 | (while overlays | ||
| 153 | (if (overlay-get (car overlays) property) | ||
| 154 | (setq filtered (cons (car overlays) filtered))) | ||
| 155 | (setq overlays (cdr overlays))) | ||
| 156 | (setq overlays filtered))) | ||
| 157 | (setq overlays | ||
| 158 | (sort overlays | ||
| 159 | (function (lambda (o1 o2) | ||
| 160 | (let ((p1 (or (overlay-get o1 'priority) 0)) | ||
| 161 | (p2 (or (overlay-get o2 'priority) 0))) | ||
| 162 | (or (> p1 p2) | ||
| 163 | (and (= p1 p2) | ||
| 164 | (> (overlay-start o1) (overlay-start o2))))))))) | ||
| 165 | (if before | ||
| 166 | (nth 1 (memq before overlays)) | ||
| 167 | (car overlays))))) | ||
| 168 | |||
| 144 | (defun set-extent-property (extent prop value) | 169 | (defun set-extent-property (extent prop value) |
| 145 | ;; Make sure that separate adjacent extents | 170 | ;; Make sure that separate adjacent extents |
| 146 | ;; with the same mouse-face value | 171 | ;; with the same mouse-face value |