Mercurial > emacs
changeset 48276:3a5bc7e171a5
(occur-engine): Set buffer-file-coding-system of
OUT-BUF to that of one of BUFFERS if they locally bind that
variable.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 13 Nov 2002 07:06:07 +0000 |
parents | 481dbc5a687e |
children | a2b3ad4f6870 |
files | lisp/replace.el |
diffstat | 1 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/replace.el Wed Nov 13 07:05:47 2002 +0000 +++ b/lisp/replace.el Wed Nov 13 07:06:07 2002 +0000 @@ -773,7 +773,8 @@ title-face prefix-face match-face keep-props) (with-current-buffer out-buf (setq buffer-read-only nil) - (let ((globalcount 0)) + (let ((globalcount 0) + (coding nil)) ;; Map over all the buffers (dolist (buf buffers) (when (buffer-live-p buf) @@ -789,6 +790,11 @@ (headerpt (with-current-buffer out-buf (point)))) (save-excursion (set-buffer buf) + (or coding + ;; Set CODING only if the current buffer locally + ;; binds buffer-file-coding-system. + (not (local-variable-p 'buffer-file-coding-system)) + (setq coding buffer-file-coding-system)) (save-excursion (goto-char (point-min)) ;; begin searching in the buffer (while (not (eobp)) @@ -878,6 +884,11 @@ `(font-lock-face ,title-face)) `(occur-title ,buf)))) (goto-char (point-min))))))) + (if coding + ;; CODING is buffer-file-coding-system of the first buffer + ;; that locally binds it. Let's use it also for the output + ;; buffer. + (set-buffer-file-coding-system coding)) ;; Return the number of matches globalcount)))