From: Stefan Monnier Date: Sun, 10 Jan 2010 05:22:54 +0000 (-0500) Subject: (format-annotate-function): Only set X-Git-Tag: emacs-pretest-23.1.92~57 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4e5617ee4096a9f036b078f16f508147cf3653a1;p=emacs.git (format-annotate-function): Only set write-region-post-annotation-function after running to-fn so as not to affect nested write-region calls (bug#5273). --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 270f036cd3e..677f1b404ea 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,13 @@ +2010-01-10 Stefan Monnier + + * format.el (format-annotate-function): Only set + write-region-post-annotation-function after running to-fn so as not to + affect nested write-region calls (bug#5273). + 2010-01-10 Chong Yidong - * cedet/semantic.el (semantic-new-buffer-setup-functions): Add - python parser. + * cedet/semantic.el (semantic-new-buffer-setup-functions): + Add python parser. * Makefile.in (ELCFILES): Add wisent/python-wy.el and wisent/python.el. @@ -33,8 +39,8 @@ 2010-01-08 Kenichi Handa - * international/fontset.el (build-default-fontset-data): Exclude - characters in scripts kana, hangul, han, or cjk-misc. + * international/fontset.el (build-default-fontset-data): + Exclude characters in scripts kana, hangul, han, or cjk-misc. 2010-01-07 Juanma Barranquero @@ -54,8 +60,8 @@ 2010-01-05 Tom Tromey - * progmodes/python.el (python-font-lock-keywords): Handle - qualified decorators (Bug#881). + * progmodes/python.el (python-font-lock-keywords): + Handle qualified decorators (Bug#881). 2010-01-05 Dan Nicolaescu @@ -64,8 +70,7 @@ 2010-01-05 Kenichi Handa - * language/indian.el (malayalam-composable-pattern): Fix ZWNJ and - ZWJ. + * language/indian.el (malayalam-composable-pattern): Fix ZWNJ and ZWJ. 2010-01-05 Dan Nicolaescu @@ -90,8 +95,8 @@ 2010-01-02 Daniel Elliott (tiny change) * progmodes/octave-mod.el (octave-end-keywords) - (octave-block-begin-or-end-regexp, octave-block-match-alist): Add - "end" keyword (Bug#3061). + (octave-block-begin-or-end-regexp, octave-block-match-alist): + Add "end" keyword (Bug#3061). (octave-end-as-array-index-p): New function. (calculate-octave-indent): Use it. @@ -121,18 +126,18 @@ 2010-01-02 Karl Fogel - * bookmark.el (bookmark-bmenu-select, bookmark-bmenu-1-window, + * bookmark.el (bookmark-bmenu-select, bookmark-bmenu-1-window) (bookmark-bmenu-2-window, bookmark-bmenu-this-window) (bookmark-bmenu-other-window, bookmark-bmenu-switch-other-window) (bookmark-bmenu-show-annotation, bookmark-bmenu-edit-annotation) (bookmark-bmenu-rename, bookmark-bmenu-locate) - (bookmark-bmenu-relocate, bookmark-bmenu-goto-bookmark): Remove - unnecessary calls to `bookmark-bmenu-ensure-position'. + (bookmark-bmenu-relocate, bookmark-bmenu-goto-bookmark): + Remove unnecessary calls to `bookmark-bmenu-ensure-position'. 2010-01-02 Eli Zaretskii - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Make - the lines in the generated doc string shorter. (Bug#4668) + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Make the lines in the generated doc string shorter. (Bug#4668) 2010-01-02 Ryan Yeske @@ -140,10 +145,10 @@ 2010-01-02 Eli Zaretskii - * Makefile.in (bzr-update): Renamed from cvs-update. + * Makefile.in (bzr-update): Rename from cvs-update. (cvs-update): New target for backward compatibility. - * makefile.w32-in (bzr-update): Renamed from cvs-update. + * makefile.w32-in (bzr-update): Rename from cvs-update. (cvs-update): New target for backward compatibility. 2010-01-02 Karl Fogel @@ -9765,7 +9770,7 @@ See ChangeLog.14 for earlier changes. ;; coding: utf-8 ;; End: - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009, 2010 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/lisp/format.el b/lisp/format.el index 37dd95bd1c4..f19a207180f 100644 --- a/lisp/format.el +++ b/lisp/format.el @@ -222,9 +222,6 @@ For most purposes, consider using `format-encode-region' instead." (multibyte enable-multibyte-characters) (coding-system buffer-file-coding-system)) (with-current-buffer copy-buf - (set (make-local-variable - 'write-region-post-annotation-function) - 'kill-buffer) (setq selective-display sel-disp) (set-buffer-multibyte multibyte) (setq buffer-file-coding-system coding-system)) @@ -232,6 +229,15 @@ For most purposes, consider using `format-encode-region' instead." (set-buffer copy-buf) (format-insert-annotations write-region-annotations-so-far from) (format-encode-run-method to-fn (point-min) (point-max) orig-buf) + (when (buffer-live-p copy-buf) + (with-current-buffer copy-buf + ;; Set write-region-post-annotation-function to + ;; delete the buffer once the write is done, but do + ;; it after running to-fn so it doesn't affect + ;; write-region calls in to-fn. + (set (make-local-variable + 'write-region-post-annotation-function) + 'kill-buffer))) nil) ;; Otherwise just call function, it will return annotations. (funcall to-fn from to orig-buf)))))