X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/fdc9061358d3654e14bfc1419632e1d6c6c5c13e..9ed7c8cbcedaa50750bc1811bda2824e235787e8:/lisp/emacs-lisp/cust-print.el diff --git a/lisp/emacs-lisp/cust-print.el b/lisp/emacs-lisp/cust-print.el index fdfb4f1111..e7f9aae1c6 100644 --- a/lisp/emacs-lisp/cust-print.el +++ b/lisp/emacs-lisp/cust-print.el @@ -1,7 +1,6 @@ ;;; cust-print.el --- handles print-level and print-circle -;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc. ;; Author: Daniel LaLiberte ;; Adapted-By: ESR @@ -13,10 +12,10 @@ ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -24,9 +23,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -132,7 +129,7 @@ ;;This is defined by emacs.") (defcustom print-level nil - "*Controls how many levels deep a nested data object will print. + "Controls how many levels deep a nested data object will print. If nil, printing proceeds recursively and may lead to max-lisp-eval-depth being exceeded or an error may occur: @@ -148,7 +145,7 @@ level 1." (defcustom print-circle nil - "*Controls the printing of recursive structures. + "Controls the printing of recursive structures. If nil, printing proceeds recursively and may lead to `max-lisp-eval-depth' being exceeded or an error may occur: @@ -167,11 +164,7 @@ but if you need to do so, try the cl-read.el package." (defcustom custom-print-vectors nil - "*Non-nil if printing of vectors should obey print-level and print-length. - -For Emacs 18, setting print-level, or adding custom print list or -vector handling will make this happen anyway. Emacs 19 obeys -print-level, but not for vectors." + "Non-nil if printing of vectors should obey `print-level' and `print-length'." :type 'boolean :group 'cust-print) @@ -338,15 +331,13 @@ This is the custom-print replacement for the standard `prin1-to-string'." (let ((buf (get-buffer-create " *custom-print-temp*"))) ;; We must erase the buffer before printing in case an error ;; occurred during the last prin1-to-string and we are in debugger. - (save-excursion - (set-buffer buf) + (with-current-buffer buf (erase-buffer)) ;; We must be in the current-buffer when the print occurs. (if noescape (custom-princ object buf) (custom-prin1 object buf)) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (buffer-string) ;; We could erase the buffer again, but why bother? ))) @@ -689,5 +680,4 @@ See `custom-format' for the details." (provide 'cust-print) -;;; arch-tag: 3a5a8650-622c-48c4-87d8-e01bf72ec580 ;;; cust-print.el ends here