Function: ewoc--refresh-node

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

Signature

(ewoc--refresh-node PP NODE DLL)

Documentation

Redisplay the element represented by NODE using the pretty-printer PP.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/ewoc.el.gz
(defun ewoc--refresh-node (pp node dll)
  "Redisplay the element represented by NODE using the pretty-printer PP."
  (let* ((m (ewoc--node-start-marker node))
         (R (ewoc--node-right node))
         (end (ewoc--node-start-marker R))
         (inhibit-read-only t)
         (offset (if (= (point) end)
                     'end
                   (when (< m (point) end)
                     (- (point) m)))))
    (save-excursion
      ;; First, remove the string from the buffer:
      (delete-region m end)
      ;; Calculate and insert the string.
      (goto-char m)
      (funcall pp (ewoc--node-data node))
      (setq end (point))
      (ewoc--adjust m (point) R dll))
    (when offset
      (goto-char (if (eq offset 'end)
                     end
                   (min (+ m offset) (1- end)))))))