Subject: 23.1.96; savehist-printable for hash tables
From: "Drew Adams" <[email-masked]>
To: <[email-masked]>
Date: Fri, 23 Apr 2010 10:49:22 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

IIUC, starting with Emacs 23.2, we can prin1 and read hash tables. If
that's correct, then `savehist-printable' could presumably be updated to
add this sexp to the cond: (hash-table-p value). IOW:
 
(defun savehist-printable (value)
  "Return non-nil if VALUE is printable."
  (cond
   ((stringp value))
   ((numberp value))
   ((symbolp value))
   ((hash-table-p value))
   (t
    (with-temp-buffer
      (condition-case nil
   (let ((print-readably t) (print-level nil))
   (prin1 value (current-buffer))
   (read (point-min-marker))
   t)
 (error nil))))))

In GNU Emacs 23.1.96.1 (i386-mingw-nt5.1.2600)
 of 2010-04-20 on G41R2F1
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/xpm/include'