diff options
Diffstat (limited to 'src/print.c')
-rw-r--r-- | src/print.c | 76 |
1 files changed, 15 insertions, 61 deletions
diff --git a/src/print.c b/src/print.c index bb9dd7102aa..3afbd223a47 100644 --- a/src/print.c +++ b/src/print.c @@ -37,13 +37,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #include "termhooks.h" /* For struct terminal. */ #include "font.h" -Lisp_Object Vstandard_output, Qstandard_output; +Lisp_Object Qstandard_output; Lisp_Object Qtemp_buffer_setup_hook; /* These are used to print like we read. */ -Lisp_Object Vfloat_output_format, Qfloat_output_format; +Lisp_Object Qfloat_output_format; #include <math.h> @@ -78,49 +78,9 @@ EMACS_INT print_buffer_pos; /* Bytes stored in print_buffer. */ EMACS_INT print_buffer_pos_byte; -/* Maximum length of list to print in full; noninteger means - effectively infinity */ - -Lisp_Object Vprint_length; - -/* Maximum depth of list to print in full; noninteger means - effectively infinity. */ - -Lisp_Object Vprint_level; - -/* Nonzero means print newlines in strings as \n. */ - -int print_escape_newlines; - -/* Nonzero means to print single-byte non-ascii characters in strings as - octal escapes. */ - -int print_escape_nonascii; - -/* Nonzero means to print multibyte characters in strings as hex escapes. */ - -int print_escape_multibyte; - Lisp_Object Qprint_escape_newlines; Lisp_Object Qprint_escape_multibyte, Qprint_escape_nonascii; -/* Nonzero means print (quote foo) forms as 'foo, etc. */ - -int print_quoted; - -/* Non-nil means print #: before uninterned symbols. */ - -Lisp_Object Vprint_gensym; - -/* Non-nil means print recursive structures using #n= and #n# syntax. */ - -Lisp_Object Vprint_circle; - -/* Non-nil means keep continuous number for #n= and #n# syntax - between several print functions. */ - -Lisp_Object Vprint_continuous_numbering; - /* Vprint_number_table is a table, that keeps objects that are going to be printed, to allow use of #n= and #n# to express sharing. For any given object, the table can give the following values: @@ -130,8 +90,6 @@ Lisp_Object Vprint_continuous_numbering; print_number_index holds the largest N already used. N has to be striclty larger than 0 since we need to distinguish -N. */ int print_number_index; -Lisp_Object Vprint_number_table; - void print_interval (INTERVAL interval, Lisp_Object printcharfun); /* GDB resets this to zero on W32 to disable OutputDebugString calls. */ @@ -1336,10 +1294,6 @@ print_preprocess_string (INTERVAL interval, Lisp_Object arg) print_preprocess (interval->plist); } -/* A flag to control printing of `charset' text property. - The default value is Qdefault. */ -Lisp_Object Vprint_charset_text_property; - static void print_check_string_charset_prop (INTERVAL interval, Lisp_Object string); #define PRINT_STRING_NON_CHARSET_FOUND 1 @@ -2207,7 +2161,7 @@ syms_of_print (void) Qtemp_buffer_setup_hook = intern_c_string ("temp-buffer-setup-hook"); staticpro (&Qtemp_buffer_setup_hook); - DEFVAR_LISP ("standard-output", &Vstandard_output, + DEFVAR_LISP ("standard-output", Vstandard_output, doc: /* Output stream `print' uses by default for outputting a character. This may be any function of one argument. It may also be a buffer (output is inserted before point) @@ -2217,7 +2171,7 @@ or the symbol t (output appears in the echo area). */); Qstandard_output = intern_c_string ("standard-output"); staticpro (&Qstandard_output); - DEFVAR_LISP ("float-output-format", &Vfloat_output_format, + DEFVAR_LISP ("float-output-format", Vfloat_output_format, doc: /* The format descriptor string used to print floats. This is a %-spec like those accepted by `printf' in C, but with some restrictions. It must start with the two characters `%.'. @@ -2237,22 +2191,22 @@ that represents the number without losing information. */); Qfloat_output_format = intern_c_string ("float-output-format"); staticpro (&Qfloat_output_format); - DEFVAR_LISP ("print-length", &Vprint_length, + DEFVAR_LISP ("print-length", Vprint_length, doc: /* Maximum length of list to print before abbreviating. A value of nil means no limit. See also `eval-expression-print-length'. */); Vprint_length = Qnil; - DEFVAR_LISP ("print-level", &Vprint_level, + DEFVAR_LISP ("print-level", Vprint_level, doc: /* Maximum depth of list nesting to print before abbreviating. A value of nil means no limit. See also `eval-expression-print-level'. */); Vprint_level = Qnil; - DEFVAR_BOOL ("print-escape-newlines", &print_escape_newlines, + DEFVAR_BOOL ("print-escape-newlines", print_escape_newlines, doc: /* Non-nil means print newlines in strings as `\\n'. Also print formfeeds as `\\f'. */); print_escape_newlines = 0; - DEFVAR_BOOL ("print-escape-nonascii", &print_escape_nonascii, + DEFVAR_BOOL ("print-escape-nonascii", print_escape_nonascii, doc: /* Non-nil means print unibyte non-ASCII chars in strings as \\OOO. \(OOO is the octal representation of the character code.) Only single-byte characters are affected, and only in `prin1'. @@ -2260,18 +2214,18 @@ When the output goes in a multibyte buffer, this feature is enabled regardless of the value of the variable. */); print_escape_nonascii = 0; - DEFVAR_BOOL ("print-escape-multibyte", &print_escape_multibyte, + DEFVAR_BOOL ("print-escape-multibyte", print_escape_multibyte, doc: /* Non-nil means print multibyte characters in strings as \\xXXXX. \(XXXX is the hex representation of the character code.) This affects only `prin1'. */); print_escape_multibyte = 0; - DEFVAR_BOOL ("print-quoted", &print_quoted, + DEFVAR_BOOL ("print-quoted", print_quoted, doc: /* Non-nil means print quoted forms with reader syntax. I.e., (quote foo) prints as 'foo, (function foo) as #'foo. */); print_quoted = 0; - DEFVAR_LISP ("print-gensym", &Vprint_gensym, + DEFVAR_LISP ("print-gensym", Vprint_gensym, doc: /* Non-nil means print uninterned symbols so they will read as uninterned. I.e., the value of (make-symbol \"foobar\") prints as #:foobar. When the uninterned symbol appears within a recursive data structure, @@ -2280,7 +2234,7 @@ constructs as needed, so that multiple references to the same symbol are shared once again when the text is read back. */); Vprint_gensym = Qnil; - DEFVAR_LISP ("print-circle", &Vprint_circle, + DEFVAR_LISP ("print-circle", Vprint_circle, doc: /* *Non-nil means print recursive structures using #N= and #N# syntax. If nil, printing proceeds recursively and may lead to `max-lisp-eval-depth' being exceeded or an error may occur: @@ -2292,14 +2246,14 @@ representation) and `#N#' in place of each subsequent occurrence, where N is a positive decimal integer. */); Vprint_circle = Qnil; - DEFVAR_LISP ("print-continuous-numbering", &Vprint_continuous_numbering, + DEFVAR_LISP ("print-continuous-numbering", Vprint_continuous_numbering, doc: /* *Non-nil means number continuously across print calls. This affects the numbers printed for #N= labels and #M# references. See also `print-circle', `print-gensym', and `print-number-table'. This variable should not be set with `setq'; bind it with a `let' instead. */); Vprint_continuous_numbering = Qnil; - DEFVAR_LISP ("print-number-table", &Vprint_number_table, + DEFVAR_LISP ("print-number-table", Vprint_number_table, doc: /* A vector used internally to produce `#N=' labels and `#N#' references. The Lisp printer uses this vector to detect Lisp objects referenced more than once. @@ -2312,7 +2266,7 @@ the printing done so far has not found any shared structure or objects that need to be recorded in the table. */); Vprint_number_table = Qnil; - DEFVAR_LISP ("print-charset-text-property", &Vprint_charset_text_property, + DEFVAR_LISP ("print-charset-text-property", Vprint_charset_text_property, doc: /* A flag to control printing of `charset' text property on printing a string. The value must be nil, t, or `default'. |