changeset 32487:d5d7a3fbf10c

(ewoc-location): New function. (ewoc-enter-after, ewoc-enter-before): Document return value.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 15 Oct 2000 05:16:36 +0000
parents 8177ece14fdd
children 1fd2c9a94ec3
files lisp/emacs-lisp/ewoc.el
diffstat 1 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/ewoc.el	Sun Oct 15 04:54:20 2000 +0000
+++ b/lisp/emacs-lisp/ewoc.el	Sun Oct 15 05:16:36 2000 +0000
@@ -31,9 +31,9 @@
 ;; But now it's Emacs' Widget for Object Collections
 
 ;; As the name implies this derives from the `cookie' package (part
-;; of Elib).  The changes are mostly superficial:
+;; of Elib).  The changes are pervasive though mostly superficial:
 
-;; - uses CL (and its `defstruct'
+;; - uses CL (and its `defstruct')
 ;; - separate from Elib.
 ;; - uses its own version of a doubly-linked list which allows us
 ;;   to merge the elib-wrapper and the elib-node structures into ewoc-node
@@ -74,9 +74,9 @@
 ;; to the buffer contents.
 ;;
 ;; A `ewoc--node' is an object that contains one element.  There are
-;; functions in this package that given an ewoc--node extracts the data, or
-;; gives the next or previous ewoc--node.  (All ewoc--nodes are linked together
-;; in a doubly linked list.  The 'previous' ewoc--node is the one that appears
+;; functions in this package that given an ewoc--node extract the data, or
+;; give the next or previous ewoc--node.  (All ewoc--nodes are linked together
+;; in a doubly linked list.  The `previous' ewoc--node is the one that appears
 ;; before the other in the buffer.)  You should not do anything with
 ;; an ewoc--node except pass it to the functions in this package.
 ;;
@@ -95,6 +95,7 @@
 ;; 
 ;; (defun ewoc-create (pretty-printer &optional header footer)
 ;; (defalias 'ewoc-data 'ewoc--node-data)
+;; (defun ewoc-location (node)
 ;; (defun ewoc-enter-first (ewoc data)
 ;; (defun ewoc-enter-last (ewoc data)
 ;; (defun ewoc-enter-after (ewoc node data)
@@ -196,6 +197,10 @@
       (setq n (1- n)))
     (unless (eq dll node) node)))
 
+(defun ewoc-location (node)
+  "Return the start location of NODE."
+  (ewoc--node-start-marker node))
+
 
 ;;; The ewoc data type
 
@@ -336,12 +341,14 @@
 
 
 (defun ewoc-enter-after (ewoc node data)
-  "Enter a new element DATA after NODE in EWOC."
+  "Enter a new element DATA after NODE in EWOC.
+Returns the new NODE."
   (ewoc--set-buffer-bind-dll ewoc
     (ewoc-enter-before ewoc (ewoc--node-next dll node) data)))
 
 (defun ewoc-enter-before (ewoc node data)
-  "Enter a new element DATA before NODE in EWOC."
+  "Enter a new element DATA before NODE in EWOC.
+Returns the new NODE."
   (ewoc--set-buffer-bind-dll ewoc
     (ewoc--node-enter-before
      node