From: Stefan Monnier Date: Mon, 29 May 2006 03:47:56 +0000 (+0000) Subject: (ewoc--insert-new-node): Use ewoc--refresh-node. X-Git-Tag: emacs-pretest-22.0.90~2217 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7ece7aba2b5679b9909bf5e1969ea7c6a2ea852f;p=emacs.git (ewoc--insert-new-node): Use ewoc--refresh-node. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6dd176768be..496bc1f34e2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2006-05-28 Stefan Monnier + * emacs-lisp/ewoc.el (ewoc--insert-new-node): Use ewoc--refresh-node. + * emacs-lisp/autoload.el (no-update-autoloads): Declare. (generate-file-autoloads): Obey it. Return whether autoloads were added at point or not. diff --git a/lisp/emacs-lisp/ewoc.el b/lisp/emacs-lisp/ewoc.el index c35d155b343..c9e2b9f27f4 100644 --- a/lisp/emacs-lisp/ewoc.el +++ b/lisp/emacs-lisp/ewoc.el @@ -99,7 +99,7 @@ ;;; Code: -(eval-when-compile (require 'cl)) ;because of CL compiler macros +(eval-when-compile (require 'cl)) ;; The doubly linked list is implemented as a circular list ;; with a dummy node first and last. The dummy node is used as @@ -197,18 +197,13 @@ BUT if it is the header or the footer in EWOC return nil instead." 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* ((inhibit-read-only t) - (m (copy-marker (ewoc--node-start-marker node))) - (pos (marker-position m)) - (elemnode (ewoc--node-create m data))) - (goto-char pos) - (funcall pretty-printer data) - (setf (marker-position m) pos - (ewoc--node-left elemnode) (ewoc--node-left node) + (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--adjust pos (point) node) + (ewoc--refresh-node pretty-printer elemnode) elemnode))) (defun ewoc--refresh-node (pp node) @@ -584,10 +579,10 @@ Return nil if the buffer has been deleted." (provide 'ewoc) -;;; Local Variables: -;;; eval: (put 'ewoc--set-buffer-bind-dll 'lisp-indent-hook 1) -;;; eval: (put 'ewoc--set-buffer-bind-dll-let* 'lisp-indent-hook 2) -;;; End: +;; Local Variables: +;; eval: (put 'ewoc--set-buffer-bind-dll 'lisp-indent-hook 1) +;; eval: (put 'ewoc--set-buffer-bind-dll-let* 'lisp-indent-hook 2) +;; End: -;;; arch-tag: d78915b9-9a07-44bf-aac6-04a1fc1bd6d4 +;; arch-tag: d78915b9-9a07-44bf-aac6-04a1fc1bd6d4 ;;; ewoc.el ends here