+2009-09-20 Thierry Volpiatto <thierry.volpiatto@gmail.com>
+
+ * bookmark.el (bookmark-write-file): Avoid calling `pp' with large
+ list, to workaround performance problem (bug#4485).
+
2009-09-20 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gud.el (gud-sentinel): Revert indavertant change.
2009-09-19 Chong Yidong <cyd@stupidchicken.com>
- * emacs-lisp/advice.el (ad-get-argument, ad-set-argument): Doc
- fix (Bug#3932).
+ * emacs-lisp/advice.el (ad-get-argument, ad-set-argument):
+ Doc fix (Bug#3932).
* subr.el (baud-rate): Remove long-obsolete function (Bug#4372).
(time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy)
(time-stamp-dd-mon-yy, time-stamp-yy/mm/dd)
(time-stamp-yyyy/mm/dd, time-stamp-yyyy-mm-dd)
- (time-stamp-yymmdd, time-stamp-hh:mm:ss, time-stamp-hhmm): Remove
- functions that have been obsolete since 1995 (Bug#4436).
+ (time-stamp-yymmdd, time-stamp-hh:mm:ss, time-stamp-hhmm):
+ Remove functions that have been obsolete since 1995 (Bug#4436).
* progmodes/sh-script.el (sh-learn-buffer-indent): Pop to the
indent buffer only if called interactively (Bug#4452).
(let ((print-length nil)
(print-level nil))
(bookmark-insert-file-format-version-stamp)
- (pp bookmark-alist (current-buffer))
+ (insert "(")
+ ;; Rather than a single call to `pp' we make one per bookmark.
+ ;; Apparently `pp' has a poor algorithmic complexity, so this
+ ;; scales a lot better. bug#4485.
+ (dolist (i bookmark-alist) (pp i (current-buffer)))
+ (insert ")")
(let ((version-control
(cond
((null bookmark-version-control) nil)