[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/savehist.el,v [EMACS_22_BASE]
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/savehist.el,v [EMACS_22_BASE] |
Date: |
Wed, 24 Oct 2007 08:14:11 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Branch: EMACS_22_BASE
Changes by: Richard M. Stallman <rms> 07/10/24 08:14:11
Index: savehist.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/savehist.el,v
retrieving revision 1.19.2.1
retrieving revision 1.19.2.2
diff -u -b -r1.19.2.1 -r1.19.2.2
--- savehist.el 25 Jul 2007 04:47:04 -0000 1.19.2.1
+++ savehist.el 24 Oct 2007 08:14:11 -0000 1.19.2.2
@@ -309,10 +309,40 @@
(insert ?\n)
(dolist (symbol savehist-minibuffer-history-variables)
(when (boundp symbol)
- (let ((value (savehist-trim-history (symbol-value symbol))))
- (when value ; don't save empty histories
- (prin1 `(setq ,symbol ',value) (current-buffer))
- (insert ?\n))))))
+ (let ((value (savehist-trim-history (symbol-value symbol)))
+ excess-space)
+ (when value ; Don't save empty histories.
+ (insert "(setq ")
+ (prin1 symbol (current-buffer))
+ (insert " '(")
+ ;; We will print an extra space before the first element.
+ ;; Record where that is.
+ (setq excess-space (point))
+ ;; Print elements of VALUE one by one, carefully.
+ (dolist (elt value)
+ (let ((start (point)))
+ (insert " ")
+ (prin1 elt (current-buffer))
+ ;; Try to read the element we just printed.
+ (condition-case nil
+ (save-excursion
+ (goto-char start)
+ (read (current-buffer)))
+ (error
+ ;; If reading it gets an error, comment it out.
+ (goto-char start)
+ (insert "\n")
+ (while (not (eobp))
+ (insert ";;; ")
+ (forward-line 1))
+ (insert "\n")))
+ (goto-char (point-max))))
+ ;; Delete the extra space before the first element.
+ (save-excursion
+ (goto-char excess-space)
+ (if (eq (following-char) ?\s)
+ (delete-region (point) (1+ (point)))))
+ (insert "))\n"))))))
;; Save the additional variables.
(dolist (symbol savehist-additional-variables)
(when (boundp symbol)
- [Emacs-diffs] Changes to emacs/lisp/savehist.el,v [EMACS_22_BASE],
Richard M. Stallman <=