* lisp/bookmark.el (bookmark-write-file): Bind print-circle' to t'

here to allow circular custom bookmark types.  (Bug#12503)
This commit is contained in:
Karl Fogel 2012-09-30 22:44:59 -05:00
parent 9267dbfd62
commit e4c4abdd81
2 changed files with 8 additions and 1 deletions

View file

@ -2,6 +2,8 @@
* bookmark.el (bookmark-version-control): Give tags in the
:type choices (Bug#12309), and improve doc string.
(bookmark-write-file): Bind `print-circle' to `t' to allow
circular custom bookmark types. (Bug#12503)
2012-10-01 Paul Eggert <eggert@cs.ucla.edu>

View file

@ -1359,7 +1359,12 @@ for a file, defaulting to the file defined by variable
(goto-char (point-min))
(delete-region (point-min) (point-max))
(let ((print-length nil)
(print-level nil))
(print-level nil)
;; See bug #12503 for why we bind `print-circle'. Users
;; can define their own bookmark types, which can result in
;; arbitrary Lisp objects being stored in bookmark records,
;; and some users create objects containing circularities.
(print-circle t))
(bookmark-insert-file-format-version-stamp)
(insert "(")
;; Rather than a single call to `pp' we make one per bookmark.