Function: ewoc--insert-new-node

ewoc--insert-new-node is a byte-compiled function defined in ewoc.el.gz.

Signature

(ewoc--insert-new-node NODE DATA PRETTY-PRINTER DLL)

Documentation

Insert before NODE a new node for DATA, displayed by PRETTY-PRINTER.

Fourth arg DLL -- from (ewoc--dll EWOC) -- is for internal purposes. Call PRETTY-PRINTER with point at NODE's start, thus pushing back NODE and leaving the new node's start there. Return the new node.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/ewoc.el.gz
(defun ewoc--insert-new-node (node data pretty-printer dll)
  "Insert before NODE a new node for DATA, displayed by PRETTY-PRINTER.
Fourth arg DLL -- from `(ewoc--dll EWOC)' -- is for internal purposes.
Call PRETTY-PRINTER with point at NODE's start, thus pushing back
NODE and leaving the new node's start there.  Return the new node."
  (save-excursion
    (let ((elemnode (ewoc--node-create
                     (copy-marker (ewoc--node-start-marker node)) data)))
      (setf (ewoc--node-left  elemnode) (ewoc--node-left node)
            (ewoc--node-right elemnode)                  node
            (ewoc--node-right (ewoc--node-left node)) elemnode
            (ewoc--node-left                   node)  elemnode)
      (ewoc--refresh-node pretty-printer elemnode dll)
      elemnode)))