Function: ewoc--adjust

ewoc--adjust is a byte-compiled function defined in ewoc.el.gz.

Signature

(ewoc--adjust BEG END NODE DLL)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/ewoc.el.gz
(defun ewoc--adjust (beg end node dll)
  ;; "Manually reseat" markers for NODE and its successors (including footer
  ;; and dll), in the case where they originally shared start position with
  ;; BEG, to END.  BEG and END are buffer positions describing NODE's left
  ;; neighbor.  This operation is functionally equivalent to temporarily
  ;; setting these nodes' markers' insertion type to t around the pretty-print
  ;; call that precedes the call to `ewoc--adjust', and then changing them back
  ;; to nil.
  (when (< beg end)
    (let (m)
      (while (and (= beg (setq m (ewoc--node-start-marker node)))
                  ;; The "dummy" node `dll' actually holds the marker that
                  ;; points to the end of the footer, so we check `dll'
                  ;; *after* reseating the marker.
                  (progn
                    (set-marker m end)
                    (not (eq dll node))))
        (setq node (ewoc--node-right node))))))