[A] Preserve hooks locality
Adrian Aichner
adrian at xemacs.org
Wed Aug 29 14:36:15 EDT 2007
Didier Verna <didier at xemacs.org> writes:
> Dear reviewers,
>
> This patch fixes the loss of locality that I have observed on
> write-file-hooks and friends (the 't in the local value was lost). It is
> also recommended for 21.4. I'll apply it by the end of the week if
> nobody objects.
Interesting!
Didier, have you also observed bbdb losing coding cookie of line 1 on write?
This might be the reason for the coding system breakage reported on
bbdb-info recently.
See, e.g.
http://www.mail-archive.com/bbdb-info@lists.sourceforge.net/index.html#04609
Could the issue you found have to do with this?
Adrian
>
>
> lisp/ChangeLog addition:
>
> 2007-08-29 Didier Verna <didier at xemacs.org>
>
> * files.el (files-fetch-hook-value): Preserve locality of hooks by
> working on copies.
>
>
> XEmacs source patch:
> Diff command: cvs -q diff -u -t -b -B -w
> Files affected: lisp/files.el
>
> Index: lisp/files.el
> ===================================================================
> RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/files.el,v
> retrieving revision 1.78
> diff -u -u -t -b -B -w -r1.78 files.el
> --- lisp/files.el 21 Jun 2007 23:27:16 -0000 1.78
> +++ lisp/files.el 29 Aug 2007 09:02:03 -0000
> @@ -2809,8 +2809,8 @@
> (put 'save-buffer-coding-system 'permanent-local t)
>
> (defun files-fetch-hook-value (hook)
> - (let ((localval (symbol-value hook))
> - (globalval (default-value hook)))
> + (let ((localval (copy-list (symbol-value hook)))
> + (globalval (copy-list (default-value hook))))
> (if (memq t localval)
> (setq localval (append (delq t localval) (delq t globalval))))
> localval))
--
Adrian Aichner
mailto:adrian at xemacs.org
http://www.xemacs.org/
More information about the XEmacs-Patches
mailing list