comparison lisp/saveplace.el @ 86985:783469dd1f73

* lisp/saveplace.el (save-place-alist-to-file): Use `utf-8' coding system when writing, and set it in the first-line file variables. Based on a patch by David Reitter <dreitter{_AT_}inf.ed.ac.uk> and a suggestion by Juanma Barranquero.
author Karl Fogel <kfogel@red-bean.com>
date Sun, 02 Dec 2007 21:15:22 +0000
parents 1cd90460f988
children a66a6a9bd1aa
comparison
equal deleted inserted replaced
86984:8912b1520b33 86985:783469dd1f73
215 (message "Saving places to %s..." file)) 215 (message "Saving places to %s..." file))
216 (set-buffer (get-buffer-create " *Saved Places*")) 216 (set-buffer (get-buffer-create " *Saved Places*"))
217 (delete-region (point-min) (point-max)) 217 (delete-region (point-min) (point-max))
218 (when save-place-forget-unreadable-files 218 (when save-place-forget-unreadable-files
219 (save-place-forget-unreadable-files)) 219 (save-place-forget-unreadable-files))
220 (insert ";;; -*- coding: utf-8 -*-\n")
220 (let ((print-length nil) 221 (let ((print-length nil)
221 (print-level nil)) 222 (print-level nil))
222 (print save-place-alist (current-buffer))) 223 (print save-place-alist (current-buffer)))
223 (let ((version-control 224 (let ((version-control
224 (cond 225 (cond
227 ((eq 'nospecial save-place-version-control) version-control) 228 ((eq 'nospecial save-place-version-control) version-control)
228 (t 229 (t
229 t)))) 230 t))))
230 (condition-case nil 231 (condition-case nil
231 ;; Don't use write-file; we don't want this buffer to visit it. 232 ;; Don't use write-file; we don't want this buffer to visit it.
232 (write-region (point-min) (point-max) file) 233 (let ((coding-system-for-write 'utf-8))
234 (write-region (point-min) (point-max) file))
233 (file-error (message "Can't write %s" file))) 235 (file-error (message "Can't write %s" file)))
234 (kill-buffer (current-buffer)) 236 (kill-buffer (current-buffer))
235 (unless save-place-quiet 237 (unless save-place-quiet
236 (message "Saving places to %s...done" file)))))) 238 (message "Saving places to %s...done" file))))))
237 239