X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e5e76c04310d287a56675876dd83e1089faba215..ef1a3179f0aca460c848857bb4d8a64a15ee44c7:/lisp/savehist.el diff --git a/lisp/savehist.el b/lisp/savehist.el index 705be69088..c1c9a3db8f 100644 --- a/lisp/savehist.el +++ b/lisp/savehist.el @@ -1,6 +1,6 @@ ;;; savehist.el --- Save minibuffer history. -;; Copyright (C) 1997, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 1997, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Hrvoje Niksic ;; Keywords: minibuffer @@ -8,10 +8,10 @@ ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,9 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -147,12 +145,12 @@ save." ;; This should be capable of representing characters used by Emacs. ;; We prefer UTF-8 over ISO 2022 because it is well-known outside -;; Mule. XEmacs prir to 21.5 had UTF-8 provided by an external +;; Mule. XEmacs prior to 21.5 had UTF-8 provided by an external ;; package which may not be loaded, which is why we check for version. (defvar savehist-coding-system (if (and (featurep 'xemacs) (<= emacs-major-version 21) (< emacs-minor-version 5)) - 'iso-2022-8 'utf-8) + 'iso-2022-8 'utf-8-unix) "The coding system savehist uses for saving the minibuffer history. Changing this value while Emacs is running is supported, but considered unwise, unless you know what you are doing.") @@ -228,13 +226,10 @@ which is probably undesirable." (add-minor-mode 'savehist-mode "") (defun savehist-load () - "Obsolete function provided for transition from old versions of savehist. -Don't call this from new code, use (savehist-mode 1) instead. - -This function loads the variables stored in `savehist-file' and turns on -`savehist-mode'. If `savehist-file' is in the old format that doesn't -record the value of `savehist-minibuffer-history-variables', that value -is deducted from the contents of the file." + "Load the variables stored in `savehist-file' and turn on `savehist-mode'. +If `savehist-file' is in the old format that doesn't record +the value of `savehist-minibuffer-history-variables', that +value is deducted from the contents of the file." (savehist-mode 1) ;; Old versions of savehist distributed with XEmacs didn't save ;; savehist-minibuffer-history-variables. If that variable is nil @@ -251,7 +246,7 @@ is deducted from the contents of the file." ;; Collect VAR, i.e. (nth form 1). (push (nth 1 form) vars)) vars))))) -(make-obsolete 'savehist-load 'savehist-mode) +(make-obsolete 'savehist-load 'savehist-mode "22.1") (defun savehist-install () "Hook savehist into Emacs. @@ -323,14 +318,15 @@ If AUTO-SAVE is non-nil, compare the saved contents to the one last saved, (dolist (elt value) (let ((start (point))) (insert " ") - (prin1 elt (current-buffer)) - ;; Try to read the element we just printed. + ;; Try to print and then to read an element. (condition-case nil - (save-excursion - (goto-char start) - (read (current-buffer))) + (progn + (prin1 elt (current-buffer)) + (save-excursion + (goto-char start) + (read (current-buffer)))) (error - ;; If reading it gets an error, comment it out. + ;; If writing or reading gave an error, comment it out. (goto-char start) (insert "\n") (while (not (eobp))