Doc fixes.
[bpt/emacs.git] / lisp / emacs-lisp / lucid.el
index 0e94124..80c5973 100644 (file)
 
 ;;; Code:
 
-(defun add-timeout (secs function object &optional resignal)
-  (run-at-time secs resignal function object))
-
-(defun disable-timeout (timeout)
-  (cancel-timer timeout))
-
 (defun copy-tree (tree)
   (if (consp tree)
       (cons (copy-tree (car tree))
 
 (defalias 'current-time-seconds 'current-time)
 
-(defun keymap-parent (keymap)
-  (let ((tail (cdr keymap)))
-    (while (and tail (not (eq (car tail) 'keymap)))
-      (setq tail (cdr tail)))
-    tail))
-
-(defun set-keymap-parent (keymap new-parent)
-  (let ((tail keymap))
-    (while (and tail (cdr tail) (not (eq (car (cdr tail)) 'keymap)))
-      (setq tail (cdr tail)))
-    (if tail
-       (setcdr tail new-parent))))
-
 (defun remprop (symbol prop)
   (let ((plist (symbol-plist symbol)))
     (while (eq (car plist) prop)
@@ -154,11 +135,44 @@ bottom of the buffer stack."
 (defalias 'find-face 'internal-find-face)
 (defalias 'get-face 'internal-get-face)
 (defalias 'try-face-font 'internal-try-face-font)
+
+(defalias 'exec-to-string 'shell-command-to-string)
 \f
 (defun make-extent (beg end &optional buffer)
   (make-overlay beg end buffer))
 
+(defun extent-properties (extent)
+  (overlay-properties extent))
+
+(defun extent-at (pos &optional object property before)
+  (with-current-buffer (or object (current-buffer))
+    (let ((overlays (overlays-at pos)))
+      (when property
+       (let (filtered)
+         (while overlays
+           (if (overlay-get (car overlays) property)
+               (setq filtered (cons (car overlays) filtered)))
+           (setq overlays (cdr overlays)))
+         (setq overlays filtered)))
+      (setq overlays
+           (sort overlays
+                 (function (lambda (o1 o2)
+                             (let ((p1 (or (overlay-get o1 'priority) 0))
+                                   (p2 (or (overlay-get o2 'priority) 0)))
+                               (or (> p1 p2)
+                                   (and (= p1 p2)
+                                        (> (overlay-start o1) (overlay-start o2)))))))))
+      (if before
+         (nth 1 (memq before overlays))
+       (car overlays)))))
+
 (defun set-extent-property (extent prop value)
+  ;; Make sure that separate adjacent extents
+  ;; with the same mouse-face value
+  ;; do not run together as one extent.
+  (and (eq prop 'mouse-face)
+       (symbolp value)
+       (setq value (list value)))
   (if (eq prop 'duplicable)
       (cond ((and value (not (overlay-get extent prop)))
             ;; If becoming duplicable, copy all overlayprops to text props.
@@ -210,7 +224,6 @@ bottom of the buffer stack."
 ;; (defalias 'screen-char-width 'frame-char-width)
 ;; (defalias 'screen-configuration-to-register 'frame-configuration-to-register)
 ;; (defalias 'screen-focus 'frame-focus)
-(defalias 'screen-height 'frame-height)
 (defalias 'screen-list 'frame-list)
 ;; (defalias 'screen-live-p 'frame-live-p)
 (defalias 'screen-parameters 'frame-parameters)
@@ -221,7 +234,6 @@ bottom of the buffer stack."
 (defalias 'lower-screen 'lower-frame)
 (defalias 'raise-screen 'raise-frame)
 (defalias 'screen-visible-p 'frame-visible-p)
-(defalias 'screen-width 'frame-width)
 (defalias 'screenp 'framep)
 (defalias 'select-screen 'select-frame)
 (defalias 'selected-screen 'selected-frame)