From: Kenichi Handa Date: Wed, 13 Nov 2002 07:06:07 +0000 (+0000) Subject: (occur-engine): Set buffer-file-coding-system of X-Git-Tag: ttn-vms-21-2-B4~12495 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5cb4031d8f4101d80e936a9a13839ea1820db938;p=emacs.git (occur-engine): Set buffer-file-coding-system of OUT-BUF to that of one of BUFFERS if they locally bind that variable. --- diff --git a/lisp/replace.el b/lisp/replace.el index 898fee41cd7..18817d39fc0 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -773,7 +773,8 @@ See also `multi-occur'." 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 @@ See also `multi-occur'." (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 @@ See also `multi-occur'." `(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)))