savehist-minibuffer-history-variables sometimes contains buffer objects, which are a bit hard to prin1 ;-)

Robert

2007-08-30  Robert Pluim  <rpluim@gmail.com>

    * savehist.el (savehist-save): don't try to print unprintable values


diff -u c:\Program Files\XEmacs\xemacs-packages\lisp\edit-utils\savehist.el.~1~ c:\Program Files\XEmacs\xemacs-packages\lisp\edit-utils\savehist.el
--- c:\Program Files\XEmacs\xemacs-packages\lisp\edit-utils\savehist.el.~1~    2007-08-30 10:19:43.187500000 +0200
+++ c:\Program Files\XEmacs\xemacs-packages\lisp\edit-utils\savehist.el    2007-08-30 10:19:43.187500000 +0200
@@ -306,9 +306,10 @@
     (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))))))
+          (and value        ; don't save empty histories
+                   (savehist-printable value)
+                   (prin1 `(setq ,symbol ',value) (current-buffer))
+                   (insert ?\n))))))
       ;; Save the additional variables.
       (dolist (symbol savehist-additional-variables)
     (when (boundp symbol)