From 8c1a1077c0f85d34684a8faa7cfd9e47bab3e610 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pavel=20Jan=C3=ADk?= Date: Sun, 21 Oct 2001 12:13:46 +0000 Subject: [PATCH] Change doc-string comments to `new style' [w/`doc:' keyword]. --- src/data.c | 596 ++++++++++++++++++++-------------------- src/fileio.c | 733 +++++++++++++++++++++++++------------------------ src/indent.c | 204 +++++++------- src/print.c | 327 +++++++++++----------- src/search.c | 369 ++++++++++++------------- src/sound.c | 36 +-- src/sunfns.c | 84 +++--- src/textprop.c | 298 ++++++++++---------- src/undo.c | 14 +- src/xselect.c | 168 ++++++------ 10 files changed, 1422 insertions(+), 1407 deletions(-) diff --git a/src/data.c b/src/data.c index a974d0631a..0564792cfb 100644 --- a/src/data.c +++ b/src/data.c @@ -177,8 +177,8 @@ sign_extend_lisp_int (num) /* Data type predicates */ DEFUN ("eq", Feq, Seq, 2, 2, 0, - "Return t if the two args are the same Lisp object.") - (obj1, obj2) + doc: /* Return t if the two args are the same Lisp object. */) + (obj1, obj2) Lisp_Object obj1, obj2; { if (EQ (obj1, obj2)) @@ -186,8 +186,9 @@ DEFUN ("eq", Feq, Seq, 2, 2, 0, return Qnil; } -DEFUN ("null", Fnull, Snull, 1, 1, 0, "Return t if OBJECT is nil.") - (object) +DEFUN ("null", Fnull, Snull, 1, 1, 0, + doc: /* Return t if OBJECT is nil. */) + (object) Lisp_Object object; { if (NILP (object)) @@ -196,10 +197,10 @@ DEFUN ("null", Fnull, Snull, 1, 1, 0, "Return t if OBJECT is nil.") } DEFUN ("type-of", Ftype_of, Stype_of, 1, 1, 0, - "Return a symbol representing the type of OBJECT.\n\ -The symbol returned names the object's basic type;\n\ -for example, (type-of 1) returns `integer'.") - (object) + doc: /* Return a symbol representing the type of OBJECT. +The symbol returned names the object's basic type; +for example, (type-of 1) returns `integer'. */) + (object) Lisp_Object object; { switch (XGCTYPE (object)) @@ -259,8 +260,9 @@ for example, (type-of 1) returns `integer'.") } } -DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "Return t if OBJECT is a cons cell.") - (object) +DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, + doc: /* Return t if OBJECT is a cons cell. */) + (object) Lisp_Object object; { if (CONSP (object)) @@ -269,8 +271,8 @@ DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "Return t if OBJECT is a cons cell.") } DEFUN ("atom", Fatom, Satom, 1, 1, 0, - "Return t if OBJECT is not a cons cell. This includes nil.") - (object) + doc: /* Return t if OBJECT is not a cons cell. This includes nil. */) + (object) Lisp_Object object; { if (CONSP (object)) @@ -279,8 +281,8 @@ DEFUN ("atom", Fatom, Satom, 1, 1, 0, } DEFUN ("listp", Flistp, Slistp, 1, 1, 0, - "Return t if OBJECT is a list. This includes nil.") - (object) + doc: /* Return t if OBJECT is a list. This includes nil. */) + (object) Lisp_Object object; { if (CONSP (object) || NILP (object)) @@ -289,8 +291,8 @@ DEFUN ("listp", Flistp, Slistp, 1, 1, 0, } DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, - "Return t if OBJECT is not a list. Lists include nil.") - (object) + doc: /* Return t if OBJECT is not a list. Lists include nil. */) + (object) Lisp_Object object; { if (CONSP (object) || NILP (object)) @@ -299,8 +301,8 @@ DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, } DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, - "Return t if OBJECT is a symbol.") - (object) + doc: /* Return t if OBJECT is a symbol. */) + (object) Lisp_Object object; { if (SYMBOLP (object)) @@ -311,10 +313,10 @@ DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, /* Define this in C to avoid unnecessarily consing up the symbol name. */ DEFUN ("keywordp", Fkeywordp, Skeywordp, 1, 1, 0, - "Return t if OBJECT is a keyword.\n\ -This means that it is a symbol with a print name beginning with `:'\n\ -interned in the initial obarray.") - (object) + doc: /* Return t if OBJECT is a keyword. +This means that it is a symbol with a print name beginning with `:' +interned in the initial obarray. */) + (object) Lisp_Object object; { if (SYMBOLP (object) @@ -325,8 +327,8 @@ interned in the initial obarray.") } DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, - "Return t if OBJECT is a vector.") - (object) + doc: /* Return t if OBJECT is a vector. */) + (object) Lisp_Object object; { if (VECTORP (object)) @@ -335,8 +337,8 @@ DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, } DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, - "Return t if OBJECT is a string.") - (object) + doc: /* Return t if OBJECT is a string. */) + (object) Lisp_Object object; { if (STRINGP (object)) @@ -345,8 +347,9 @@ DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, } DEFUN ("multibyte-string-p", Fmultibyte_string_p, Smultibyte_string_p, - 1, 1, 0, "Return t if OBJECT is a multibyte string.") - (object) + 1, 1, 0, + doc: /* Return t if OBJECT is a multibyte string. */) + (object) Lisp_Object object; { if (STRINGP (object) && STRING_MULTIBYTE (object)) @@ -355,8 +358,8 @@ DEFUN ("multibyte-string-p", Fmultibyte_string_p, Smultibyte_string_p, } DEFUN ("char-table-p", Fchar_table_p, Schar_table_p, 1, 1, 0, - "Return t if OBJECT is a char-table.") - (object) + doc: /* Return t if OBJECT is a char-table. */) + (object) Lisp_Object object; { if (CHAR_TABLE_P (object)) @@ -366,8 +369,8 @@ DEFUN ("char-table-p", Fchar_table_p, Schar_table_p, 1, 1, 0, DEFUN ("vector-or-char-table-p", Fvector_or_char_table_p, Svector_or_char_table_p, 1, 1, 0, - "Return t if OBJECT is a char-table or vector.") - (object) + doc: /* Return t if OBJECT is a char-table or vector. */) + (object) Lisp_Object object; { if (VECTORP (object) || CHAR_TABLE_P (object)) @@ -375,8 +378,9 @@ DEFUN ("vector-or-char-table-p", Fvector_or_char_table_p, return Qnil; } -DEFUN ("bool-vector-p", Fbool_vector_p, Sbool_vector_p, 1, 1, 0, "Return t if OBJECT is a bool-vector.") - (object) +DEFUN ("bool-vector-p", Fbool_vector_p, Sbool_vector_p, 1, 1, 0, + doc: /* Return t if OBJECT is a bool-vector. */) + (object) Lisp_Object object; { if (BOOL_VECTOR_P (object)) @@ -384,8 +388,9 @@ DEFUN ("bool-vector-p", Fbool_vector_p, Sbool_vector_p, 1, 1, 0, "Return t if OB return Qnil; } -DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "Return t if OBJECT is an array (string or vector).") - (object) +DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, + doc: /* Return t if OBJECT is an array (string or vector). */) + (object) Lisp_Object object; { if (VECTORP (object) || STRINGP (object) @@ -395,8 +400,8 @@ DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "Return t if OBJECT is an array (str } DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, - "Return t if OBJECT is a sequence (list or array).") - (object) + doc: /* Return t if OBJECT is a sequence (list or array). */) + (object) register Lisp_Object object; { if (CONSP (object) || NILP (object) || VECTORP (object) || STRINGP (object) @@ -405,8 +410,9 @@ DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, return Qnil; } -DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "Return t if OBJECT is an editor buffer.") - (object) +DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, + doc: /* Return t if OBJECT is an editor buffer. */) + (object) Lisp_Object object; { if (BUFFERP (object)) @@ -414,8 +420,9 @@ DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "Return t if OBJECT is an editor return Qnil; } -DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "Return t if OBJECT is a marker (editor pointer).") - (object) +DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, + doc: /* Return t if OBJECT is a marker (editor pointer). */) + (object) Lisp_Object object; { if (MARKERP (object)) @@ -423,8 +430,9 @@ DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "Return t if OBJECT is a marker ( return Qnil; } -DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "Return t if OBJECT is a built-in function.") - (object) +DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, + doc: /* Return t if OBJECT is a built-in function. */) + (object) Lisp_Object object; { if (SUBRP (object)) @@ -433,8 +441,9 @@ DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "Return t if OBJECT is a built-in funct } DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, - 1, 1, 0, "Return t if OBJECT is a byte-compiled function object.") - (object) + 1, 1, 0, + doc: /* Return t if OBJECT is a byte-compiled function object. */) + (object) Lisp_Object object; { if (COMPILEDP (object)) @@ -443,8 +452,8 @@ DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, } DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, - "Return t if OBJECT is a character (an integer) or a string.") - (object) + doc: /* Return t if OBJECT is a character (an integer) or a string. */) + (object) register Lisp_Object object; { if (INTEGERP (object) || STRINGP (object)) @@ -452,8 +461,9 @@ DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, return Qnil; } -DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "Return t if OBJECT is an integer.") - (object) +DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, + doc: /* Return t if OBJECT is an integer. */) + (object) Lisp_Object object; { if (INTEGERP (object)) @@ -462,8 +472,8 @@ DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "Return t if OBJECT is an inte } DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, 0, - "Return t if OBJECT is an integer or a marker (editor pointer).") - (object) + doc: /* Return t if OBJECT is an integer or a marker (editor pointer). */) + (object) register Lisp_Object object; { if (MARKERP (object) || INTEGERP (object)) @@ -472,8 +482,8 @@ DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, } DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, - "Return t if OBJECT is a nonnegative integer.") - (object) + doc: /* Return t if OBJECT is a nonnegative integer. */) + (object) Lisp_Object object; { if (NATNUMP (object)) @@ -482,8 +492,8 @@ DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, } DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, - "Return t if OBJECT is a number (floating point or integer).") - (object) + doc: /* Return t if OBJECT is a number (floating point or integer). */) + (object) Lisp_Object object; { if (NUMBERP (object)) @@ -494,8 +504,8 @@ DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, DEFUN ("number-or-marker-p", Fnumber_or_marker_p, Snumber_or_marker_p, 1, 1, 0, - "Return t if OBJECT is a number or a marker.") - (object) + doc: /* Return t if OBJECT is a number or a marker. */) + (object) Lisp_Object object; { if (NUMBERP (object) || MARKERP (object)) @@ -504,8 +514,8 @@ DEFUN ("number-or-marker-p", Fnumber_or_marker_p, } DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, - "Return t if OBJECT is a floating point number.") - (object) + doc: /* Return t if OBJECT is a floating point number. */) + (object) Lisp_Object object; { if (FLOATP (object)) @@ -517,9 +527,9 @@ DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, /* Extract and set components of lists */ DEFUN ("car", Fcar, Scar, 1, 1, 0, - "Return the car of LIST. If arg is nil, return nil.\n\ -Error if arg is not nil and not a cons cell. See also `car-safe'.") - (list) + doc: /* Return the car of LIST. If arg is nil, return nil. +Error if arg is not nil and not a cons cell. See also `car-safe'. */) + (list) register Lisp_Object list; { while (1) @@ -534,8 +544,8 @@ Error if arg is not nil and not a cons cell. See also `car-safe'.") } DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0, - "Return the car of OBJECT if it is a cons cell, or else nil.") - (object) + doc: /* Return the car of OBJECT if it is a cons cell, or else nil. */) + (object) Lisp_Object object; { if (CONSP (object)) @@ -545,10 +555,9 @@ DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0, } DEFUN ("cdr", Fcdr, Scdr, 1, 1, 0, - "Return the cdr of LIST. If arg is nil, return nil.\n\ -Error if arg is not nil and not a cons cell. See also `cdr-safe'.") - - (list) + doc: /* Return the cdr of LIST. If arg is nil, return nil. +Error if arg is not nil and not a cons cell. See also `cdr-safe'. */) + (list) register Lisp_Object list; { while (1) @@ -563,8 +572,8 @@ Error if arg is not nil and not a cons cell. See also `cdr-safe'.") } DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0, - "Return the cdr of OBJECT if it is a cons cell, or else nil.") - (object) + doc: /* Return the cdr of OBJECT if it is a cons cell, or else nil. */) + (object) Lisp_Object object; { if (CONSP (object)) @@ -574,8 +583,8 @@ DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0, } DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0, - "Set the car of CELL to be NEWCAR. Returns NEWCAR.") - (cell, newcar) + doc: /* Set the car of CELL to be NEWCAR. Returns NEWCAR. */) + (cell, newcar) register Lisp_Object cell, newcar; { if (!CONSP (cell)) @@ -587,8 +596,8 @@ DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0, } DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0, - "Set the cdr of CELL to be NEWCDR. Returns NEWCDR.") - (cell, newcdr) + doc: /* Set the cdr of CELL to be NEWCDR. Returns NEWCDR. */) + (cell, newcdr) register Lisp_Object cell, newcdr; { if (!CONSP (cell)) @@ -601,8 +610,9 @@ DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0, /* Extract and set components of symbols */ -DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, "Return t if SYMBOL's value is not void.") - (symbol) +DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, + doc: /* Return t if SYMBOL's value is not void. */) + (symbol) register Lisp_Object symbol; { Lisp_Object valcontents; @@ -617,16 +627,18 @@ DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, "Return t if SYMBOL's value is not v return (EQ (valcontents, Qunbound) ? Qnil : Qt); } -DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0, "Return t if SYMBOL's function definition is not void.") - (symbol) +DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0, + doc: /* Return t if SYMBOL's function definition is not void. */) + (symbol) register Lisp_Object symbol; { CHECK_SYMBOL (symbol, 0); return (EQ (XSYMBOL (symbol)->function, Qunbound) ? Qnil : Qt); } -DEFUN ("makunbound", Fmakunbound, Smakunbound, 1, 1, 0, "Make SYMBOL's value be void.") - (symbol) +DEFUN ("makunbound", Fmakunbound, Smakunbound, 1, 1, 0, + doc: /* Make SYMBOL's value be void. */) + (symbol) register Lisp_Object symbol; { CHECK_SYMBOL (symbol, 0); @@ -636,8 +648,9 @@ DEFUN ("makunbound", Fmakunbound, Smakunbound, 1, 1, 0, "Make SYMBOL's value be return symbol; } -DEFUN ("fmakunbound", Ffmakunbound, Sfmakunbound, 1, 1, 0, "Make SYMBOL's function definition be void.") - (symbol) +DEFUN ("fmakunbound", Ffmakunbound, Sfmakunbound, 1, 1, 0, + doc: /* Make SYMBOL's function definition be void. */) + (symbol) register Lisp_Object symbol; { CHECK_SYMBOL (symbol, 0); @@ -648,8 +661,8 @@ DEFUN ("fmakunbound", Ffmakunbound, Sfmakunbound, 1, 1, 0, "Make SYMBOL's functi } DEFUN ("symbol-function", Fsymbol_function, Ssymbol_function, 1, 1, 0, - "Return SYMBOL's function definition. Error if that is void.") - (symbol) + doc: /* Return SYMBOL's function definition. Error if that is void. */) + (symbol) register Lisp_Object symbol; { CHECK_SYMBOL (symbol, 0); @@ -658,16 +671,18 @@ DEFUN ("symbol-function", Fsymbol_function, Ssymbol_function, 1, 1, 0, return XSYMBOL (symbol)->function; } -DEFUN ("symbol-plist", Fsymbol_plist, Ssymbol_plist, 1, 1, 0, "Return SYMBOL's property list.") - (symbol) +DEFUN ("symbol-plist", Fsymbol_plist, Ssymbol_plist, 1, 1, 0, + doc: /* Return SYMBOL's property list. */) + (symbol) register Lisp_Object symbol; { CHECK_SYMBOL (symbol, 0); return XSYMBOL (symbol)->plist; } -DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0, "Return SYMBOL's name, a string.") - (symbol) +DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0, + doc: /* Return SYMBOL's name, a string. */) + (symbol) register Lisp_Object symbol; { register Lisp_Object name; @@ -678,8 +693,8 @@ DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0, "Return SYMBOL's name } DEFUN ("fset", Ffset, Sfset, 2, 2, 0, - "Set SYMBOL's function definition to DEFINITION, and return DEFINITION.") - (symbol, definition) + doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. */) + (symbol, definition) register Lisp_Object symbol, definition; { CHECK_SYMBOL (symbol, 0); @@ -699,9 +714,9 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0, } DEFUN ("defalias", Fdefalias, Sdefalias, 2, 2, 0, - "Set SYMBOL's function definition to DEFINITION, and return DEFINITION.\n\ -Associates the function with the current load file, if any.") - (symbol, definition) + doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. +Associates the function with the current load file, if any. */) + (symbol, definition) register Lisp_Object symbol, definition; { definition = Ffset (symbol, definition); @@ -710,8 +725,8 @@ Associates the function with the current load file, if any.") } DEFUN ("setplist", Fsetplist, Ssetplist, 2, 2, 0, - "Set SYMBOL's property list to NEWVAL, and return NEWVAL.") - (symbol, newplist) + doc: /* Set SYMBOL's property list to NEWVAL, and return NEWVAL. */) + (symbol, newplist) register Lisp_Object symbol, newplist; { CHECK_SYMBOL (symbol, 0); @@ -720,12 +735,12 @@ DEFUN ("setplist", Fsetplist, Ssetplist, 2, 2, 0, } DEFUN ("subr-arity", Fsubr_arity, Ssubr_arity, 1, 1, 0, - "Return minimum and maximum number of args allowed for SUBR.\n\ -SUBR must be a built-in function.\n\ -The returned value is a pair (MIN . MAX). MIN is the minimum number\n\ -of args. MAX is the maximum number or the symbol `many', for a\n\ -function with `&rest' args, or `unevalled' for a special form.") - (subr) + doc: /* Return minimum and maximum number of args allowed for SUBR. +SUBR must be a built-in function. +The returned value is a pair (MIN . MAX). MIN is the minimum number +of args. MAX is the maximum number or the symbol `many', for a +function with `&rest' args, or `unevalled' for a special form. */) + (subr) Lisp_Object subr; { short minargs, maxargs; @@ -742,10 +757,10 @@ function with `&rest' args, or `unevalled' for a special form.") } DEFUN ("subr-interactive-form", Fsubr_interactive_form, Ssubr_interactive_form, 1, 1, 0, - "Return the interactive form of SUBR or nil if none.\n\ -SUBR must be a built-in function. Value, if non-nil, is a list\n\ -\(interactive SPEC).") - (subr) + doc: /* Return the interactive form of SUBR or nil if none. +SUBR must be a built-in function. Value, if non-nil, is a list +\(interactive SPEC). */) + (subr) Lisp_Object subr; { if (!SUBRP (subr)) @@ -790,12 +805,12 @@ indirect_variable (symbol) DEFUN ("indirect-variable", Findirect_variable, Sindirect_variable, 1, 1, 0, - "Return the variable at the end of OBJECT's variable chain.\n\ -If OBJECT is a symbol, follow all variable indirections and return the final\n\ -variable. If OBJECT is not a symbol, just return it.\n\ -Signal a cyclic-variable-indirection error if there is a loop in the\n\ -variable chain of symbols.") - (object) + doc: /* Return the variable at the end of OBJECT's variable chain. +If OBJECT is a symbol, follow all variable indirections and return the final +variable. If OBJECT is not a symbol, just return it. +Signal a cyclic-variable-indirection error if there is a loop in the +variable chain of symbols. */) + (object) Lisp_Object object; { if (SYMBOLP (object)) @@ -1049,8 +1064,8 @@ find_symbol_value (symbol) } DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0, - "Return SYMBOL's value. Error if that is void.") - (symbol) + doc: /* Return SYMBOL's value. Error if that is void. */) + (symbol) Lisp_Object symbol; { Lisp_Object val; @@ -1063,8 +1078,8 @@ DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0, } DEFUN ("set", Fset, Sset, 2, 2, 0, - "Set SYMBOL's value to NEWVAL, and return NEWVAL.") - (symbol, newval) + doc: /* Set SYMBOL's value to NEWVAL, and return NEWVAL. */) + (symbol, newval) register Lisp_Object symbol, newval; { return set_internal (symbol, newval, current_buffer, 0); @@ -1294,10 +1309,10 @@ default_value (symbol) } DEFUN ("default-boundp", Fdefault_boundp, Sdefault_boundp, 1, 1, 0, - "Return t if SYMBOL has a non-void default value.\n\ -This is the value that is seen in buffers that do not have their own values\n\ -for this variable.") - (symbol) + doc: /* Return t if SYMBOL has a non-void default value. +This is the value that is seen in buffers that do not have their own values +for this variable. */) + (symbol) Lisp_Object symbol; { register Lisp_Object value; @@ -1307,11 +1322,11 @@ for this variable.") } DEFUN ("default-value", Fdefault_value, Sdefault_value, 1, 1, 0, - "Return SYMBOL's default value.\n\ -This is the value that is seen in buffers that do not have their own values\n\ -for this variable. The default value is meaningful for variables with\n\ -local bindings in certain buffers.") - (symbol) + doc: /* Return SYMBOL's default value. +This is the value that is seen in buffers that do not have their own values +for this variable. The default value is meaningful for variables with +local bindings in certain buffers. */) + (symbol) Lisp_Object symbol; { register Lisp_Object value; @@ -1323,10 +1338,10 @@ local bindings in certain buffers.") } DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0, - "Set SYMBOL's default value to VAL. SYMBOL and VAL are evaluated.\n\ -The default value is seen in buffers that do not have their own values\n\ -for this variable.") - (symbol, value) + doc: /* Set SYMBOL's default value to VAL. SYMBOL and VAL are evaluated. +The default value is seen in buffers that do not have their own values +for this variable. */) + (symbol, value) Lisp_Object symbol, value; { register Lisp_Object valcontents, current_alist_element, alist_element_buffer; @@ -1377,18 +1392,18 @@ for this variable.") } DEFUN ("setq-default", Fsetq_default, Ssetq_default, 2, UNEVALLED, 0, - "Set the default value of variable VAR to VALUE.\n\ -VAR, the variable name, is literal (not evaluated);\n\ -VALUE is an expression and it is evaluated.\n\ -The default value of a variable is seen in buffers\n\ -that do not have their own values for the variable.\n\ -\n\ -More generally, you can use multiple variables and values, as in\n\ - (setq-default SYMBOL VALUE SYMBOL VALUE...)\n\ -This sets each SYMBOL's default value to the corresponding VALUE.\n\ -The VALUE for the Nth SYMBOL can refer to the new default values\n\ -of previous SYMs.") - (args) + doc: /* Set the default value of variable VAR to VALUE. +VAR, the variable name, is literal (not evaluated); +VALUE is an expression and it is evaluated. +The default value of a variable is seen in buffers +that do not have their own values for the variable. + +More generally, you can use multiple variables and values, as in + (setq-default SYMBOL VALUE SYMBOL VALUE...) +This sets each SYMBOL's default value to the corresponding VALUE. +The VALUE for the Nth SYMBOL can refer to the new default values +of previous SYMs. */) + (args) Lisp_Object args; { register Lisp_Object args_left; @@ -1417,17 +1432,17 @@ of previous SYMs.") /* Lisp functions for creating and removing buffer-local variables. */ DEFUN ("make-variable-buffer-local", Fmake_variable_buffer_local, Smake_variable_buffer_local, - 1, 1, "vMake Variable Buffer Local: ", - "Make VARIABLE become buffer-local whenever it is set.\n\ -At any time, the value for the current buffer is in effect,\n\ -unless the variable has never been set in this buffer,\n\ -in which case the default value is in effect.\n\ -Note that binding the variable with `let', or setting it while\n\ -a `let'-style binding made in this buffer is in effect,\n\ -does not make the variable buffer-local.\n\ -\n\ -The function `default-value' gets the default value and `set-default' sets it.") - (variable) + 1, 1, "vMake Variable Buffer Local: ", + doc: /* Make VARIABLE become buffer-local whenever it is set. +At any time, the value for the current buffer is in effect, +unless the variable has never been set in this buffer, +in which case the default value is in effect. +Note that binding the variable with `let', or setting it while +a `let'-style binding made in this buffer is in effect, +does not make the variable buffer-local. + +The function `default-value' gets the default value and `set-default' sets it. */) + (variable) register Lisp_Object variable; { register Lisp_Object tem, valcontents, newval; @@ -1463,24 +1478,24 @@ The function `default-value' gets the default value and `set-default' sets it.") } DEFUN ("make-local-variable", Fmake_local_variable, Smake_local_variable, - 1, 1, "vMake Local Variable: ", - "Make VARIABLE have a separate value in the current buffer.\n\ -Other buffers will continue to share a common default value.\n\ -\(The buffer-local value of VARIABLE starts out as the same value\n\ -VARIABLE previously had. If VARIABLE was void, it remains void.\)\n\ -See also `make-variable-buffer-local'.\n\ -\n\ -If the variable is already arranged to become local when set,\n\ -this function causes a local value to exist for this buffer,\n\ -just as setting the variable would do.\n\ -\n\ -This function returns VARIABLE, and therefore\n\ - (set (make-local-variable 'VARIABLE) VALUE-EXP)\n\ -works.\n\ -\n\ -Do not use `make-local-variable' to make a hook variable buffer-local.\n\ -Use `make-local-hook' instead.") - (variable) + 1, 1, "vMake Local Variable: ", + doc: /* Make VARIABLE have a separate value in the current buffer. +Other buffers will continue to share a common default value. +\(The buffer-local value of VARIABLE starts out as the same value +VARIABLE previously had. If VARIABLE was void, it remains void.\) +See also `make-variable-buffer-local'. + +If the variable is already arranged to become local when set, +this function causes a local value to exist for this buffer, +just as setting the variable would do. + +This function returns VARIABLE, and therefore + (set (make-local-variable 'VARIABLE) VALUE-EXP) +works. + +Do not use `make-local-variable' to make a hook variable buffer-local. +Use `make-local-hook' instead. */) + (variable) register Lisp_Object variable; { register Lisp_Object tem, valcontents; @@ -1556,10 +1571,10 @@ Use `make-local-hook' instead.") } DEFUN ("kill-local-variable", Fkill_local_variable, Skill_local_variable, - 1, 1, "vKill Local Variable: ", - "Make VARIABLE no longer have a separate value in the current buffer.\n\ -From now on the default value will apply in this buffer.") - (variable) + 1, 1, "vKill Local Variable: ", + doc: /* Make VARIABLE no longer have a separate value in the current buffer. +From now on the default value will apply in this buffer. */) + (variable) register Lisp_Object variable; { register Lisp_Object tem, valcontents; @@ -1614,15 +1629,15 @@ From now on the default value will apply in this buffer.") /* Lisp functions for creating and removing buffer-local variables. */ DEFUN ("make-variable-frame-local", Fmake_variable_frame_local, Smake_variable_frame_local, - 1, 1, "vMake Variable Frame Local: ", - "Enable VARIABLE to have frame-local bindings.\n\ -When a frame-local binding exists in the current frame,\n\ -it is in effect whenever the current buffer has no buffer-local binding.\n\ -A frame-local binding is actual a frame parameter value;\n\ -thus, any given frame has a local binding for VARIABLE\n\ -if it has a value for the frame parameter named VARIABLE.\n\ -See `modify-frame-parameters'.") - (variable) + 1, 1, "vMake Variable Frame Local: ", + doc: /* Enable VARIABLE to have frame-local bindings. +When a frame-local binding exists in the current frame, +it is in effect whenever the current buffer has no buffer-local binding. +A frame-local binding is actual a frame parameter value; +thus, any given frame has a local binding for VARIABLE +if it has a value for the frame parameter named VARIABLE. +See `modify-frame-parameters'. */) + (variable) register Lisp_Object variable; { register Lisp_Object tem, valcontents, newval; @@ -1659,10 +1674,10 @@ See `modify-frame-parameters'.") } DEFUN ("local-variable-p", Flocal_variable_p, Slocal_variable_p, - 1, 2, 0, - "Non-nil if VARIABLE has a local binding in buffer BUFFER.\n\ -BUFFER defaults to the current buffer.") - (variable, buffer) + 1, 2, 0, + doc: /* Non-nil if VARIABLE has a local binding in buffer BUFFER. +BUFFER defaults to the current buffer. */) + (variable, buffer) register Lisp_Object variable, buffer; { Lisp_Object valcontents; @@ -1703,10 +1718,10 @@ BUFFER defaults to the current buffer.") } DEFUN ("local-variable-if-set-p", Flocal_variable_if_set_p, Slocal_variable_if_set_p, - 1, 2, 0, - "Non-nil if VARIABLE will be local in buffer BUFFER if it is set there.\n\ -BUFFER defaults to the current buffer.") - (variable, buffer) + 1, 2, 0, + doc: /* Non-nil if VARIABLE will be local in buffer BUFFER if it is set there. +BUFFER defaults to the current buffer. */) + (variable, buffer) register Lisp_Object variable, buffer; { Lisp_Object valcontents; @@ -1779,15 +1794,15 @@ indirect_function (object) } DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 1, 0, - "Return the function at the end of OBJECT's function chain.\n\ -If OBJECT is a symbol, follow all function indirections and return the final\n\ -function binding.\n\ -If OBJECT is not a symbol, just return it.\n\ -Signal a void-function error if the final symbol is unbound.\n\ -Signal a cyclic-function-indirection error if there is a loop in the\n\ -function chain of symbols.") - (object) - register Lisp_Object object; + doc: /* Return the function at the end of OBJECT's function chain. +If OBJECT is a symbol, follow all function indirections and return the final +function binding. +If OBJECT is not a symbol, just return it. +Signal a void-function error if the final symbol is unbound. +Signal a cyclic-function-indirection error if there is a loop in the +function chain of symbols. */) + (object) + register Lisp_Object object; { Lisp_Object result; @@ -1801,10 +1816,10 @@ function chain of symbols.") /* Extract and set vector and string elements */ DEFUN ("aref", Faref, Saref, 2, 2, 0, - "Return the element of ARRAY at index IDX.\n\ -ARRAY may be a vector, a string, a char-table, a bool-vector,\n\ -or a byte-code object. IDX starts at 0.") - (array, idx) + doc: /* Return the element of ARRAY at index IDX. +ARRAY may be a vector, a string, a char-table, a bool-vector, +or a byte-code object. IDX starts at 0. */) + (array, idx) register Lisp_Object array; Lisp_Object idx; { @@ -1932,10 +1947,10 @@ or a byte-code object. IDX starts at 0.") #define MAX_ALLOCA 16*1024 DEFUN ("aset", Faset, Saset, 3, 3, 0, - "Store into the element of ARRAY at index IDX the value NEWELT.\n\ -ARRAY may be a vector, a string, a char-table or a bool-vector.\n\ -IDX starts at 0.") - (array, idx, newelt) + doc: /* Store into the element of ARRAY at index IDX the value NEWELT. +ARRAY may be a vector, a string, a char-table or a bool-vector. +IDX starts at 0. */) + (array, idx, newelt) register Lisp_Object array; Lisp_Object idx, newelt; { @@ -2152,57 +2167,58 @@ arithcompare (num1, num2, comparison) } DEFUN ("=", Feqlsign, Seqlsign, 2, 2, 0, - "Return t if two args, both numbers or markers, are equal.") - (num1, num2) + doc: /* Return t if two args, both numbers or markers, are equal. */) + (num1, num2) register Lisp_Object num1, num2; { return arithcompare (num1, num2, equal); } DEFUN ("<", Flss, Slss, 2, 2, 0, - "Return t if first arg is less than second arg. Both must be numbers or markers.") - (num1, num2) + doc: /* Return t if first arg is less than second arg. Both must be numbers or markers. */) + (num1, num2) register Lisp_Object num1, num2; { return arithcompare (num1, num2, less); } DEFUN (">", Fgtr, Sgtr, 2, 2, 0, - "Return t if first arg is greater than second arg. Both must be numbers or markers.") - (num1, num2) + doc: /* Return t if first arg is greater than second arg. Both must be numbers or markers. */) + (num1, num2) register Lisp_Object num1, num2; { return arithcompare (num1, num2, grtr); } DEFUN ("<=", Fleq, Sleq, 2, 2, 0, - "Return t if first arg is less than or equal to second arg.\n\ -Both must be numbers or markers.") - (num1, num2) + doc: /* Return t if first arg is less than or equal to second arg. +Both must be numbers or markers. */) + (num1, num2) register Lisp_Object num1, num2; { return arithcompare (num1, num2, less_or_equal); } DEFUN (">=", Fgeq, Sgeq, 2, 2, 0, - "Return t if first arg is greater than or equal to second arg.\n\ -Both must be numbers or markers.") - (num1, num2) + doc: /* Return t if first arg is greater than or equal to second arg. +Both must be numbers or markers. */) + (num1, num2) register Lisp_Object num1, num2; { return arithcompare (num1, num2, grtr_or_equal); } DEFUN ("/=", Fneq, Sneq, 2, 2, 0, - "Return t if first arg is not equal to second arg. Both must be numbers or markers.") - (num1, num2) + doc: /* Return t if first arg is not equal to second arg. Both must be numbers or markers. */) + (num1, num2) register Lisp_Object num1, num2; { return arithcompare (num1, num2, notequal); } -DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "Return t if NUMBER is zero.") - (number) +DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, + doc: /* Return t if NUMBER is zero. */) + (number) register Lisp_Object number; { CHECK_NUMBER_OR_FLOAT (number, 0); @@ -2249,10 +2265,10 @@ cons_to_long (c) } DEFUN ("number-to-string", Fnumber_to_string, Snumber_to_string, 1, 1, 0, - "Convert NUMBER to a string by printing it in decimal.\n\ -Uses a minus sign if negative.\n\ -NUMBER may be an integer or a floating point number.") - (number) + doc: /* Convert NUMBER to a string by printing it in decimal. +Uses a minus sign if negative. +NUMBER may be an integer or a floating point number. */) + (number) Lisp_Object number; { char buffer[VALBITS]; @@ -2298,14 +2314,14 @@ digit_to_number (character, base) } DEFUN ("string-to-number", Fstring_to_number, Sstring_to_number, 1, 2, 0, - "Convert STRING to a number by parsing it as a decimal number.\n\ -This parses both integers and floating point numbers.\n\ -It ignores leading spaces and tabs.\n\ -\n\ -If BASE, interpret STRING as a number in that base. If BASE isn't\n\ -present, base 10 is used. BASE must be between 2 and 16 (inclusive).\n\ -If the base used is not 10, floating point is not recognized.") - (string, base) + doc: /* Convert STRING to a number by parsing it as a decimal number. +This parses both integers and floating point numbers. +It ignores leading spaces and tabs. + +If BASE, interpret STRING as a number in that base. If BASE isn't +present, base 10 is used. BASE must be between 2 and 16 (inclusive). +If the base used is not 10, floating point is not recognized. */) + (string, base) register Lisp_Object string, base; { register unsigned char *p; @@ -2531,9 +2547,9 @@ float_arith_driver (accum, argnum, code, nargs, args) DEFUN ("+", Fplus, Splus, 0, MANY, 0, - "Return sum of any number of arguments, which are numbers or markers. -usage: (+ &rest NUMBERS-OR-MARKERS)") - (nargs, args) + doc: /* Return sum of any number of arguments, which are numbers or markers. +usage: (+ &rest NUMBERS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2541,11 +2557,11 @@ usage: (+ &rest NUMBERS-OR-MARKERS)") } DEFUN ("-", Fminus, Sminus, 0, MANY, 0, - "Negate number or subtract numbers or markers.\n\ -With one arg, negates it. With more than one arg,\n\ + doc: /* Negate number or subtract numbers or markers. +With one arg, negates it. With more than one arg, subtracts all but the first from the first. -usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS)") - (nargs, args) +usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2553,9 +2569,9 @@ usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS)") } DEFUN ("*", Ftimes, Stimes, 0, MANY, 0, - "Returns product of any number of arguments, which are numbers or markers. -usage: (* &rest NUMBERS-OR-MARKERS)") - (nargs, args) + doc: /* Returns product of any number of arguments, which are numbers or markers. +usage: (* &rest NUMBERS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2563,10 +2579,10 @@ usage: (* &rest NUMBERS-OR-MARKERS)") } DEFUN ("/", Fquo, Squo, 2, MANY, 0, - "Returns first argument divided by all the remaining arguments.\n\ + doc: /* Returns first argument divided by all the remaining arguments. The arguments must be numbers or markers. -usage: (/ DIVIDEND DIVISOR &rest DIVISORS)") - (nargs, args) +usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2574,9 +2590,9 @@ usage: (/ DIVIDEND DIVISOR &rest DIVISORS)") } DEFUN ("%", Frem, Srem, 2, 2, 0, - "Returns remainder of X divided by Y.\n\ -Both must be integers or markers.") - (x, y) + doc: /* Returns remainder of X divided by Y. +Both must be integers or markers. */) + (x, y) register Lisp_Object x, y; { Lisp_Object val; @@ -2615,10 +2631,10 @@ fmod (f1, f2) #endif /* ! HAVE_FMOD */ DEFUN ("mod", Fmod, Smod, 2, 2, 0, - "Returns X modulo Y.\n\ -The result falls between zero (inclusive) and Y (exclusive).\n\ -Both X and Y must be numbers or markers.") - (x, y) + doc: /* Returns X modulo Y. +The result falls between zero (inclusive) and Y (exclusive). +Both X and Y must be numbers or markers. */) + (x, y) register Lisp_Object x, y; { Lisp_Object val; @@ -2647,10 +2663,10 @@ Both X and Y must be numbers or markers.") } DEFUN ("max", Fmax, Smax, 1, MANY, 0, - "Return largest of all the arguments (which must be numbers or markers).\n\ + doc: /* Return largest of all the arguments (which must be numbers or markers). The value is always a number; markers are converted to numbers. -usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)") - (nargs, args) +usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2658,10 +2674,10 @@ usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)") } DEFUN ("min", Fmin, Smin, 1, MANY, 0, - "Return smallest of all the arguments (which must be numbers or markers).\n\ + doc: /* Return smallest of all the arguments (which must be numbers or markers). The value is always a number; markers are converted to numbers. -usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)") - (nargs, args) +usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2669,10 +2685,10 @@ usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)") } DEFUN ("logand", Flogand, Slogand, 0, MANY, 0, - "Return bitwise-and of all the arguments.\n\ + doc: /* Return bitwise-and of all the arguments. Arguments may be integers, or markers converted to integers. -usage: (logand &rest INTS-OR-MARKERS)") - (nargs, args) +usage: (logand &rest INTS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2680,10 +2696,10 @@ usage: (logand &rest INTS-OR-MARKERS)") } DEFUN ("logior", Flogior, Slogior, 0, MANY, 0, - "Return bitwise-or of all the arguments.\n\ + doc: /* Return bitwise-or of all the arguments. Arguments may be integers, or markers converted to integers. -usage: (logior &rest INTS-OR-MARKERS)") - (nargs, args) +usage: (logior &rest INTS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2691,10 +2707,10 @@ usage: (logior &rest INTS-OR-MARKERS)") } DEFUN ("logxor", Flogxor, Slogxor, 0, MANY, 0, - "Return bitwise-exclusive-or of all the arguments.\n\ + doc: /* Return bitwise-exclusive-or of all the arguments. Arguments may be integers, or markers converted to integers. -usage: (logxor &rest INTS-OR-MARKERS)") - (nargs, args) +usage: (logxor &rest INTS-OR-MARKERS) */) + (nargs, args) int nargs; Lisp_Object *args; { @@ -2702,10 +2718,10 @@ usage: (logxor &rest INTS-OR-MARKERS)") } DEFUN ("ash", Fash, Sash, 2, 2, 0, - "Return VALUE with its bits shifted left by COUNT.\n\ -If COUNT is negative, shifting is actually to the right.\n\ -In this case, the sign bit is duplicated.") - (value, count) + doc: /* Return VALUE with its bits shifted left by COUNT. +If COUNT is negative, shifting is actually to the right. +In this case, the sign bit is duplicated. */) + (value, count) register Lisp_Object value, count; { register Lisp_Object val; @@ -2725,10 +2741,10 @@ In this case, the sign bit is duplicated.") } DEFUN ("lsh", Flsh, Slsh, 2, 2, 0, - "Return VALUE with its bits shifted left by COUNT.\n\ -If COUNT is negative, shifting is actually to the right.\n\ -In this case, zeros are shifted in on the left.") - (value, count) + doc: /* Return VALUE with its bits shifted left by COUNT. +If COUNT is negative, shifting is actually to the right. +In this case, zeros are shifted in on the left. */) + (value, count) register Lisp_Object value, count; { register Lisp_Object val; @@ -2748,9 +2764,9 @@ In this case, zeros are shifted in on the left.") } DEFUN ("1+", Fadd1, Sadd1, 1, 1, 0, - "Return NUMBER plus one. NUMBER may be a number or a marker.\n\ -Markers are converted to integers.") - (number) + doc: /* Return NUMBER plus one. NUMBER may be a number or a marker. +Markers are converted to integers. */) + (number) register Lisp_Object number; { CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0); @@ -2763,9 +2779,9 @@ Markers are converted to integers.") } DEFUN ("1-", Fsub1, Ssub1, 1, 1, 0, - "Return NUMBER minus one. NUMBER may be a number or a marker.\n\ -Markers are converted to integers.") - (number) + doc: /* Return NUMBER minus one. NUMBER may be a number or a marker. +Markers are converted to integers. */) + (number) register Lisp_Object number; { CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0); @@ -2778,8 +2794,8 @@ Markers are converted to integers.") } DEFUN ("lognot", Flognot, Slognot, 1, 1, 0, - "Return the bitwise complement of NUMBER. NUMBER must be an integer.") - (number) + doc: /* Return the bitwise complement of NUMBER. NUMBER must be an integer. */) + (number) register Lisp_Object number; { CHECK_NUMBER (number, 0); @@ -3192,11 +3208,11 @@ syms_of_data () XSYMBOL (Qwholenump)->function = XSYMBOL (Qnatnump)->function; DEFVAR_INT ("most-positive-fixnum", &most_positive_fixnum, - "The largest value that is representable in a Lisp integer."); + doc: /* The largest value that is representable in a Lisp integer. */); most_positive_fixnum = MOST_POSITIVE_FIXNUM; DEFVAR_INT ("most-negative-fixnum", &most_negative_fixnum, - "The smallest value that is representable in a Lisp integer."); + doc: /* The smallest value that is representable in a Lisp integer. */); most_negative_fixnum = MOST_NEGATIVE_FIXNUM; } @@ -3239,5 +3255,3 @@ init_data () signal (SIGEMT, arith_error); #endif /* uts */ } - - diff --git a/src/fileio.c b/src/fileio.c index e7b9b0aa3d..e48dbe6572 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -323,16 +323,17 @@ Lisp_Object Qverify_visited_file_modtime; Lisp_Object Qset_visited_file_modtime; DEFUN ("find-file-name-handler", Ffind_file_name_handler, Sfind_file_name_handler, 2, 2, 0, - "Return FILENAME's handler function for OPERATION, if it has one.\n\ -Otherwise, return nil.\n\ -A file name is handled if one of the regular expressions in\n\ -`file-name-handler-alist' matches it.\n\n\ -If OPERATION equals `inhibit-file-name-operation', then we ignore\n\ -any handlers that are members of `inhibit-file-name-handlers',\n\ -but we still do run any other handlers. This lets handlers\n\ -use the standard functions without calling themselves recursively.") - (filename, operation) - Lisp_Object filename, operation; + doc: /* Return FILENAME's handler function for OPERATION, if it has one. +Otherwise, return nil. +A file name is handled if one of the regular expressions in +`file-name-handler-alist' matches it. + +If OPERATION equals `inhibit-file-name-operation', then we ignore +any handlers that are members of `inhibit-file-name-handlers', +but we still do run any other handlers. This lets handlers +use the standard functions without calling themselves recursively. */) + (filename, operation) + Lisp_Object filename, operation; { /* This function must not munge the match data. */ Lisp_Object chain, inhibited_handlers; @@ -370,13 +371,13 @@ use the standard functions without calling themselves recursively.") } DEFUN ("file-name-directory", Ffile_name_directory, Sfile_name_directory, - 1, 1, 0, - "Return the directory component in file name FILENAME.\n\ -Return nil if FILENAME does not include a directory.\n\ -Otherwise return a directory spec.\n\ -Given a Unix syntax file name, returns a string ending in slash;\n\ -on VMS, perhaps instead a string ending in `:', `]' or `>'.") - (filename) + 1, 1, 0, + doc: /* Return the directory component in file name FILENAME. +Return nil if FILENAME does not include a directory. +Otherwise return a directory spec. +Given a Unix syntax file name, returns a string ending in slash; +on VMS, perhaps instead a string ending in `:', `]' or `>'. */) + (filename) Lisp_Object filename; { register unsigned char *beg; @@ -448,11 +449,11 @@ on VMS, perhaps instead a string ending in `:', `]' or `>'.") DEFUN ("file-name-nondirectory", Ffile_name_nondirectory, Sfile_name_nondirectory, 1, 1, 0, - "Return file name FILENAME sans its directory.\n\ -For example, in a Unix-syntax file name,\n\ -this is everything after the last slash,\n\ -or the entire name if it contains no slash.") - (filename) + doc: /* Return file name FILENAME sans its directory. +For example, in a Unix-syntax file name, +this is everything after the last slash, +or the entire name if it contains no slash. */) + (filename) Lisp_Object filename; { register unsigned char *beg, *p, *end; @@ -489,15 +490,15 @@ or the entire name if it contains no slash.") DEFUN ("unhandled-file-name-directory", Funhandled_file_name_directory, Sunhandled_file_name_directory, 1, 1, 0, - "Return a directly usable directory name somehow associated with FILENAME.\n\ -A `directly usable' directory name is one that may be used without the\n\ -intervention of any file handler.\n\ -If FILENAME is a directly usable file itself, return\n\ -\(file-name-directory FILENAME).\n\ -The `call-process' and `start-process' functions use this function to\n\ -get a current directory to run processes in.") - (filename) - Lisp_Object filename; + doc: /* Return a directly usable directory name somehow associated with FILENAME. +A `directly usable' directory name is one that may be used without the +intervention of any file handler. +If FILENAME is a directly usable file itself, return +\(file-name-directory FILENAME). +The `call-process' and `start-process' functions use this function to +get a current directory to run processes in. */) + (filename) + Lisp_Object filename; { Lisp_Object handler; @@ -600,14 +601,14 @@ file_name_as_directory (out, in) DEFUN ("file-name-as-directory", Ffile_name_as_directory, Sfile_name_as_directory, 1, 1, 0, - "Return a string representing file FILENAME interpreted as a directory.\n\ -This operation exists because a directory is also a file, but its name as\n\ -a directory is different from its name as a file.\n\ -The result can be used as the value of `default-directory'\n\ -or passed as second argument to `expand-file-name'.\n\ -For a Unix-syntax file name, just appends a slash.\n\ -On VMS, converts \"[X]FOO.DIR\" to \"[X.FOO]\", etc.") - (file) + doc: /* Return a string representing file FILENAME interpreted as a directory. +This operation exists because a directory is also a file, but its name as +a directory is different from its name as a file. +The result can be used as the value of `default-directory' +or passed as second argument to `expand-file-name'. +For a Unix-syntax file name, just appends a slash. +On VMS, converts \"[X]FOO.DIR\" to \"[X.FOO]\", etc. */) + (file) Lisp_Object file; { char *buf; @@ -790,15 +791,15 @@ directory_file_name (src, dst) } DEFUN ("directory-file-name", Fdirectory_file_name, Sdirectory_file_name, - 1, 1, 0, - "Returns the file name of the directory named DIRECTORY.\n\ -This is the name of the file that holds the data for the directory DIRECTORY.\n\ -This operation exists because a directory is also a file, but its name as\n\ -a directory is different from its name as a file.\n\ -In Unix-syntax, this function just removes the final slash.\n\ -On VMS, given a VMS-syntax directory name such as \"[X.Y]\",\n\ -it returns a file name such as \"[X]Y.DIR.1\".") - (directory) + 1, 1, 0, + doc: /* Returns the file name of the directory named DIRECTORY. +This is the name of the file that holds the data for the directory DIRECTORY. +This operation exists because a directory is also a file, but its name as +a directory is different from its name as a file. +In Unix-syntax, this function just removes the final slash. +On VMS, given a VMS-syntax directory name such as \"[X.Y]\", +it returns a file name such as \"[X]Y.DIR.1\". */) + (directory) Lisp_Object directory; { char *buf; @@ -962,18 +963,18 @@ make_temp_name (prefix, base64_p) DEFUN ("make-temp-name", Fmake_temp_name, Smake_temp_name, 1, 1, 0, - "Generate temporary file name (string) starting with PREFIX (a string).\n\ -The Emacs process number forms part of the result,\n\ -so there is no danger of generating a name being used by another process.\n\ -\n\ -In addition, this function makes an attempt to choose a name\n\ -which has no existing file. To make this work,\n\ -PREFIX should be an absolute file name.\n\ -\n\ -There is a race condition between calling `make-temp-name' and creating the\n\ -file which opens all kinds of security holes. For that reason, you should\n\ -probably use `make-temp-file' instead.") - (prefix) + doc: /* Generate temporary file name (string) starting with PREFIX (a string). +The Emacs process number forms part of the result, +so there is no danger of generating a name being used by another process. + +In addition, this function makes an attempt to choose a name +which has no existing file. To make this work, +PREFIX should be an absolute file name. + +There is a race condition between calling `make-temp-name' and creating the +file which opens all kinds of security holes. For that reason, you should +probably use `make-temp-file' instead. */) + (prefix) Lisp_Object prefix; { return make_temp_name (prefix, 0); @@ -982,18 +983,18 @@ probably use `make-temp-file' instead.") DEFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0, - "Convert filename NAME to absolute, and canonicalize it.\n\ -Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative\n\ - (does not start with slash); if DEFAULT-DIRECTORY is nil or missing,\n\ -the current buffer's value of default-directory is used.\n\ -File name components that are `.' are removed, and \n\ -so are file name components followed by `..', along with the `..' itself;\n\ -note that these simplifications are done without checking the resulting\n\ -file names in the file system.\n\ -An initial `~/' expands to your home directory.\n\ -An initial `~USER/' expands to USER's home directory.\n\ -See also the function `substitute-in-file-name'.") - (name, default_directory) + doc: /* Convert filename NAME to absolute, and canonicalize it. +Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative + (does not start with slash); if DEFAULT-DIRECTORY is nil or missing, +the current buffer's value of default-directory is used. +File name components that are `.' are removed, and +so are file name components followed by `..', along with the `..' itself; +note that these simplifications are done without checking the resulting +file names in the file system. +An initial `~/' expands to your home directory. +An initial `~USER/' expands to USER's home directory. +See also the function `substitute-in-file-name'. */) + (name, default_directory) Lisp_Object name, default_directory; { unsigned char *nm; @@ -1971,16 +1972,17 @@ See also the function `substitute-in-file-name'.") #endif DEFUN ("substitute-in-file-name", Fsubstitute_in_file_name, - Ssubstitute_in_file_name, 1, 1, 0, - "Substitute environment variables referred to in FILENAME.\n\ -`$FOO' where FOO is an environment variable name means to substitute\n\ -the value of that variable. The variable name should be terminated\n\ -with a character not a letter, digit or underscore; otherwise, enclose\n\ -the entire variable name in braces.\n\ -If `/~' appears, all of FILENAME through that `/' is discarded.\n\n\ -On VMS, `$' substitution is not done; this function does little and only\n\ -duplicates what `expand-file-name' does.") - (filename) + Ssubstitute_in_file_name, 1, 1, 0, + doc: /* Substitute environment variables referred to in FILENAME. +`$FOO' where FOO is an environment variable name means to substitute +the value of that variable. The variable name should be terminated +with a character not a letter, digit or underscore; otherwise, enclose +the entire variable name in braces. +If `/~' appears, all of FILENAME through that `/' is discarded. + +On VMS, `$' substitution is not done; this function does little and only +duplicates what `expand-file-name' does. */) + (filename) Lisp_Object filename; { unsigned char *nm; @@ -2282,17 +2284,17 @@ barf_or_query_if_file_exists (absname, querystring, interactive, statptr, quick) } DEFUN ("copy-file", Fcopy_file, Scopy_file, 2, 4, - "fCopy file: \nFCopy %s to file: \np\nP", - "Copy FILE to NEWNAME. Both args must be strings.\n\ -If NEWNAME names a directory, copy FILE there.\n\ -Signals a `file-already-exists' error if file NEWNAME already exists,\n\ -unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil.\n\ -A number as third arg means request confirmation if NEWNAME already exists.\n\ -This is what happens in interactive use with M-x.\n\ -Fourth arg KEEP-TIME non-nil means give the new file the same\n\ -last-modified time as the old one. (This works on only some systems.)\n\ -A prefix arg makes KEEP-TIME non-nil.") - (file, newname, ok_if_already_exists, keep_time) + "fCopy file: \nFCopy %s to file: \np\nP", + doc: /* Copy FILE to NEWNAME. Both args must be strings. +If NEWNAME names a directory, copy FILE there. +Signals a `file-already-exists' error if file NEWNAME already exists, +unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil. +A number as third arg means request confirmation if NEWNAME already exists. +This is what happens in interactive use with M-x. +Fourth arg KEEP-TIME non-nil means give the new file the same +last-modified time as the old one. (This works on only some systems.) +A prefix arg makes KEEP-TIME non-nil. */) + (file, newname, ok_if_already_exists, keep_time) Lisp_Object file, newname, ok_if_already_exists, keep_time; { int ifd, ofd, n; @@ -2452,8 +2454,8 @@ A prefix arg makes KEEP-TIME non-nil.") DEFUN ("make-directory-internal", Fmake_directory_internal, Smake_directory_internal, 1, 1, 0, - "Create a new directory named DIRECTORY.") - (directory) + doc: /* Create a new directory named DIRECTORY. */) + (directory) Lisp_Object directory; { unsigned char *dir; @@ -2482,8 +2484,8 @@ DEFUN ("make-directory-internal", Fmake_directory_internal, } DEFUN ("delete-directory", Fdelete_directory, Sdelete_directory, 1, 1, "FDelete directory: ", - "Delete the directory named DIRECTORY.") - (directory) + doc: /* Delete the directory named DIRECTORY. */) + (directory) Lisp_Object directory; { unsigned char *dir; @@ -2508,9 +2510,9 @@ DEFUN ("delete-directory", Fdelete_directory, Sdelete_directory, 1, 1, "FDelete } DEFUN ("delete-file", Fdelete_file, Sdelete_file, 1, 1, "fDelete file: ", - "Delete file named FILENAME.\n\ -If file has multiple names, it continues to exist with the other names.") - (filename) + doc: /* Delete file named FILENAME. +If file has multiple names, it continues to exist with the other names. */) + (filename) Lisp_Object filename; { Lisp_Object handler; @@ -2548,14 +2550,14 @@ internal_delete_file (filename) } DEFUN ("rename-file", Frename_file, Srename_file, 2, 3, - "fRename file: \nFRename %s to file: \np", - "Rename FILE as NEWNAME. Both args strings.\n\ -If file has names other than FILE, it continues to have those names.\n\ -Signals a `file-already-exists' error if a file NEWNAME already exists\n\ -unless optional third argument OK-IF-ALREADY-EXISTS is non-nil.\n\ -A number as third arg means request confirmation if NEWNAME already exists.\n\ -This is what happens in interactive use with M-x.") - (file, newname, ok_if_already_exists) + "fRename file: \nFRename %s to file: \np", + doc: /* Rename FILE as NEWNAME. Both args strings. +If file has names other than FILE, it continues to have those names. +Signals a `file-already-exists' error if a file NEWNAME already exists +unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. +A number as third arg means request confirmation if NEWNAME already exists. +This is what happens in interactive use with M-x. */) + (file, newname, ok_if_already_exists) Lisp_Object file, newname, ok_if_already_exists; { #ifdef NO_ARG_ARRAY @@ -2625,13 +2627,13 @@ This is what happens in interactive use with M-x.") } DEFUN ("add-name-to-file", Fadd_name_to_file, Sadd_name_to_file, 2, 3, - "fAdd name to file: \nFName to add to %s: \np", - "Give FILE additional name NEWNAME. Both args strings.\n\ -Signals a `file-already-exists' error if a file NEWNAME already exists\n\ -unless optional third argument OK-IF-ALREADY-EXISTS is non-nil.\n\ -A number as third arg means request confirmation if NEWNAME already exists.\n\ -This is what happens in interactive use with M-x.") - (file, newname, ok_if_already_exists) + "fAdd name to file: \nFName to add to %s: \np", + doc: /* Give FILE additional name NEWNAME. Both args strings. +Signals a `file-already-exists' error if a file NEWNAME already exists +unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. +A number as third arg means request confirmation if NEWNAME already exists. +This is what happens in interactive use with M-x. */) + (file, newname, ok_if_already_exists) Lisp_Object file, newname, ok_if_already_exists; { #ifdef NO_ARG_ARRAY @@ -2688,13 +2690,13 @@ This is what happens in interactive use with M-x.") #ifdef S_IFLNK DEFUN ("make-symbolic-link", Fmake_symbolic_link, Smake_symbolic_link, 2, 3, - "FMake symbolic link to file: \nFMake symbolic link to file %s: \np", - "Make a symbolic link to FILENAME, named LINKNAME. Both args strings.\n\ -Signals a `file-already-exists' error if a file LINKNAME already exists\n\ -unless optional third argument OK-IF-ALREADY-EXISTS is non-nil.\n\ -A number as third arg means request confirmation if LINKNAME already exists.\n\ -This happens for interactive use with M-x.") - (filename, linkname, ok_if_already_exists) + "FMake symbolic link to file: \nFMake symbolic link to file %s: \np", + doc: /* Make a symbolic link to FILENAME, named LINKNAME. Both args strings. +Signals a `file-already-exists' error if a file LINKNAME already exists +unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. +A number as third arg means request confirmation if LINKNAME already exists. +This happens for interactive use with M-x. */) + (filename, linkname, ok_if_already_exists) Lisp_Object filename, linkname, ok_if_already_exists; { #ifdef NO_ARG_ARRAY @@ -2768,9 +2770,9 @@ This happens for interactive use with M-x.") DEFUN ("define-logical-name", Fdefine_logical_name, Sdefine_logical_name, 2, 2, "sDefine logical name: \nsDefine logical name %s as: ", - "Define the job-wide logical name NAME to have the value STRING.\n\ -If STRING is nil or a null string, the logical name NAME is deleted.") - (name, string) + doc: /* Define the job-wide logical name NAME to have the value STRING. +If STRING is nil or a null string, the logical name NAME is deleted. */) + (name, string) Lisp_Object name; Lisp_Object string; { @@ -2794,7 +2796,7 @@ If STRING is nil or a null string, the logical name NAME is deleted.") #ifdef HPUX_NET DEFUN ("sysnetunam", Fsysnetunam, Ssysnetunam, 2, 2, 0, - "Open a network connection to PATH using LOGIN as the login string.") + doc: /* Open a network connection to PATH using LOGIN as the login string. */) (path, login) Lisp_Object path, login; { @@ -2814,8 +2816,8 @@ DEFUN ("sysnetunam", Fsysnetunam, Ssysnetunam, 2, 2, 0, DEFUN ("file-name-absolute-p", Ffile_name_absolute_p, Sfile_name_absolute_p, 1, 1, 0, - "Return t if file FILENAME specifies an absolute file name.\n\ -On Unix, this is a name starting with a `/' or a `~'.") + doc: /* Return t if file FILENAME specifies an absolute file name. +On Unix, this is a name starting with a `/' or a `~'. */) (filename) Lisp_Object filename; { @@ -2899,9 +2901,9 @@ check_writable (filename) } DEFUN ("file-exists-p", Ffile_exists_p, Sfile_exists_p, 1, 1, 0, - "Return t if file FILENAME exists. (This does not mean you can read it.)\n\ -See also `file-readable-p' and `file-attributes'.") - (filename) + doc: /* Return t if file FILENAME exists. (This does not mean you can read it.) +See also `file-readable-p' and `file-attributes'. */) + (filename) Lisp_Object filename; { Lisp_Object absname; @@ -2923,11 +2925,10 @@ See also `file-readable-p' and `file-attributes'.") } DEFUN ("file-executable-p", Ffile_executable_p, Sfile_executable_p, 1, 1, 0, - "Return t if FILENAME can be executed by you.\n\ -For a directory, this means you can access files in that directory.") - (filename) - Lisp_Object filename; - + doc: /* Return t if FILENAME can be executed by you. +For a directory, this means you can access files in that directory. */) + (filename) + Lisp_Object filename; { Lisp_Object absname; Lisp_Object handler; @@ -2947,9 +2948,9 @@ For a directory, this means you can access files in that directory.") } DEFUN ("file-readable-p", Ffile_readable_p, Sfile_readable_p, 1, 1, 0, - "Return t if file FILENAME exists and you can read it.\n\ -See also `file-exists-p' and `file-attributes'.") - (filename) + doc: /* Return t if file FILENAME exists and you can read it. +See also `file-exists-p' and `file-attributes'. */) + (filename) Lisp_Object filename; { Lisp_Object absname; @@ -2998,8 +2999,8 @@ See also `file-exists-p' and `file-attributes'.") /* Having this before file-symlink-p mysteriously caused it to be forgotten on the RT/PC. */ DEFUN ("file-writable-p", Ffile_writable_p, Sfile_writable_p, 1, 1, 0, - "Return t if file FILENAME can be written or created by you.") - (filename) + doc: /* Return t if file FILENAME can be written or created by you. */) + (filename) Lisp_Object filename; { Lisp_Object absname, dir, encoded; @@ -3045,10 +3046,10 @@ DEFUN ("file-writable-p", Ffile_writable_p, Sfile_writable_p, 1, 1, 0, } DEFUN ("access-file", Faccess_file, Saccess_file, 2, 2, 0, - "Access file FILENAME, and get an error if that does not work.\n\ -The second argument STRING is used in the error message.\n\ -If there is no error, we return nil.") - (filename, string) + doc: /* Access file FILENAME, and get an error if that does not work. +The second argument STRING is used in the error message. +If there is no error, we return nil. */) + (filename, string) Lisp_Object filename, string; { Lisp_Object handler, encoded_filename; @@ -3074,10 +3075,10 @@ If there is no error, we return nil.") } DEFUN ("file-symlink-p", Ffile_symlink_p, Sfile_symlink_p, 1, 1, 0, - "Return non-nil if file FILENAME is the name of a symbolic link.\n\ -The value is the name of the file to which it is linked.\n\ -Otherwise returns nil.") - (filename) + doc: /* Return non-nil if file FILENAME is the name of a symbolic link. +The value is the name of the file to which it is linked. +Otherwise returns nil. */) + (filename) Lisp_Object filename; { #ifdef S_IFLNK @@ -3136,10 +3137,10 @@ Otherwise returns nil.") } DEFUN ("file-directory-p", Ffile_directory_p, Sfile_directory_p, 1, 1, 0, - "Return t if FILENAME names an existing directory.\n\ -Symbolic links to directories count as directories.\n\ -See `file-symlink-p' to distinguish symlinks.") - (filename) + doc: /* Return t if FILENAME names an existing directory. +Symbolic links to directories count as directories. +See `file-symlink-p' to distinguish symlinks. */) + (filename) Lisp_Object filename; { register Lisp_Object absname; @@ -3162,13 +3163,13 @@ See `file-symlink-p' to distinguish symlinks.") } DEFUN ("file-accessible-directory-p", Ffile_accessible_directory_p, Sfile_accessible_directory_p, 1, 1, 0, - "Return t if file FILENAME is the name of a directory as a file,\n\ -and files in that directory can be opened by you. In order to use a\n\ -directory as a buffer's current directory, this predicate must return true.\n\ -A directory name spec may be given instead; then the value is t\n\ -if the directory so specified exists and really is a readable and\n\ -searchable directory.") - (filename) + doc: /* Return t if file FILENAME is the name of a directory as a file, +and files in that directory can be opened by you. In order to use a +directory as a buffer's current directory, this predicate must return true. +A directory name spec may be given instead; then the value is t +if the directory so specified exists and really is a readable and +searchable directory. */) + (filename) Lisp_Object filename; { Lisp_Object handler; @@ -3195,9 +3196,9 @@ searchable directory.") } DEFUN ("file-regular-p", Ffile_regular_p, Sfile_regular_p, 1, 1, 0, - "Return t if file FILENAME is the name of a regular file.\n\ -This is the sort of file that holds an ordinary stream of data bytes.") - (filename) + doc: /* Return t if file FILENAME is the name of a regular file. +This is the sort of file that holds an ordinary stream of data bytes. */) + (filename) Lisp_Object filename; { register Lisp_Object absname; @@ -3236,8 +3237,8 @@ This is the sort of file that holds an ordinary stream of data bytes.") } DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, - "Return mode bits of file named FILENAME, as an integer.") - (filename) + doc: /* Return mode bits of file named FILENAME, as an integer. */) + (filename) Lisp_Object filename; { Lisp_Object absname; @@ -3265,8 +3266,8 @@ DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, } DEFUN ("set-file-modes", Fset_file_modes, Sset_file_modes, 2, 2, 0, - "Set mode bits of file named FILENAME to MODE (an integer).\n\ -Only the 12 low bits of MODE are used.") + doc: /* Set mode bits of file named FILENAME to MODE (an integer). +Only the 12 low bits of MODE are used. */) (filename, mode) Lisp_Object filename, mode; { @@ -3291,10 +3292,10 @@ Only the 12 low bits of MODE are used.") } DEFUN ("set-default-file-modes", Fset_default_file_modes, Sset_default_file_modes, 1, 1, 0, - "Set the file permission bits for newly created files.\n\ -The argument MODE should be an integer; only the low 9 bits are used.\n\ -This setting is inherited by subprocesses.") - (mode) + doc: /* Set the file permission bits for newly created files. +The argument MODE should be an integer; only the low 9 bits are used. +This setting is inherited by subprocesses. */) + (mode) Lisp_Object mode; { CHECK_NUMBER (mode, 0); @@ -3305,9 +3306,9 @@ This setting is inherited by subprocesses.") } DEFUN ("default-file-modes", Fdefault_file_modes, Sdefault_file_modes, 0, 0, 0, - "Return the default file protection for created files.\n\ -The value is an integer.") - () + doc: /* Return the default file protection for created files. +The value is an integer. */) + () { int realmask; Lisp_Object value; @@ -3326,8 +3327,8 @@ The value is an integer.") #ifdef unix DEFUN ("unix-sync", Funix_sync, Sunix_sync, 0, 0, "", - "Tell Unix to finish all pending disk updates.") - () + doc: /* Tell Unix to finish all pending disk updates. */) + () { sync (); return Qnil; @@ -3336,10 +3337,10 @@ DEFUN ("unix-sync", Funix_sync, Sunix_sync, 0, 0, "", #endif /* unix */ DEFUN ("file-newer-than-file-p", Ffile_newer_than_file_p, Sfile_newer_than_file_p, 2, 2, 0, - "Return t if file FILE1 is newer than file FILE2.\n\ -If FILE1 does not exist, the answer is nil;\n\ -otherwise, if FILE2 does not exist, the answer is t.") - (file1, file2) + doc: /* Return t if file FILE1 is newer than file FILE2. +If FILE1 does not exist, the answer is nil; +otherwise, if FILE2 does not exist, the answer is t. */) + (file1, file2) Lisp_Object file1, file2; { Lisp_Object absname1, absname2; @@ -3471,31 +3472,31 @@ read_non_regular_quit () DEFUN ("insert-file-contents", Finsert_file_contents, Sinsert_file_contents, - 1, 5, 0, - "Insert contents of file FILENAME after point.\n\ -Returns list of absolute file name and number of bytes inserted.\n\ -If second argument VISIT is non-nil, the buffer's visited filename\n\ -and last save file modtime are set, and it is marked unmodified.\n\ -If visiting and the file does not exist, visiting is completed\n\ -before the error is signaled.\n\ -The optional third and fourth arguments BEG and END\n\ -specify what portion of the file to insert.\n\ -These arguments count bytes in the file, not characters in the buffer.\n\ -If VISIT is non-nil, BEG and END must be nil.\n\ -\n\ -If optional fifth argument REPLACE is non-nil,\n\ -it means replace the current buffer contents (in the accessible portion)\n\ -with the file contents. This is better than simply deleting and inserting\n\ -the whole thing because (1) it preserves some marker positions\n\ -and (2) it puts less data in the undo list.\n\ -When REPLACE is non-nil, the value is the number of characters actually read,\n\ -which is often less than the number of characters to be read.\n\ -\n\ -This does code conversion according to the value of\n\ -`coding-system-for-read' or `file-coding-system-alist',\n\ -and sets the variable `last-coding-system-used' to the coding system\n\ -actually used.") - (filename, visit, beg, end, replace) + 1, 5, 0, + doc: /* Insert contents of file FILENAME after point. +Returns list of absolute file name and number of bytes inserted. +If second argument VISIT is non-nil, the buffer's visited filename +and last save file modtime are set, and it is marked unmodified. +If visiting and the file does not exist, visiting is completed +before the error is signaled. +The optional third and fourth arguments BEG and END +specify what portion of the file to insert. +These arguments count bytes in the file, not characters in the buffer. +If VISIT is non-nil, BEG and END must be nil. + +If optional fifth argument REPLACE is non-nil, +it means replace the current buffer contents (in the accessible portion) +with the file contents. This is better than simply deleting and inserting +the whole thing because (1) it preserves some marker positions +and (2) it puts less data in the undo list. +When REPLACE is non-nil, the value is the number of characters actually read, +which is often less than the number of characters to be read. + +This does code conversion according to the value of +`coding-system-for-read' or `file-coding-system-alist', +and sets the variable `last-coding-system-used' to the coding system +actually used. */) + (filename, visit, beg, end, replace) Lisp_Object filename, visit, beg, end, replace; { struct stat st; @@ -4523,38 +4524,37 @@ build_annotations_unwind (buf) } DEFUN ("write-region", Fwrite_region, Swrite_region, 3, 7, - "r\nFWrite region to file: \ni\ni\ni\np", - "Write current region into specified file.\n\ -When called from a program, takes three arguments:\n\ -START, END and FILENAME. START and END are buffer positions.\n\ -Optional fourth argument APPEND if non-nil means\n\ - append to existing file contents (if any). If it is an integer,\n\ - seek to that offset in the file before writing.\n\ -Optional fifth argument VISIT if t means\n\ - set the last-save-file-modtime of buffer to this file's modtime\n\ - and mark buffer not modified.\n\ -If VISIT is a string, it is a second file name;\n\ - the output goes to FILENAME, but the buffer is marked as visiting VISIT.\n\ - VISIT is also the file name to lock and unlock for clash detection.\n\ -If VISIT is neither t nor nil nor a string,\n\ - that means do not print the \"Wrote file\" message.\n\ -The optional sixth arg LOCKNAME, if non-nil, specifies the name to\n\ - use for locking and unlocking, overriding FILENAME and VISIT.\n\ -The optional seventh arg MUSTBENEW, if non-nil, insists on a check\n\ - for an existing file with the same name. If MUSTBENEW is `excl',\n\ - that means to get an error if the file already exists; never overwrite.\n\ - If MUSTBENEW is neither nil nor `excl', that means ask for\n\ - confirmation before overwriting, but do go ahead and overwrite the file\n\ - if the user confirms.\n\ -Kludgy feature: if START is a string, then that string is written\n\ -to the file, instead of any buffer contents, and END is ignored.\n\ -\n\ -This does code conversion according to the value of\n\ -`coding-system-for-write', `buffer-file-coding-system', or\n\ -`file-coding-system-alist', and sets the variable\n\ -`last-coding-system-used' to the coding system actually used.") - - (start, end, filename, append, visit, lockname, mustbenew) + "r\nFWrite region to file: \ni\ni\ni\np", + doc: /* Write current region into specified file. +When called from a program, takes three arguments: +START, END and FILENAME. START and END are buffer positions. +Optional fourth argument APPEND if non-nil means + append to existing file contents (if any). If it is an integer, + seek to that offset in the file before writing. +Optional fifth argument VISIT if t means + set the last-save-file-modtime of buffer to this file's modtime + and mark buffer not modified. +If VISIT is a string, it is a second file name; + the output goes to FILENAME, but the buffer is marked as visiting VISIT. + VISIT is also the file name to lock and unlock for clash detection. +If VISIT is neither t nor nil nor a string, + that means do not print the \"Wrote file\" message. +The optional sixth arg LOCKNAME, if non-nil, specifies the name to + use for locking and unlocking, overriding FILENAME and VISIT. +The optional seventh arg MUSTBENEW, if non-nil, insists on a check + for an existing file with the same name. If MUSTBENEW is `excl', + that means to get an error if the file already exists; never overwrite. + If MUSTBENEW is neither nil nor `excl', that means ask for + confirmation before overwriting, but do go ahead and overwrite the file + if the user confirms. +Kludgy feature: if START is a string, then that string is written +to the file, instead of any buffer contents, and END is ignored. + +This does code conversion according to the value of +`coding-system-for-write', `buffer-file-coding-system', or +`file-coding-system-alist', and sets the variable +`last-coding-system-used' to the coding system actually used. */) + (start, end, filename, append, visit, lockname, mustbenew) Lisp_Object start, end, filename, append, visit, lockname, mustbenew; { register int desc; @@ -5028,8 +5028,8 @@ This does code conversion according to the value of\n\ Lisp_Object merge (); DEFUN ("car-less-than-car", Fcar_less_than_car, Scar_less_than_car, 2, 2, 0, - "Return t if (car A) is numerically less than (car B).") - (a, b) + doc: /* Return t if (car A) is numerically less than (car B). */) + (a, b) Lisp_Object a, b; { return Flss (Fcar (a), Fcar (b)); @@ -5268,10 +5268,10 @@ e_write (desc, string, start, end, coding) } DEFUN ("verify-visited-file-modtime", Fverify_visited_file_modtime, - Sverify_visited_file_modtime, 1, 1, 0, - "Return t if last mod time of BUF's visited file matches what BUF records.\n\ -This means that the file has not been changed since it was visited or saved.") - (buf) + Sverify_visited_file_modtime, 1, 1, 0, + doc: /* Return t if last mod time of BUF's visited file matches what BUF records. +This means that the file has not been changed since it was visited or saved. */) + (buf) Lisp_Object buf; { struct buffer *b; @@ -5313,34 +5313,34 @@ This means that the file has not been changed since it was visited or saved.") } DEFUN ("clear-visited-file-modtime", Fclear_visited_file_modtime, - Sclear_visited_file_modtime, 0, 0, 0, - "Clear out records of last mod time of visited file.\n\ -Next attempt to save will certainly not complain of a discrepancy.") - () + Sclear_visited_file_modtime, 0, 0, 0, + doc: /* Clear out records of last mod time of visited file. +Next attempt to save will certainly not complain of a discrepancy. */) + () { current_buffer->modtime = 0; return Qnil; } DEFUN ("visited-file-modtime", Fvisited_file_modtime, - Svisited_file_modtime, 0, 0, 0, - "Return the current buffer's recorded visited file modification time.\n\ -The value is a list of the form (HIGH . LOW), like the time values\n\ -that `file-attributes' returns.") - () + Svisited_file_modtime, 0, 0, 0, + doc: /* Return the current buffer's recorded visited file modification time. +The value is a list of the form (HIGH . LOW), like the time values +that `file-attributes' returns. */) + () { return long_to_cons ((unsigned long) current_buffer->modtime); } DEFUN ("set-visited-file-modtime", Fset_visited_file_modtime, - Sset_visited_file_modtime, 0, 1, 0, - "Update buffer's recorded modification time from the visited file's time.\n\ -Useful if the buffer was not read from the file normally\n\ -or if the file itself has been changed for some known benign reason.\n\ -An argument specifies the modification time value to use\n\ -\(instead of that of the visited file), in the form of a list\n\ -\(HIGH . LOW) or (HIGH LOW).") - (time_list) + Sset_visited_file_modtime, 0, 1, 0, + doc: /* Update buffer's recorded modification time from the visited file's time. +Useful if the buffer was not read from the file normally +or if the file itself has been changed for some known benign reason. +An argument specifies the modification time value to use +\(instead of that of the visited file), in the form of a list +\(HIGH . LOW) or (HIGH LOW). */) + (time_list) Lisp_Object time_list; { if (!NILP (time_list)) @@ -5439,16 +5439,17 @@ do_auto_save_unwind_1 (value) /* used as unwind-protect function */ } DEFUN ("do-auto-save", Fdo_auto_save, Sdo_auto_save, 0, 2, "", - "Auto-save all buffers that need it.\n\ -This is all buffers that have auto-saving enabled\n\ -and are changed since last auto-saved.\n\ -Auto-saving writes the buffer into a file\n\ -so that your editing is not lost if the system crashes.\n\ -This file is not the file you visited; that changes only when you save.\n\ -Normally we run the normal hook `auto-save-hook' before saving.\n\n\ -A non-nil NO-MESSAGE argument means do not print any message if successful.\n\ -A non-nil CURRENT-ONLY argument means save only current buffer.") - (no_message, current_only) + doc: /* Auto-save all buffers that need it. +This is all buffers that have auto-saving enabled +and are changed since last auto-saved. +Auto-saving writes the buffer into a file +so that your editing is not lost if the system crashes. +This file is not the file you visited; that changes only when you save. +Normally we run the normal hook `auto-save-hook' before saving. + +A non-nil NO-MESSAGE argument means do not print any message if successful. +A non-nil CURRENT-ONLY argument means save only current buffer. */) + (no_message, current_only) Lisp_Object no_message, current_only; { struct buffer *old = current_buffer, *b; @@ -5634,10 +5635,10 @@ A non-nil CURRENT-ONLY argument means save only current buffer.") } DEFUN ("set-buffer-auto-saved", Fset_buffer_auto_saved, - Sset_buffer_auto_saved, 0, 0, 0, - "Mark current buffer as auto-saved with its current text.\n\ -No auto-save file will be written until the buffer changes again.") - () + Sset_buffer_auto_saved, 0, 0, 0, + doc: /* Mark current buffer as auto-saved with its current text. +No auto-save file will be written until the buffer changes again. */) + () { current_buffer->auto_save_modified = MODIFF; XSETFASTINT (current_buffer->save_length, Z - BEG); @@ -5646,18 +5647,18 @@ No auto-save file will be written until the buffer changes again.") } DEFUN ("clear-buffer-auto-save-failure", Fclear_buffer_auto_save_failure, - Sclear_buffer_auto_save_failure, 0, 0, 0, - "Clear any record of a recent auto-save failure in the current buffer.") - () + Sclear_buffer_auto_save_failure, 0, 0, 0, + doc: /* Clear any record of a recent auto-save failure in the current buffer. */) + () { current_buffer->auto_save_failure_time = -1; return Qnil; } DEFUN ("recent-auto-save-p", Frecent_auto_save_p, Srecent_auto_save_p, - 0, 0, 0, - "Return t if buffer has been auto-saved since last read in or saved.") - () + 0, 0, 0, + doc: /* Return t if buffer has been auto-saved since last read in or saved. */) + () { return (SAVE_MODIFF < current_buffer->auto_save_modified) ? Qt : Qnil; } @@ -5700,9 +5701,9 @@ double_dollars (val) } DEFUN ("read-file-name-internal", Fread_file_name_internal, Sread_file_name_internal, - 3, 3, 0, - "Internal subroutine for read-file-name. Do not call this.") - (string, dir, action) + 3, 3, 0, + doc: /* Internal subroutine for read-file-name. Do not call this. */) + (string, dir, action) Lisp_Object string, dir, action; /* action is nil for complete, t for return list of completions, lambda for verify final value */ @@ -5775,20 +5776,20 @@ DEFUN ("read-file-name-internal", Fread_file_name_internal, Sread_file_name_inte } DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 5, 0, - "Read file name, prompting with PROMPT and completing in directory DIR.\n\ -Value is not expanded---you must call `expand-file-name' yourself.\n\ -Default name to DEFAULT-FILENAME if user enters a null string.\n\ - (If DEFAULT-FILENAME is omitted, the visited file name is used,\n\ - except that if INITIAL is specified, that combined with DIR is used.)\n\ -Fourth arg MUSTMATCH non-nil means require existing file's name.\n\ - Non-nil and non-t means also require confirmation after completion.\n\ -Fifth arg INITIAL specifies text to start with.\n\ -DIR defaults to current buffer's directory default.\n\ -\n\ -If this command was invoked with the mouse, use a file dialog box if\n\ -`use-dialog-box' is non-nil, and the window system or X toolkit in use\n\ -provides a file dialog box..") - (prompt, dir, default_filename, mustmatch, initial) + doc: /* Read file name, prompting with PROMPT and completing in directory DIR. +Value is not expanded---you must call `expand-file-name' yourself. +Default name to DEFAULT-FILENAME if user enters a null string. + (If DEFAULT-FILENAME is omitted, the visited file name is used, + except that if INITIAL is specified, that combined with DIR is used.) +Fourth arg MUSTMATCH non-nil means require existing file's name. + Non-nil and non-t means also require confirmation after completion. +Fifth arg INITIAL specifies text to start with. +DIR defaults to current buffer's directory default. + +If this command was invoked with the mouse, use a file dialog box if +`use-dialog-box' is non-nil, and the window system or X toolkit in use +provides a file dialog box. */) + (prompt, dir, default_filename, mustmatch, initial) Lisp_Object prompt, dir, default_filename, mustmatch, initial; { Lisp_Object val, insdef, tem; @@ -6049,26 +6050,26 @@ syms_of_fileio () #endif /* DOS_NT */ DEFVAR_LISP ("file-name-coding-system", &Vfile_name_coding_system, - "*Coding system for encoding file names.\n\ -If it is nil, default-file-name-coding-system (which see) is used."); + doc: /* *Coding system for encoding file names. +If it is nil, default-file-name-coding-system (which see) is used. */); Vfile_name_coding_system = Qnil; DEFVAR_LISP ("default-file-name-coding-system", &Vdefault_file_name_coding_system, - "Default coding system for encoding file names.\n\ -This variable is used only when file-name-coding-system is nil.\n\ -\n\ -This variable is set/changed by the command set-language-environment.\n\ -User should not set this variable manually,\n\ -instead use file-name-coding-system to get a constant encoding\n\ -of file names regardless of the current language environment."); + doc: /* Default coding system for encoding file names. +This variable is used only when file-name-coding-system is nil. + +This variable is set/changed by the command set-language-environment. +User should not set this variable manually, +instead use file-name-coding-system to get a constant encoding +of file names regardless of the current language environment. */); Vdefault_file_name_coding_system = Qnil; DEFVAR_LISP ("auto-save-file-format", &Vauto_save_file_format, - "*Format in which to write auto-save files.\n\ -Should be a list of symbols naming formats that are defined in `format-alist'.\n\ -If it is t, which is the default, auto-save files are written in the\n\ -same format as a regular save would use."); + doc: /* *Format in which to write auto-save files. +Should be a list of symbols naming formats that are defined in `format-alist'. +If it is t, which is the default, auto-save files are written in the +same format as a regular save would use. */); Vauto_save_file_format = Qt; Qformat_decode = intern ("format-decode"); @@ -6097,93 +6098,93 @@ same format as a regular save would use."); build_string ("Cannot set file date")); DEFVAR_BOOL ("insert-default-directory", &insert_default_directory, - "*Non-nil means when reading a filename start with default dir in minibuffer."); + doc: /* *Non-nil means when reading a filename start with default dir in minibuffer. */); insert_default_directory = 1; DEFVAR_BOOL ("vms-stmlf-recfm", &vms_stmlf_recfm, - "*Non-nil means write new files with record format `stmlf'.\n\ -nil means use format `var'. This variable is meaningful only on VMS."); + doc: /* *Non-nil means write new files with record format `stmlf'. +nil means use format `var'. This variable is meaningful only on VMS. */); vms_stmlf_recfm = 0; DEFVAR_LISP ("directory-sep-char", &Vdirectory_sep_char, - "Directory separator character for built-in functions that return file names.\n\ -The value should be either ?/ or ?\\ (any other value is treated as ?\\).\n\ -This variable affects the built-in functions only on Windows,\n\ -on other platforms, it is initialized so that Lisp code can find out\n\ -what the normal separator is.\n\ -\n\ -WARNING: This variable is deprecated and will be removed in the near\n\ -future. DO NOT USE IT."); + doc: /* Directory separator character for built-in functions that return file names. +The value should be either ?/ or ?\\ (any other value is treated as ?\\). +This variable affects the built-in functions only on Windows, +on other platforms, it is initialized so that Lisp code can find out +what the normal separator is. + +WARNING: This variable is deprecated and will be removed in the near +future. DO NOT USE IT. */); DEFVAR_LISP ("file-name-handler-alist", &Vfile_name_handler_alist, - "*Alist of elements (REGEXP . HANDLER) for file names handled specially.\n\ -If a file name matches REGEXP, then all I/O on that file is done by calling\n\ -HANDLER.\n\ -\n\ -The first argument given to HANDLER is the name of the I/O primitive\n\ -to be handled; the remaining arguments are the arguments that were\n\ -passed to that primitive. For example, if you do\n\ - (file-exists-p FILENAME)\n\ -and FILENAME is handled by HANDLER, then HANDLER is called like this:\n\ - (funcall HANDLER 'file-exists-p FILENAME)\n\ -The function `find-file-name-handler' checks this list for a handler\n\ -for its argument."); + doc: /* *Alist of elements (REGEXP . HANDLER) for file names handled specially. +If a file name matches REGEXP, then all I/O on that file is done by calling +HANDLER. + +The first argument given to HANDLER is the name of the I/O primitive +to be handled; the remaining arguments are the arguments that were +passed to that primitive. For example, if you do + (file-exists-p FILENAME) +and FILENAME is handled by HANDLER, then HANDLER is called like this: + (funcall HANDLER 'file-exists-p FILENAME) +The function `find-file-name-handler' checks this list for a handler +for its argument. */); Vfile_name_handler_alist = Qnil; DEFVAR_LISP ("set-auto-coding-function", &Vset_auto_coding_function, - "If non-nil, a function to call to decide a coding system of file.\n\ -Two arguments are passed to this function: the file name\n\ -and the length of a file contents following the point.\n\ -This function should return a coding system to decode the file contents.\n\ -It should check the file name against `auto-coding-alist'.\n\ -If no coding system is decided, it should check a coding system\n\ -specified in the heading lines with the format:\n\ - -*- ... coding: CODING-SYSTEM; ... -*-\n\ -or local variable spec of the tailing lines with `coding:' tag."); + doc: /* If non-nil, a function to call to decide a coding system of file. +Two arguments are passed to this function: the file name +and the length of a file contents following the point. +This function should return a coding system to decode the file contents. +It should check the file name against `auto-coding-alist'. +If no coding system is decided, it should check a coding system +specified in the heading lines with the format: + -*- ... coding: CODING-SYSTEM; ... -*- +or local variable spec of the tailing lines with `coding:' tag. */); Vset_auto_coding_function = Qnil; DEFVAR_LISP ("after-insert-file-functions", &Vafter_insert_file_functions, - "A list of functions to be called at the end of `insert-file-contents'.\n\ -Each is passed one argument, the number of bytes inserted. It should return\n\ -the new byte count, and leave point the same. If `insert-file-contents' is\n\ -intercepted by a handler from `file-name-handler-alist', that handler is\n\ -responsible for calling the after-insert-file-functions if appropriate."); + doc: /* A list of functions to be called at the end of `insert-file-contents'. +Each is passed one argument, the number of bytes inserted. It should return +the new byte count, and leave point the same. If `insert-file-contents' is +intercepted by a handler from `file-name-handler-alist', that handler is +responsible for calling the after-insert-file-functions if appropriate. */); Vafter_insert_file_functions = Qnil; DEFVAR_LISP ("write-region-annotate-functions", &Vwrite_region_annotate_functions, - "A list of functions to be called at the start of `write-region'.\n\ -Each is passed two arguments, START and END as for `write-region'.\n\ -These are usually two numbers but not always; see the documentation\n\ -for `write-region'. The function should return a list of pairs\n\ -of the form (POSITION . STRING), consisting of strings to be effectively\n\ -inserted at the specified positions of the file being written (1 means to\n\ -insert before the first byte written). The POSITIONs must be sorted into\n\ -increasing order. If there are several functions in the list, the several\n\ -lists are merged destructively."); + doc: /* A list of functions to be called at the start of `write-region'. +Each is passed two arguments, START and END as for `write-region'. +These are usually two numbers but not always; see the documentation +for `write-region'. The function should return a list of pairs +of the form (POSITION . STRING), consisting of strings to be effectively +inserted at the specified positions of the file being written (1 means to +insert before the first byte written). The POSITIONs must be sorted into +increasing order. If there are several functions in the list, the several +lists are merged destructively. */); Vwrite_region_annotate_functions = Qnil; DEFVAR_LISP ("write-region-annotations-so-far", &Vwrite_region_annotations_so_far, - "When an annotation function is called, this holds the previous annotations.\n\ -These are the annotations made by other annotation functions\n\ -that were already called. See also `write-region-annotate-functions'."); + doc: /* When an annotation function is called, this holds the previous annotations. +These are the annotations made by other annotation functions +that were already called. See also `write-region-annotate-functions'. */); Vwrite_region_annotations_so_far = Qnil; DEFVAR_LISP ("inhibit-file-name-handlers", &Vinhibit_file_name_handlers, - "A list of file name handlers that temporarily should not be used.\n\ -This applies only to the operation `inhibit-file-name-operation'."); + doc: /* A list of file name handlers that temporarily should not be used. +This applies only to the operation `inhibit-file-name-operation'. */); Vinhibit_file_name_handlers = Qnil; DEFVAR_LISP ("inhibit-file-name-operation", &Vinhibit_file_name_operation, - "The operation for which `inhibit-file-name-handlers' is applicable."); + doc: /* The operation for which `inhibit-file-name-handlers' is applicable. */); Vinhibit_file_name_operation = Qnil; DEFVAR_LISP ("auto-save-list-file-name", &Vauto_save_list_file_name, - "File name in which we write a list of all auto save file names.\n\ -This variable is initialized automatically from `auto-save-list-file-prefix'\n\ -shortly after Emacs reads your `.emacs' file, if you have not yet given it\n\ -a non-nil value."); + doc: /* File name in which we write a list of all auto save file names. +This variable is initialized automatically from `auto-save-list-file-prefix' +shortly after Emacs reads your `.emacs' file, if you have not yet given it +a non-nil value. */); Vauto_save_list_file_name = Qnil; defsubr (&Sfind_file_name_handler); diff --git a/src/indent.c b/src/indent.c index 95e16d1fa5..1d9e1a5fae 100644 --- a/src/indent.c +++ b/src/indent.c @@ -328,16 +328,16 @@ check_composition (pos, pos_byte, point, len, len_byte, width) } while (0) DEFUN ("current-column", Fcurrent_column, Scurrent_column, 0, 0, 0, - "Return the horizontal position of point. Beginning of line is column 0.\n\ -This is calculated by adding together the widths of all the displayed\n\ -representations of the character between the start of the previous line\n\ -and point. (eg control characters will have a width of 2 or 4, tabs\n\ -will have a variable width)\n\ -Ignores finite width of frame, which means that this function may return\n\ -values greater than (frame-width).\n\ -Whether the line is visible (if `selective-display' is t) has no effect;\n\ -however, ^M is treated as end of line when `selective-display' is t.") - () + doc: /* Return the horizontal position of point. Beginning of line is column 0. +This is calculated by adding together the widths of all the displayed +representations of the character between the start of the previous line +and point. (eg control characters will have a width of 2 or 4, tabs +will have a variable width) +Ignores finite width of frame, which means that this function may return +values greater than (frame-width). +Whether the line is visible (if `selective-display' is t) has no effect; +however, ^M is treated as end of line when `selective-display' is t. */) + () { Lisp_Object temp; XSETFASTINT (temp, current_column ()); @@ -715,10 +715,10 @@ string_display_width (string, beg, end) DEFUN ("indent-to", Findent_to, Sindent_to, 1, 2, "NIndent to column: ", - "Indent from point with tabs and spaces until COLUMN is reached.\n\ -Optional second argument MININUM says always do at least MININUM spaces\n\ -even if that goes past COLUMN; by default, MININUM is zero.") - (column, minimum) + doc: /* Indent from point with tabs and spaces until COLUMN is reached. +Optional second argument MININUM says always do at least MININUM spaces +even if that goes past COLUMN; by default, MININUM is zero. */) + (column, minimum) Lisp_Object column, minimum; { int mincol; @@ -766,11 +766,11 @@ even if that goes past COLUMN; by default, MININUM is zero.") static int position_indentation P_ ((int)); DEFUN ("current-indentation", Fcurrent_indentation, Scurrent_indentation, - 0, 0, 0, - "Return the indentation of the current line.\n\ -This is the horizontal position of the character\n\ -following any initial whitespace.") - () + 0, 0, 0, + doc: /* Return the indentation of the current line. +This is the horizontal position of the character +following any initial whitespace. */) + () { Lisp_Object val; int opoint = PT, opoint_byte = PT_BYTE; @@ -889,22 +889,23 @@ indented_beyond_p (pos, pos_byte, column) } DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2, "p", - "Move point to column COLUMN in the current line.\n\ -The column of a character is calculated by adding together the widths\n\ -as displayed of the previous characters in the line.\n\ -This function ignores line-continuation;\n\ -there is no upper limit on the column number a character can have\n\ -and horizontal scrolling has no effect.\n\ -\n\ -If specified column is within a character, point goes after that character.\n\ -If it's past end of line, point goes to end of line.\n\n\ -A non-nil second (optional) argument FORCE means,\n\ -if COLUMN is in the middle of a tab character, change it to spaces.\n\ -In addition, if FORCE is t, and the line is too short\n\ -to reach column COLUMN, add spaces/tabs to get there.\n\ -\n\ -The return value is the current column.") - (column, force) + doc: /* Move point to column COLUMN in the current line. +The column of a character is calculated by adding together the widths +as displayed of the previous characters in the line. +This function ignores line-continuation; +there is no upper limit on the column number a character can have +and horizontal scrolling has no effect. + +If specified column is within a character, point goes after that character. +If it's past end of line, point goes to end of line. + +A non-nil second (optional) argument FORCE means, +if COLUMN is in the middle of a tab character, change it to spaces. +In addition, if FORCE is t, and the line is too short +to reach column COLUMN, add spaces/tabs to get there. + +The return value is the current column. */) + (column, force) Lisp_Object column, force; { register int pos; @@ -1698,54 +1699,47 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, } -#if 0 /* The doc string is too long for some compilers, - but make-docfile can find it in this comment. */ -DEFUN ("compute-motion", Ffoo, Sfoo, 7, 7, 0, - "Scan through the current buffer, calculating screen position.\n\ -Scan the current buffer forward from offset FROM,\n\ -assuming it is at position FROMPOS--a cons of the form (HPOS . VPOS)--\n\ -to position TO or position TOPOS--another cons of the form (HPOS . VPOS)--\n\ -and return the ending buffer position and screen location.\n\ -\n\ -There are three additional arguments:\n\ -\n\ -WIDTH is the number of columns available to display text;\n\ -this affects handling of continuation lines.\n\ -This is usually the value returned by `window-width', less one (to allow\n\ -for the continuation glyph).\n\ -\n\ -OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET).\n\ -HSCROLL is the number of columns not being displayed at the left\n\ -margin; this is usually taken from a window's hscroll member.\n\ -TAB-OFFSET is the number of columns of the first tab that aren't\n\ -being displayed, perhaps because the line was continued within it.\n\ -If OFFSETS is nil, HSCROLL and TAB-OFFSET are assumed to be zero.\n\ -\n\ -WINDOW is the window to operate on. It is used to choose the display table;\n\ -if it is showing the current buffer, it is used also for\n\ -deciding which overlay properties apply.\n\ -Note that `compute-motion' always operates on the current buffer.\n\ -\n\ -The value is a list of five elements:\n\ - (POS HPOS VPOS PREVHPOS CONTIN)\n\ -POS is the buffer position where the scan stopped.\n\ -VPOS is the vertical position where the scan stopped.\n\ -HPOS is the horizontal position where the scan stopped.\n\ -\n\ -PREVHPOS is the horizontal position one character back from POS.\n\ -CONTIN is t if a line was continued after (or within) the previous character.\n\ -\n\ -For example, to find the buffer position of column COL of line LINE\n\ -of a certain window, pass the window's starting location as FROM\n\ -and the window's upper-left coordinates as FROMPOS.\n\ -Pass the buffer's (point-max) as TO, to limit the scan to the end of the\n\ -visible section of the buffer, and pass LINE and COL as TOPOS.") - (from, frompos, to, topos, width, offsets, window) -#endif - DEFUN ("compute-motion", Fcompute_motion, Scompute_motion, 7, 7, 0, - 0) - (from, frompos, to, topos, width, offsets, window) + doc: /* Scan through the current buffer, calculating screen position. +Scan the current buffer forward from offset FROM, +assuming it is at position FROMPOS--a cons of the form (HPOS . VPOS)-- +to position TO or position TOPOS--another cons of the form (HPOS . VPOS)-- +and return the ending buffer position and screen location. + +There are three additional arguments: + +WIDTH is the number of columns available to display text; +this affects handling of continuation lines. +This is usually the value returned by `window-width', less one (to allow +for the continuation glyph). + +OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET). +HSCROLL is the number of columns not being displayed at the left +margin; this is usually taken from a window's hscroll member. +TAB-OFFSET is the number of columns of the first tab that aren't +being displayed, perhaps because the line was continued within it. +If OFFSETS is nil, HSCROLL and TAB-OFFSET are assumed to be zero. + +WINDOW is the window to operate on. It is used to choose the display table; +if it is showing the current buffer, it is used also for +deciding which overlay properties apply. +Note that `compute-motion' always operates on the current buffer. + +The value is a list of five elements: + (POS HPOS VPOS PREVHPOS CONTIN) +POS is the buffer position where the scan stopped. +VPOS is the vertical position where the scan stopped. +HPOS is the horizontal position where the scan stopped. + +PREVHPOS is the horizontal position one character back from POS. +CONTIN is t if a line was continued after (or within) the previous character. + +For example, to find the buffer position of column COL of line LINE +of a certain window, pass the window's starting location as FROM +and the window's upper-left coordinates as FROMPOS. +Pass the buffer's (point-max) as TO, to limit the scan to the end of the +visible section of the buffer, and pass LINE and COL as TOPOS. */) + (from, frompos, to, topos, width, offsets, window) Lisp_Object from, frompos, to, topos; Lisp_Object width, offsets, window; { @@ -1953,27 +1947,27 @@ vmotion (from, vtarget, w) } DEFUN ("vertical-motion", Fvertical_motion, Svertical_motion, 1, 2, 0, - "Move point to start of the screen line LINES lines down.\n\ -If LINES is negative, this means moving up.\n\ -\n\ -This function is an ordinary cursor motion function\n\ -which calculates the new position based on how text would be displayed.\n\ -The new position may be the start of a line,\n\ -or just the start of a continuation line.\n\ -The function returns number of screen lines moved over;\n\ -that usually equals LINES, but may be closer to zero\n\ -if beginning or end of buffer was reached.\n\ -\n\ -The optional second argument WINDOW specifies the window to use for\n\ -parameters such as width, horizontal scrolling, and so on.\n\ -The default is to use the selected window's parameters.\n\ -\n\ -`vertical-motion' always uses the current buffer,\n\ -regardless of which buffer is displayed in WINDOW.\n\ -This is consistent with other cursor motion functions\n\ -and makes it possible to use `vertical-motion' in any buffer,\n\ -whether or not it is currently displayed in some window.") - (lines, window) + doc: /* Move point to start of the screen line LINES lines down. +If LINES is negative, this means moving up. + +This function is an ordinary cursor motion function +which calculates the new position based on how text would be displayed. +The new position may be the start of a line, +or just the start of a continuation line. +The function returns number of screen lines moved over; +that usually equals LINES, but may be closer to zero +if beginning or end of buffer was reached. + +The optional second argument WINDOW specifies the window to use for +parameters such as width, horizontal scrolling, and so on. +The default is to use the selected window's parameters. + +`vertical-motion' always uses the current buffer, +regardless of which buffer is displayed in WINDOW. +This is consistent with other cursor motion functions +and makes it possible to use `vertical-motion' in any buffer, +whether or not it is currently displayed in some window. */) + (lines, window) Lisp_Object lines, window; { struct it it; @@ -2017,8 +2011,8 @@ void syms_of_indent () { DEFVAR_BOOL ("indent-tabs-mode", &indent_tabs_mode, - "*Indentation can insert tabs if this is non-nil.\n\ -Setting this variable automatically makes it local to the current buffer."); + doc: /* *Indentation can insert tabs if this is non-nil. +Setting this variable automatically makes it local to the current buffer. */); indent_tabs_mode = 1; defsubr (&Scurrent_indentation); diff --git a/src/print.c b/src/print.c index 6abad4f7c6..6924959480 100644 --- a/src/print.c +++ b/src/print.c @@ -523,9 +523,9 @@ print_string (string, printcharfun) } DEFUN ("write-char", Fwrite_char, Swrite_char, 1, 2, 0, - "Output character CHARACTER to stream PRINTCHARFUN.\n\ -PRINTCHARFUN defaults to the value of `standard-output' (which see).") - (character, printcharfun) + doc: /* Output character CHARACTER to stream PRINTCHARFUN. +PRINTCHARFUN defaults to the value of `standard-output' (which see). */) + (character, printcharfun) Lisp_Object character, printcharfun; { PRINTDECLARE; @@ -634,23 +634,23 @@ internal_with_output_to_temp_buffer (bufname, function, args) DEFUN ("with-output-to-temp-buffer", Fwith_output_to_temp_buffer, Swith_output_to_temp_buffer, 1, UNEVALLED, 0, - "Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer.\n\ -The buffer is cleared out initially, and marked as unmodified when done.\n\ -All output done by BODY is inserted in that buffer by default.\n\ -The buffer is displayed in another window, but not selected.\n\ -The value of the last form in BODY is returned.\n\ -If BODY does not finish normally, the buffer BUFNAME is not displayed.\n\ -\n\ -The hook `temp-buffer-setup-hook' is run before BODY,\n\ -with the buffer BUFNAME temporarily current.\n\ -The hook `temp-buffer-show-hook' is run after the buffer is displayed,\n\ -with the buffer temporarily current, and the window that was used\n\ -to display it temporarily selected.\n\ -\n\ -If variable `temp-buffer-show-function' is non-nil, call it at the end\n\ -to get the buffer displayed instead of just displaying the non-selected\n\ -buffer and calling the hook. It gets one argument, the buffer to display.") - (args) + doc: /* Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer. +The buffer is cleared out initially, and marked as unmodified when done. +All output done by BODY is inserted in that buffer by default. +The buffer is displayed in another window, but not selected. +The value of the last form in BODY is returned. +If BODY does not finish normally, the buffer BUFNAME is not displayed. + +The hook `temp-buffer-setup-hook' is run before BODY, +with the buffer BUFNAME temporarily current. +The hook `temp-buffer-show-hook' is run after the buffer is displayed, +with the buffer temporarily current, and the window that was used +to display it temporarily selected. + +If variable `temp-buffer-show-function' is non-nil, call it at the end +to get the buffer displayed instead of just displaying the non-selected +buffer and calling the hook. It gets one argument, the buffer to display. */) + (args) Lisp_Object args; { struct gcpro gcpro1; @@ -681,8 +681,8 @@ static void print_preprocess_string (); static void print_object (); DEFUN ("terpri", Fterpri, Sterpri, 0, 1, 0, - "Output a newline to stream PRINTCHARFUN.\n\ -If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used.") + doc: /* Output a newline to stream PRINTCHARFUN. +If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used. */) (printcharfun) Lisp_Object printcharfun; { @@ -697,28 +697,28 @@ If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used.") } DEFUN ("prin1", Fprin1, Sprin1, 1, 2, 0, - "Output the printed representation of OBJECT, any Lisp object.\n\ -Quoting characters are printed when needed to make output that `read'\n\ -can handle, whenever this is possible.\n\ -\n\ -OBJECT is any of the Lisp data types: a number, a string, a symbol,\n\ -a list, a buffer, a window, a frame, etc.\n\ -\n\ -A printed representation of an object is text which describes that object.\n\ -\n\ -Optional argument PRINTCHARFUN is the output stream, which can be one\n\ -of these:\n\ -\n\ - - a buffer, in which case output is inserted into that buffer at point;\n\ - - a marker, in which case output is inserted at marker's position;\n\ - - a function, in which case that function is called once for each\n\ - character of OBJECT's printed representation;\n\ - - a symbol, in which case that symbol's function definition is called; or\n\ - - t, in which case the output is displayed in the echo area.\n\ -\n\ -If PRINTCHARFUN is omitted, the value of `standard-output' (which see)\n\ -is used instead.") - (object, printcharfun) + doc: /* Output the printed representation of OBJECT, any Lisp object. +Quoting characters are printed when needed to make output that `read' +can handle, whenever this is possible. + +OBJECT is any of the Lisp data types: a number, a string, a symbol, +a list, a buffer, a window, a frame, etc. + +A printed representation of an object is text which describes that object. + +Optional argument PRINTCHARFUN is the output stream, which can be one +of these: + + - a buffer, in which case output is inserted into that buffer at point; + - a marker, in which case output is inserted at marker's position; + - a function, in which case that function is called once for each + character of OBJECT's printed representation; + - a symbol, in which case that symbol's function definition is called; or + - t, in which case the output is displayed in the echo area. + +If PRINTCHARFUN is omitted, the value of `standard-output' (which see) +is used instead. */) + (object, printcharfun) Lisp_Object object, printcharfun; { PRINTDECLARE; @@ -738,16 +738,16 @@ is used instead.") Lisp_Object Vprin1_to_string_buffer; DEFUN ("prin1-to-string", Fprin1_to_string, Sprin1_to_string, 1, 2, 0, - "Return a string containing the printed representation of OBJECT,\n\ -any Lisp object. Quoting characters are used when needed to make output\n\ -that `read' can handle, whenever this is possible, unless the optional\n\ -second argument NOESCAPE is non-nil.\n\ -\n\ -OBJECT is any of the Lisp data types: a number, a string, a symbol,\n\ -a list, a buffer, a window, a frame, etc.\n\ -\n\ -A printed representation of an object is text which describes that object.") - (object, noescape) + doc: /* Return a string containing the printed representation of OBJECT, +any Lisp object. Quoting characters are used when needed to make output +that `read' can handle, whenever this is possible, unless the optional +second argument NOESCAPE is non-nil. + +OBJECT is any of the Lisp data types: a number, a string, a symbol, +a list, a buffer, a window, a frame, etc. + +A printed representation of an object is text which describes that object. */) + (object, noescape) Lisp_Object object, noescape; { PRINTDECLARE; @@ -779,28 +779,28 @@ A printed representation of an object is text which describes that object.") } DEFUN ("princ", Fprinc, Sprinc, 1, 2, 0, - "Output the printed representation of OBJECT, any Lisp object.\n\ -No quoting characters are used; no delimiters are printed around\n\ -the contents of strings.\n\ -\n\ -OBJECT is any of the Lisp data types: a number, a string, a symbol,\n\ -a list, a buffer, a window, a frame, etc.\n\ -\n\ -A printed representation of an object is text which describes that object.\n\ -\n\ -Optional argument PRINTCHARFUN is the output stream, which can be one\n\ -of these:\n\ -\n\ - - a buffer, in which case output is inserted into that buffer at point;\n\ - - a marker, in which case output is inserted at marker's position;\n\ - - a function, in which case that function is called once for each\n\ - character of OBJECT's printed representation;\n\ - - a symbol, in which case that symbol's function definition is called; or\n\ - - t, in which case the output is displayed in the echo area.\n\ -\n\ -If PRINTCHARFUN is omitted, the value of `standard-output' (which see)\n\ -is used instead.") - (object, printcharfun) + doc: /* Output the printed representation of OBJECT, any Lisp object. +No quoting characters are used; no delimiters are printed around +the contents of strings. + +OBJECT is any of the Lisp data types: a number, a string, a symbol, +a list, a buffer, a window, a frame, etc. + +A printed representation of an object is text which describes that object. + +Optional argument PRINTCHARFUN is the output stream, which can be one +of these: + + - a buffer, in which case output is inserted into that buffer at point; + - a marker, in which case output is inserted at marker's position; + - a function, in which case that function is called once for each + character of OBJECT's printed representation; + - a symbol, in which case that symbol's function definition is called; or + - t, in which case the output is displayed in the echo area. + +If PRINTCHARFUN is omitted, the value of `standard-output' (which see) +is used instead. */) + (object, printcharfun) Lisp_Object object, printcharfun; { PRINTDECLARE; @@ -814,28 +814,28 @@ is used instead.") } DEFUN ("print", Fprint, Sprint, 1, 2, 0, - "Output the printed representation of OBJECT, with newlines around it.\n\ -Quoting characters are printed when needed to make output that `read'\n\ -can handle, whenever this is possible.\n\ -\n\ -OBJECT is any of the Lisp data types: a number, a string, a symbol,\n\ -a list, a buffer, a window, a frame, etc.\n\ -\n\ -A printed representation of an object is text which describes that object.\n\ -\n\ -Optional argument PRINTCHARFUN is the output stream, which can be one\n\ -of these:\n\ -\n\ - - a buffer, in which case output is inserted into that buffer at point;\n\ - - a marker, in which case output is inserted at marker's position;\n\ - - a function, in which case that function is called once for each\n\ - character of OBJECT's printed representation;\n\ - - a symbol, in which case that symbol's function definition is called; or\n\ - - t, in which case the output is displayed in the echo area.\n\ -\n\ -If PRINTCHARFUN is omitted, the value of `standard-output' (which see)\n\ -is used instead.") - (object, printcharfun) + doc: /* Output the printed representation of OBJECT, with newlines around it. +Quoting characters are printed when needed to make output that `read' +can handle, whenever this is possible. + +OBJECT is any of the Lisp data types: a number, a string, a symbol, +a list, a buffer, a window, a frame, etc. + +A printed representation of an object is text which describes that object. + +Optional argument PRINTCHARFUN is the output stream, which can be one +of these: + + - a buffer, in which case output is inserted into that buffer at point; + - a marker, in which case output is inserted at marker's position; + - a function, in which case that function is called once for each + character of OBJECT's printed representation; + - a symbol, in which case that symbol's function definition is called; or + - t, in which case the output is displayed in the echo area. + +If PRINTCHARFUN is omitted, the value of `standard-output' (which see) +is used instead. */) + (object, printcharfun) Lisp_Object object, printcharfun; { PRINTDECLARE; @@ -866,10 +866,10 @@ is used instead.") Lisp_Object Qexternal_debugging_output; DEFUN ("external-debugging-output", Fexternal_debugging_output, Sexternal_debugging_output, 1, 1, 0, - "Write CHARACTER to stderr.\n\ -You can call print while debugging emacs, and pass it this function\n\ -to make it write to the debugging output.\n") - (character) + doc: /* Write CHARACTER to stderr. +You can call print while debugging emacs, and pass it this function +to make it write to the debugging output. */) + (character) Lisp_Object character; { CHECK_NUMBER (character, 0); @@ -898,8 +898,8 @@ debug_print (arg) DEFUN ("error-message-string", Ferror_message_string, Serror_message_string, 1, 1, 0, - "Convert an error value (ERROR-SYMBOL . DATA) to an error message.") - (obj) + doc: /* Convert an error value (ERROR-SYMBOL . DATA) to an error message. */) + (obj) Lisp_Object obj; { struct buffer *old = current_buffer; @@ -1978,102 +1978,103 @@ syms_of_print () staticpro (&Qtemp_buffer_setup_hook); DEFVAR_LISP ("standard-output", &Vstandard_output, - "Output stream `print' uses by default for outputting a character.\n\ -This may be any function of one argument.\n\ -It may also be a buffer (output is inserted before point)\n\ -or a marker (output is inserted and the marker is advanced)\n\ -or the symbol t (output appears in the echo area)."); + 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) +or a marker (output is inserted and the marker is advanced) +or the symbol t (output appears in the echo area). */); Vstandard_output = Qt; Qstandard_output = intern ("standard-output"); staticpro (&Qstandard_output); DEFVAR_LISP ("float-output-format", &Vfloat_output_format, - "The format descriptor string used to print floats.\n\ -This is a %-spec like those accepted by `printf' in C,\n\ -but with some restrictions. It must start with the two characters `%.'.\n\ -After that comes an integer precision specification,\n\ -and then a letter which controls the format.\n\ -The letters allowed are `e', `f' and `g'.\n\ -Use `e' for exponential notation \"DIG.DIGITSeEXPT\"\n\ -Use `f' for decimal point notation \"DIGITS.DIGITS\".\n\ -Use `g' to choose the shorter of those two formats for the number at hand.\n\ -The precision in any of these cases is the number of digits following\n\ -the decimal point. With `f', a precision of 0 means to omit the\n\ -decimal point. 0 is not allowed with `e' or `g'.\n\n\ -A value of nil means to use the shortest notation\n\ -that represents the number without losing information."); + 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 `%.'. +After that comes an integer precision specification, +and then a letter which controls the format. +The letters allowed are `e', `f' and `g'. +Use `e' for exponential notation \"DIG.DIGITSeEXPT\" +Use `f' for decimal point notation \"DIGITS.DIGITS\". +Use `g' to choose the shorter of those two formats for the number at hand. +The precision in any of these cases is the number of digits following +the decimal point. With `f', a precision of 0 means to omit the +decimal point. 0 is not allowed with `e' or `g'. + +A value of nil means to use the shortest notation +that represents the number without losing information. */); Vfloat_output_format = Qnil; Qfloat_output_format = intern ("float-output-format"); staticpro (&Qfloat_output_format); DEFVAR_LISP ("print-length", &Vprint_length, - "Maximum length of list to print before abbreviating.\n\ -A value of nil means no limit. See also `eval-expression-print-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, - "Maximum depth of list nesting to print before abbreviating.\n\ -A value of nil means no limit. See also `eval-expression-print-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, - "Non-nil means print newlines in strings as `\\n'.\n\ -Also print formfeeds as `\\f'."); + 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, - "Non-nil means print unibyte non-ASCII chars in strings as \\OOO.\n\ -\(OOO is the octal representation of the character code.)\n\ -Only single-byte characters are affected, and only in `prin1'."); + 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'. */); print_escape_nonascii = 0; DEFVAR_BOOL ("print-escape-multibyte", &print_escape_multibyte, - "Non-nil means print multibyte characters in strings as \\xXXXX.\n\ -\(XXXX is the hex representation of the character code.)\n\ -This affects only `prin1'."); + 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, - "Non-nil means print quoted forms with reader syntax.\n\ -I.e., (quote foo) prints as 'foo, (function foo) as #'foo, and backquoted\n\ -forms print as in the new syntax."); + doc: /* Non-nil means print quoted forms with reader syntax. +I.e., (quote foo) prints as 'foo, (function foo) as #'foo, and backquoted +forms print as in the new syntax. */); print_quoted = 0; DEFVAR_LISP ("print-gensym", &Vprint_gensym, - "Non-nil means print uninterned symbols so they will read as uninterned.\n\ -I.e., the value of (make-symbol \"foobar\") prints as #:foobar.\n\ -When the uninterned symbol appears within a recursive data structure,\n\ -and the symbol appears more than once, in addition use the #N# and #N=\n\ -constructs as needed, so that multiple references to the same symbol are\n\ -shared once again when the text is read back."); + 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, +and the symbol appears more than once, in addition use the #N# and #N= +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, - "*Non-nil means print recursive structures using #N= and #N# syntax.\n\ -If nil, printing proceeds recursively and may lead to\n\ -`max-lisp-eval-depth' being exceeded or an error may occur:\n\ -\"Apparently circular structure being printed.\" Also see\n\ -`print-length' and `print-level'.\n\ -If non-nil, shared substructures anywhere in the structure are printed\n\ -with `#N=' before the first occurrence (in the order of the print\n\ -representation) and `#N#' in place of each subsequent occurrence,\n\ -where N is a positive decimal integer."); + 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: +\"Apparently circular structure being printed.\" Also see +`print-length' and `print-level'. +If non-nil, shared substructures anywhere in the structure are printed +with `#N=' before the first occurrence (in the order of the print +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, - "*Non-nil means number continuously across print calls.\n\ -This affects the numbers printed for #N= labels and #M# references.\n\ -See also `print-circle', `print-gensym', and `print-number-table'.\n\ -This variable should not be set with `setq'; bind it with a `let' instead."); + 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, - "A vector used internally to produce `#N=' labels and `#N#' references.\n\ -The Lisp printer uses this vector to detect Lisp objects referenced more\n\ -than once. When `print-continuous-numbering' is bound to t, you should\n\ -probably also bind `print-number-table' to nil. This ensures that the\n\ -value of `print-number-table' can be garbage-collected once the printing\n\ -is done."); + 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. When `print-continuous-numbering' is bound to t, you should +probably also bind `print-number-table' to nil. This ensures that the +value of `print-number-table' can be garbage-collected once the printing +is done. */); Vprint_number_table = Qnil; /* prin1_to_string_buffer initialized in init_buffer_once in buffer.c */ diff --git a/src/search.c b/src/search.c index 519a7b4866..61c486a792 100644 --- a/src/search.c +++ b/src/search.c @@ -330,23 +330,23 @@ looking_at_1 (string, posix) } DEFUN ("looking-at", Flooking_at, Slooking_at, 1, 1, 0, - "Return t if text after point matches regular expression REGEXP.\n\ -This function modifies the match data that `match-beginning',\n\ -`match-end' and `match-data' access; save and restore the match\n\ -data if you want to preserve them.") - (regexp) + doc: /* Return t if text after point matches regular expression REGEXP. +This function modifies the match data that `match-beginning', +`match-end' and `match-data' access; save and restore the match +data if you want to preserve them. */) + (regexp) Lisp_Object regexp; { return looking_at_1 (regexp, 0); } DEFUN ("posix-looking-at", Fposix_looking_at, Sposix_looking_at, 1, 1, 0, - "Return t if text after point matches regular expression REGEXP.\n\ -Find the longest match, in accord with Posix regular expression rules.\n\ -This function modifies the match data that `match-beginning',\n\ -`match-end' and `match-data' access; save and restore the match\n\ -data if you want to preserve them.") - (regexp) + doc: /* Return t if text after point matches regular expression REGEXP. +Find the longest match, in accord with Posix regular expression rules. +This function modifies the match data that `match-beginning', +`match-end' and `match-data' access; save and restore the match +data if you want to preserve them. */) + (regexp) Lisp_Object regexp; { return looking_at_1 (regexp, 1); @@ -414,27 +414,27 @@ string_match_1 (regexp, string, start, posix) } DEFUN ("string-match", Fstring_match, Sstring_match, 2, 3, 0, - "Return index of start of first match for REGEXP in STRING, or nil.\n\ -Case is ignored if `case-fold-search' is non-nil in the current buffer.\n\ -If third arg START is non-nil, start search at that index in STRING.\n\ -For index of first char beyond the match, do (match-end 0).\n\ -`match-end' and `match-beginning' also give indices of substrings\n\ -matched by parenthesis constructs in the pattern.") - (regexp, string, start) + doc: /* Return index of start of first match for REGEXP in STRING, or nil. +Case is ignored if `case-fold-search' is non-nil in the current buffer. +If third arg START is non-nil, start search at that index in STRING. +For index of first char beyond the match, do (match-end 0). +`match-end' and `match-beginning' also give indices of substrings +matched by parenthesis constructs in the pattern. */) + (regexp, string, start) Lisp_Object regexp, string, start; { return string_match_1 (regexp, string, start, 0); } DEFUN ("posix-string-match", Fposix_string_match, Sposix_string_match, 2, 3, 0, - "Return index of start of first match for REGEXP in STRING, or nil.\n\ -Find the longest match, in accord with Posix regular expression rules.\n\ -Case is ignored if `case-fold-search' is non-nil in the current buffer.\n\ -If third arg START is non-nil, start search at that index in STRING.\n\ -For index of first char beyond the match, do (match-end 0).\n\ -`match-end' and `match-beginning' also give indices of substrings\n\ -matched by parenthesis constructs in the pattern.") - (regexp, string, start) + doc: /* Return index of start of first match for REGEXP in STRING, or nil. +Find the longest match, in accord with Posix regular expression rules. +Case is ignored if `case-fold-search' is non-nil in the current buffer. +If third arg START is non-nil, start search at that index in STRING. +For index of first char beyond the match, do (match-end 0). +`match-end' and `match-beginning' also give indices of substrings +matched by parenthesis constructs in the pattern. */) + (regexp, string, start) Lisp_Object regexp, string, start; { return string_match_1 (regexp, string, start, 1); @@ -2018,182 +2018,183 @@ wordify (string) } DEFUN ("search-backward", Fsearch_backward, Ssearch_backward, 1, 4, - "MSearch backward: ", - "Search backward from point for STRING.\n\ -Set point to the beginning of the occurrence found, and return point.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must not extend before that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, position at limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.\n\ -\n\ -Search case-sensitivity is determined by the value of the variable\n\ -`case-fold-search', which see.\n\ -\n\ -See also the functions `match-beginning', `match-end' and `replace-match'.") - (string, bound, noerror, count) + "MSearch backward: ", + doc: /* Search backward from point for STRING. +Set point to the beginning of the occurrence found, and return point. +An optional second argument bounds the search; it is a buffer position. +The match found must not extend before that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, position at limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. + +Search case-sensitivity is determined by the value of the variable +`case-fold-search', which see. + +See also the functions `match-beginning', `match-end' and `replace-match'. */) + (string, bound, noerror, count) Lisp_Object string, bound, noerror, count; { return search_command (string, bound, noerror, count, -1, 0, 0); } DEFUN ("search-forward", Fsearch_forward, Ssearch_forward, 1, 4, "MSearch: ", - "Search forward from point for STRING.\n\ -Set point to the end of the occurrence found, and return point.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must not extend after that position. nil is equivalent\n\ - to (point-max).\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.\n\ -\n\ -Search case-sensitivity is determined by the value of the variable\n\ -`case-fold-search', which see.\n\ -\n\ -See also the functions `match-beginning', `match-end' and `replace-match'.") - (string, bound, noerror, count) + doc: /* Search forward from point for STRING. +Set point to the end of the occurrence found, and return point. +An optional second argument bounds the search; it is a buffer position. +The match found must not extend after that position. nil is equivalent + to (point-max). +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. + +Search case-sensitivity is determined by the value of the variable +`case-fold-search', which see. + +See also the functions `match-beginning', `match-end' and `replace-match'. */) + (string, bound, noerror, count) Lisp_Object string, bound, noerror, count; { return search_command (string, bound, noerror, count, 1, 0, 0); } DEFUN ("word-search-backward", Fword_search_backward, Sword_search_backward, 1, 4, - "sWord search backward: ", - "Search backward from point for STRING, ignoring differences in punctuation.\n\ -Set point to the beginning of the occurrence found, and return point.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must not extend before that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.") - (string, bound, noerror, count) + "sWord search backward: ", + doc: /* Search backward from point for STRING, ignoring differences in punctuation. +Set point to the beginning of the occurrence found, and return point. +An optional second argument bounds the search; it is a buffer position. +The match found must not extend before that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. */) + (string, bound, noerror, count) Lisp_Object string, bound, noerror, count; { return search_command (wordify (string), bound, noerror, count, -1, 1, 0); } DEFUN ("word-search-forward", Fword_search_forward, Sword_search_forward, 1, 4, - "sWord search: ", - "Search forward from point for STRING, ignoring differences in punctuation.\n\ -Set point to the end of the occurrence found, and return point.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must not extend after that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.") - (string, bound, noerror, count) + "sWord search: ", + doc: /* Search forward from point for STRING, ignoring differences in punctuation. +Set point to the end of the occurrence found, and return point. +An optional second argument bounds the search; it is a buffer position. +The match found must not extend after that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. */) + (string, bound, noerror, count) Lisp_Object string, bound, noerror, count; { return search_command (wordify (string), bound, noerror, count, 1, 1, 0); } DEFUN ("re-search-backward", Fre_search_backward, Sre_search_backward, 1, 4, - "sRE search backward: ", - "Search backward from point for match for regular expression REGEXP.\n\ -Set point to the beginning of the match, and return point.\n\ -The match found is the one starting last in the buffer\n\ -and yet ending before the origin of the search.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must start at or after that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.\n\ -See also the functions `match-beginning', `match-end', `match-string',\n\ -and `replace-match'.") - (regexp, bound, noerror, count) + "sRE search backward: ", + doc: /* Search backward from point for match for regular expression REGEXP. +Set point to the beginning of the match, and return point. +The match found is the one starting last in the buffer +and yet ending before the origin of the search. +An optional second argument bounds the search; it is a buffer position. +The match found must start at or after that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. +See also the functions `match-beginning', `match-end', `match-string', +and `replace-match'. */) + (regexp, bound, noerror, count) Lisp_Object regexp, bound, noerror, count; { return search_command (regexp, bound, noerror, count, -1, 1, 0); } DEFUN ("re-search-forward", Fre_search_forward, Sre_search_forward, 1, 4, - "sRE search: ", - "Search forward from point for regular expression REGEXP.\n\ -Set point to the end of the occurrence found, and return point.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must not extend after that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.\n\ -See also the functions `match-beginning', `match-end', `match-string',\n\ -and `replace-match'.") - (regexp, bound, noerror, count) + "sRE search: ", + doc: /* Search forward from point for regular expression REGEXP. +Set point to the end of the occurrence found, and return point. +An optional second argument bounds the search; it is a buffer position. +The match found must not extend after that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. +See also the functions `match-beginning', `match-end', `match-string', +and `replace-match'. */) + (regexp, bound, noerror, count) Lisp_Object regexp, bound, noerror, count; { return search_command (regexp, bound, noerror, count, 1, 1, 0); } DEFUN ("posix-search-backward", Fposix_search_backward, Sposix_search_backward, 1, 4, - "sPosix search backward: ", - "Search backward from point for match for regular expression REGEXP.\n\ -Find the longest match in accord with Posix regular expression rules.\n\ -Set point to the beginning of the match, and return point.\n\ -The match found is the one starting last in the buffer\n\ -and yet ending before the origin of the search.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must start at or after that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.\n\ -See also the functions `match-beginning', `match-end', `match-string',\n\ -and `replace-match'.") - (regexp, bound, noerror, count) + "sPosix search backward: ", + doc: /* Search backward from point for match for regular expression REGEXP. +Find the longest match in accord with Posix regular expression rules. +Set point to the beginning of the match, and return point. +The match found is the one starting last in the buffer +and yet ending before the origin of the search. +An optional second argument bounds the search; it is a buffer position. +The match found must start at or after that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. +See also the functions `match-beginning', `match-end', `match-string', +and `replace-match'. */) + (regexp, bound, noerror, count) Lisp_Object regexp, bound, noerror, count; { return search_command (regexp, bound, noerror, count, -1, 1, 1); } DEFUN ("posix-search-forward", Fposix_search_forward, Sposix_search_forward, 1, 4, - "sPosix search: ", - "Search forward from point for regular expression REGEXP.\n\ -Find the longest match in accord with Posix regular expression rules.\n\ -Set point to the end of the occurrence found, and return point.\n\ -An optional second argument bounds the search; it is a buffer position.\n\ -The match found must not extend after that position.\n\ -Optional third argument, if t, means if fail just return nil (no error).\n\ - If not nil and not t, move to limit of search and return nil.\n\ -Optional fourth argument is repeat count--search for successive occurrences.\n\ -See also the functions `match-beginning', `match-end', `match-string',\n\ -and `replace-match'.") - (regexp, bound, noerror, count) + "sPosix search: ", + doc: /* Search forward from point for regular expression REGEXP. +Find the longest match in accord with Posix regular expression rules. +Set point to the end of the occurrence found, and return point. +An optional second argument bounds the search; it is a buffer position. +The match found must not extend after that position. +Optional third argument, if t, means if fail just return nil (no error). + If not nil and not t, move to limit of search and return nil. +Optional fourth argument is repeat count--search for successive occurrences. +See also the functions `match-beginning', `match-end', `match-string', +and `replace-match'. */) + (regexp, bound, noerror, count) Lisp_Object regexp, bound, noerror, count; { return search_command (regexp, bound, noerror, count, 1, 1, 1); } DEFUN ("replace-match", Freplace_match, Sreplace_match, 1, 5, 0, - "Replace text matched by last search with NEWTEXT.\n\ -If second arg FIXEDCASE is non-nil, do not alter case of replacement text.\n\ -Otherwise maybe capitalize the whole text, or maybe just word initials,\n\ -based on the replaced text.\n\ -If the replaced text has only capital letters\n\ -and has at least one multiletter word, convert NEWTEXT to all caps.\n\ -If the replaced text has at least one word starting with a capital letter,\n\ -then capitalize each word in NEWTEXT.\n\n\ -If third arg LITERAL is non-nil, insert NEWTEXT literally.\n\ -Otherwise treat `\\' as special:\n\ - `\\&' in NEWTEXT means substitute original matched text.\n\ - `\\N' means substitute what matched the Nth `\\(...\\)'.\n\ - If Nth parens didn't match, substitute nothing.\n\ - `\\\\' means insert one `\\'.\n\ -FIXEDCASE and LITERAL are optional arguments.\n\ -Leaves point at end of replacement text.\n\ -\n\ -The optional fourth argument STRING can be a string to modify.\n\ -This is meaningful when the previous match was done against STRING,\n\ -using `string-match'. When used this way, `replace-match'\n\ -creates and returns a new string made by copying STRING and replacing\n\ -the part of STRING that was matched.\n\ -\n\ -The optional fifth argument SUBEXP specifies a subexpression;\n\ -it says to replace just that subexpression with NEWTEXT,\n\ -rather than replacing the entire matched text.\n\ -This is, in a vague sense, the inverse of using `\\N' in NEWTEXT;\n\ -`\\N' copies subexp N into NEWTEXT, but using N as SUBEXP puts\n\ -NEWTEXT in place of subexp N.\n\ -This is useful only after a regular expression search or match,\n\ -since only regular expressions have distinguished subexpressions.") - (newtext, fixedcase, literal, string, subexp) + doc: /* Replace text matched by last search with NEWTEXT. +If second arg FIXEDCASE is non-nil, do not alter case of replacement text. +Otherwise maybe capitalize the whole text, or maybe just word initials, +based on the replaced text. +If the replaced text has only capital letters +and has at least one multiletter word, convert NEWTEXT to all caps. +If the replaced text has at least one word starting with a capital letter, +then capitalize each word in NEWTEXT. + +If third arg LITERAL is non-nil, insert NEWTEXT literally. +Otherwise treat `\\' as special: + `\\&' in NEWTEXT means substitute original matched text. + `\\N' means substitute what matched the Nth `\\(...\\)'. + If Nth parens didn't match, substitute nothing. + `\\\\' means insert one `\\'. +FIXEDCASE and LITERAL are optional arguments. +Leaves point at end of replacement text. + +The optional fourth argument STRING can be a string to modify. +This is meaningful when the previous match was done against STRING, +using `string-match'. When used this way, `replace-match' +creates and returns a new string made by copying STRING and replacing +the part of STRING that was matched. + +The optional fifth argument SUBEXP specifies a subexpression; +it says to replace just that subexpression with NEWTEXT, +rather than replacing the entire matched text. +This is, in a vague sense, the inverse of using `\\N' in NEWTEXT; +`\\N' copies subexp N into NEWTEXT, but using N as SUBEXP puts +NEWTEXT in place of subexp N. +This is useful only after a regular expression search or match, +since only regular expressions have distinguished subexpressions. */) + (newtext, fixedcase, literal, string, subexp) Lisp_Object newtext, fixedcase, literal, string, subexp; { enum { nochange, all_caps, cap_initial } case_action; @@ -2597,43 +2598,43 @@ match_limit (num, beginningp) } DEFUN ("match-beginning", Fmatch_beginning, Smatch_beginning, 1, 1, 0, - "Return position of start of text matched by last search.\n\ -SUBEXP, a number, specifies which parenthesized expression in the last\n\ - regexp.\n\ -Value is nil if SUBEXPth pair didn't match, or there were less than\n\ - SUBEXP pairs.\n\ -Zero means the entire text matched by the whole regexp or whole string.") - (subexp) + doc: /* Return position of start of text matched by last search. +SUBEXP, a number, specifies which parenthesized expression in the last + regexp. +Value is nil if SUBEXPth pair didn't match, or there were less than + SUBEXP pairs. +Zero means the entire text matched by the whole regexp or whole string. */) + (subexp) Lisp_Object subexp; { return match_limit (subexp, 1); } DEFUN ("match-end", Fmatch_end, Smatch_end, 1, 1, 0, - "Return position of end of text matched by last search.\n\ -SUBEXP, a number, specifies which parenthesized expression in the last\n\ - regexp.\n\ -Value is nil if SUBEXPth pair didn't match, or there were less than\n\ - SUBEXP pairs.\n\ -Zero means the entire text matched by the whole regexp or whole string.") - (subexp) + doc: /* Return position of end of text matched by last search. +SUBEXP, a number, specifies which parenthesized expression in the last + regexp. +Value is nil if SUBEXPth pair didn't match, or there were less than + SUBEXP pairs. +Zero means the entire text matched by the whole regexp or whole string. */) + (subexp) Lisp_Object subexp; { return match_limit (subexp, 0); } DEFUN ("match-data", Fmatch_data, Smatch_data, 0, 2, 0, - "Return a list containing all info on what the last search matched.\n\ -Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'.\n\ -All the elements are markers or nil (nil if the Nth pair didn't match)\n\ -if the last match was on a buffer; integers or nil if a string was matched.\n\ -Use `store-match-data' to reinstate the data in this list.\n\ -\n\ -If INTEGERS (the optional first argument) is non-nil, always use integers\n\ -\(rather than markers) to represent buffer positions.\n\ -If REUSE is a list, reuse it as part of the value. If REUSE is long enough\n\ -to hold all the values, and if INTEGERS is non-nil, no consing is done.") - (integers, reuse) + doc: /* Return a list containing all info on what the last search matched. +Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'. +All the elements are markers or nil (nil if the Nth pair didn't match) +if the last match was on a buffer; integers or nil if a string was matched. +Use `store-match-data' to reinstate the data in this list. + +If INTEGERS (the optional first argument) is non-nil, always use integers +\(rather than markers) to represent buffer positions. +If REUSE is a list, reuse it as part of the value. If REUSE is long enough +to hold all the values, and if INTEGERS is non-nil, no consing is done. */) + (integers, reuse) Lisp_Object integers, reuse; { Lisp_Object tail, prev; @@ -2707,9 +2708,9 @@ to hold all the values, and if INTEGERS is non-nil, no consing is done.") DEFUN ("set-match-data", Fset_match_data, Sset_match_data, 1, 1, 0, - "Set internal data on last search match from elements of LIST.\n\ -LIST should have been created by calling `match-data' previously.") - (list) + doc: /* Set internal data on last search match from elements of LIST. +LIST should have been created by calling `match-data' previously. */) + (list) register Lisp_Object list; { register int i; @@ -2838,8 +2839,8 @@ restore_match_data () /* Quote a string to inactivate reg-expr chars */ DEFUN ("regexp-quote", Fregexp_quote, Sregexp_quote, 1, 1, 0, - "Return a regexp string which matches exactly STRING and nothing else.") - (string) + doc: /* Return a regexp string which matches exactly STRING and nothing else. */) + (string) Lisp_Object string; { register unsigned char *in, *out, *end; diff --git a/src/sound.c b/src/sound.c index 7cbbabc185..a5b9e77bc1 100644 --- a/src/sound.c +++ b/src/sound.c @@ -370,24 +370,24 @@ sound_cleanup (arg) DEFUN ("play-sound", Fplay_sound, Splay_sound, 1, 1, 0, - "Play sound SOUND.\n\ -SOUND is a list of the form `(sound KEYWORD VALUE...)'.\n\ -The following keywords are recognized:\n\ -\n\ - :file FILE.- read sound data from FILE. If FILE isn't an\n\ -absolute file name, it is searched in `data-directory'.\n\ -\n\ - :data DATA - read sound data from string DATA.\n\ -\n\ -Exactly one of :file or :data must be present.\n\ -\n\ - :volume VOL - set volume to VOL. VOL must an integer in the\n\ -range 0..100 or a float in the range 0..1.0. If not specified,\n\ -don't change the volume setting of the sound device.\n\ -\n\ - :device DEVICE - play sound on DEVICE. If not specified,\n\ -a system-dependent default device name is used.") - (sound) + doc: /* Play sound SOUND. +SOUND is a list of the form `(sound KEYWORD VALUE...)'. +The following keywords are recognized: + + :file FILE.- read sound data from FILE. If FILE isn't an +absolute file name, it is searched in `data-directory'. + + :data DATA - read sound data from string DATA. + +Exactly one of :file or :data must be present. + + :volume VOL - set volume to VOL. VOL must an integer in the +range 0..100 or a float in the range 0..1.0. If not specified, +don't change the volume setting of the sound device. + + :device DEVICE - play sound on DEVICE. If not specified, +a system-dependent default device name is used. */) + (sound) Lisp_Object sound; { Lisp_Object attrs[SOUND_ATTR_SENTINEL]; diff --git a/src/sunfns.c b/src/sunfns.c index c526100257..befe033b9a 100644 --- a/src/sunfns.c +++ b/src/sunfns.c @@ -108,12 +108,12 @@ struct cursor DefaultCursor = {0, 0, PIX_SRC ^ PIX_DST, &ArrowCursorMpr}; * Initialize window */ DEFUN ("sun-window-init", Fsun_window_init, Ssun_window_init, 0, 1, 0, - "One time setup for using Sun Windows with mouse.\n\ -Unless optional argument FORCE is non-nil, is a noop after its first call.\n\ -Returns a number representing the file descriptor of the open Sun Window,\n\ -or -1 if can not open it.") - (force) - Lisp_Object force; + doc: /* One time setup for using Sun Windows with mouse. +Unless optional argument FORCE is non-nil, is a noop after its first call. +Returns a number representing the file descriptor of the open Sun Window, +or -1 if can not open it. */) + (force) + Lisp_Object force; { char *cp; static int already_initialized = 0; @@ -149,12 +149,12 @@ or -1 if can not open it.") * and can be interrupted by the mouse) */ DEFUN ("sit-for-millisecs", Fsit_for_millisecs, Ssit_for_millisecs, 1, 1, 0, - "Like sit-for, but ARG is milliseconds. \n\ -Perform redisplay, then wait for ARG milliseconds or until\n\ -input is available. Returns t if wait completed with no input.\n\ -Redisplay does not happen if input is available before it starts.") - (n) - Lisp_Object n; + doc: /* Like sit-for, but ARG is milliseconds. +Perform redisplay, then wait for ARG milliseconds or until +input is available. Returns t if wait completed with no input. +Redisplay does not happen if input is available before it starts. */) + (n) + Lisp_Object n; { struct timeval Timeout; int waitmask = 1; @@ -179,11 +179,11 @@ Redisplay does not happen if input is available before it starts.") * Sun sleep-for (allows a shorter interval than the regular sleep-for) */ DEFUN ("sleep-for-millisecs", - Fsleep_for_millisecs, - Ssleep_for_millisecs, 1, 1, 0, - "Pause, without updating display, for ARG milliseconds.") - (n) - Lisp_Object n; + Fsleep_for_millisecs, + Ssleep_for_millisecs, 1, 1, 0, + doc: /* Pause, without updating display, for ARG milliseconds. */) + (n) + Lisp_Object n; { unsigned useconds; @@ -194,7 +194,7 @@ DEFUN ("sleep-for-millisecs", } DEFUN ("update-display", Fupdate_display, Supdate_display, 0, 0, 0, - "Perform redisplay.") + doc: /* Perform redisplay. */) () { redisplay_preserve_echo_area (17); @@ -206,12 +206,12 @@ DEFUN ("update-display", Fupdate_display, Supdate_display, 0, 0, 0, * Change the Sun mouse icon */ DEFUN ("sun-change-cursor-icon", - Fsun_change_cursor_icon, - Ssun_change_cursor_icon, 1, 1, 0, - "Change the Sun mouse cursor icon. ICON is a lisp vector whose 1st element\n\ -is the X offset of the cursor hot-point, whose 2nd element is the Y offset\n\ -of the cursor hot-point and whose 3rd element is the cursor pixel data\n\ -expressed as a string. If ICON is nil then the original arrow cursor is used") + Fsun_change_cursor_icon, + Ssun_change_cursor_icon, 1, 1, 0, + doc: /* Change the Sun mouse cursor icon. ICON is a lisp vector whose 1st element +is the X offset of the cursor hot-point, whose 2nd element is the Y offset +of the cursor hot-point and whose 3rd element is the cursor pixel data +expressed as a string. If ICON is nil then the original arrow cursor is used. */) (Icon) Lisp_Object Icon; { @@ -318,7 +318,7 @@ sel_read (sel, file) */ DEFUN ("sun-set-selection", Fsun_set_selection, Ssun_set_selection, 1, 1, "sSet selection to: ", - "Set the current sunwindow selection to STRING.") + doc: /* Set the current sunwindow selection to STRING. */) (str) Lisp_Object str; { @@ -339,7 +339,7 @@ DEFUN ("sun-set-selection", Fsun_set_selection, Ssun_set_selection, 1, 1, * Stuff the current window system selection into the current buffer */ DEFUN ("sun-get-selection", Fsun_get_selection, Ssun_get_selection, 0, 0, 0, - "Return the current sunwindows selection as a string.") + doc: /* Return the current sunwindows selection as a string. */) () { CHECK_GFX (Current_Selection); @@ -422,22 +422,22 @@ make_menu_label (menu) DEFUN ("sun-menu-internal", Fsun_menu_internal, Ssun_menu_internal, 5, 5, 0, - "Set up a SunView pop-up menu and return the user's choice.\n\ -Arguments WINDOW, X, Y, BUTTON, and MENU.\n\ -*** User code should generally use sun-menu-evaluate ***\n\ -\n\ -Arguments WINDOW, X, Y, BUTTON, and MENU.\n\ -Put MENU up in WINDOW at position X, Y.\n\ -The BUTTON argument specifies the button to be released that selects an item:\n\ - 1 = LEFT BUTTON\n\ - 2 = MIDDLE BUTTON\n\ - 4 = RIGHT BUTTON\n\ -The MENU argument is a vector containing (STRING . VALUE) pairs.\n\ -The VALUE of the selected item is returned.\n\ -If the VALUE of the first pair is nil, then the first STRING will be used\n\ -as a menu label.") - (window, X_Position, Y_Position, Button, MEnu) - Lisp_Object window, X_Position, Y_Position, Button, MEnu; + doc: /* Set up a SunView pop-up menu and return the user's choice. +Arguments WINDOW, X, Y, BUTTON, and MENU. +*** User code should generally use sun-menu-evaluate *** + +Arguments WINDOW, X, Y, BUTTON, and MENU. +Put MENU up in WINDOW at position X, Y. +The BUTTON argument specifies the button to be released that selects an item: + 1 = LEFT BUTTON + 2 = MIDDLE BUTTON + 4 = RIGHT BUTTON +The MENU argument is a vector containing (STRING . VALUE) pairs. +The VALUE of the selected item is returned. +If the VALUE of the first pair is nil, then the first STRING will be used +as a menu label. */) + (window, X_Position, Y_Position, Button, MEnu) + Lisp_Object window, X_Position, Y_Position, Button, MEnu; { Menu menu; int button, xpos, ypos; diff --git a/src/textprop.c b/src/textprop.c index b43503dfdb..f49d670267 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -534,11 +534,11 @@ interval_of (position, object) DEFUN ("text-properties-at", Ftext_properties_at, Stext_properties_at, 1, 2, 0, - "Return the list of properties of the character at POSITION in OBJECT.\n\ -OBJECT is the string or buffer to look for the properties in;\n\ -nil means the current buffer.\n\ -If POSITION is at the end of OBJECT, the value is nil.") - (position, object) + doc: /* Return the list of properties of the character at POSITION in OBJECT. +OBJECT is the string or buffer to look for the properties in; +nil means the current buffer. +If POSITION is at the end of OBJECT, the value is nil. */) + (position, object) Lisp_Object position, object; { register INTERVAL i; @@ -560,10 +560,10 @@ If POSITION is at the end of OBJECT, the value is nil.") } DEFUN ("get-text-property", Fget_text_property, Sget_text_property, 2, 3, 0, - "Return the value of POSITION's property PROP, in OBJECT.\n\ -OBJECT is optional and defaults to the current buffer.\n\ -If POSITION is at the end of OBJECT, the value is nil.") - (position, prop, object) + doc: /* Return the value of POSITION's property PROP, in OBJECT. +OBJECT is optional and defaults to the current buffer. +If POSITION is at the end of OBJECT, the value is nil. */) + (position, prop, object) Lisp_Object position, object; Lisp_Object prop; { @@ -654,14 +654,14 @@ get_char_property_and_overlay (position, prop, object, overlay) } DEFUN ("get-char-property", Fget_char_property, Sget_char_property, 2, 3, 0, - "Return the value of POSITION's property PROP, in OBJECT.\n\ -OBJECT is optional and defaults to the current buffer.\n\ -If POSITION is at the end of OBJECT, the value is nil.\n\ -If OBJECT is a buffer, then overlay properties are considered as well as\n\ -text properties.\n\ -If OBJECT is a window, then that window's buffer is used, but window-specific\n\ -overlays are considered only if they are associated with OBJECT.") - (position, prop, object) + doc: /* Return the value of POSITION's property PROP, in OBJECT. +OBJECT is optional and defaults to the current buffer. +If POSITION is at the end of OBJECT, the value is nil. +If OBJECT is a buffer, then overlay properties are considered as well as +text properties. +If OBJECT is a window, then that window's buffer is used, but window-specific +overlays are considered only if they are associated with OBJECT. */) + (position, prop, object) Lisp_Object position, object; register Lisp_Object prop; { @@ -670,15 +670,15 @@ overlays are considered only if they are associated with OBJECT.") DEFUN ("next-char-property-change", Fnext_char_property_change, Snext_char_property_change, 1, 2, 0, - "Return the position of next text property or overlay change.\n\ -This scans characters forward from POSITION till it finds a change in\n\ -some text property, or the beginning or end of an overlay, and returns\n\ -the position of that.\n\ -If none is found, the function returns (point-max).\n\ -\n\ -If the optional third argument LIMIT is non-nil, don't search\n\ -past position LIMIT; return LIMIT if nothing is found before LIMIT.") - (position, limit) + doc: /* Return the position of next text property or overlay change. +This scans characters forward from POSITION till it finds a change in +some text property, or the beginning or end of an overlay, and returns +the position of that. +If none is found, the function returns (point-max). + +If the optional third argument LIMIT is non-nil, don't search +past position LIMIT; return LIMIT if nothing is found before LIMIT. */) + (position, limit) Lisp_Object position, limit; { Lisp_Object temp; @@ -695,15 +695,15 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.") DEFUN ("previous-char-property-change", Fprevious_char_property_change, Sprevious_char_property_change, 1, 2, 0, - "Return the position of previous text property or overlay change.\n\ -Scans characters backward from POSITION till it finds a change in some\n\ -text property, or the beginning or end of an overlay, and returns the\n\ -position of that.\n\ -If none is found, the function returns (point-max).\n\ -\n\ -If the optional third argument LIMIT is non-nil, don't search\n\ -past position LIMIT; return LIMIT if nothing is found before LIMIT.") - (position, limit) + doc: /* Return the position of previous text property or overlay change. +Scans characters backward from POSITION till it finds a change in some +text property, or the beginning or end of an overlay, and returns the +position of that. +If none is found, the function returns (point-max). + +If the optional third argument LIMIT is non-nil, don't search +past position LIMIT; return LIMIT if nothing is found before LIMIT. */) + (position, limit) Lisp_Object position, limit; { Lisp_Object temp; @@ -721,16 +721,16 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.") DEFUN ("next-single-char-property-change", Fnext_single_char_property_change, Snext_single_char_property_change, 2, 4, 0, - "Return the position of next text property or overlay change for a specific property.\n\ -Scans characters forward from POSITION till it finds\n\ -a change in the PROP property, then returns the position of the change.\n\ -The optional third argument OBJECT is the string or buffer to scan.\n\ -The property values are compared with `eq'.\n\ -If the property is constant all the way to the end of OBJECT, return the\n\ -last valid position in OBJECT.\n\ -If the optional fourth argument LIMIT is non-nil, don't search\n\ -past position LIMIT; return LIMIT if nothing is found before LIMIT.") - (position, prop, object, limit) + doc: /* Return the position of next text property or overlay change for a specific property. +Scans characters forward from POSITION till it finds +a change in the PROP property, then returns the position of the change. +The optional third argument OBJECT is the string or buffer to scan. +The property values are compared with `eq'. +If the property is constant all the way to the end of OBJECT, return the +last valid position in OBJECT. +If the optional fourth argument LIMIT is non-nil, don't search +past position LIMIT; return LIMIT if nothing is found before LIMIT. */) + (position, prop, object, limit) Lisp_Object prop, position, object, limit; { if (STRINGP (object)) @@ -787,16 +787,16 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.") DEFUN ("previous-single-char-property-change", Fprevious_single_char_property_change, Sprevious_single_char_property_change, 2, 4, 0, - "Return the position of previous text property or overlay change for a specific property.\n\ -Scans characters backward from POSITION till it finds\n\ -a change in the PROP property, then returns the position of the change.\n\ -The optional third argument OBJECT is the string or buffer to scan.\n\ -The property values are compared with `eq'.\n\ -If the property is constant all the way to the start of OBJECT, return the\n\ -first valid position in OBJECT.\n\ -If the optional fourth argument LIMIT is non-nil, don't search\n\ -back past position LIMIT; return LIMIT if nothing is found before LIMIT.") - (position, prop, object, limit) + doc: /* Return the position of previous text property or overlay change for a specific property. +Scans characters backward from POSITION till it finds +a change in the PROP property, then returns the position of the change. +The optional third argument OBJECT is the string or buffer to scan. +The property values are compared with `eq'. +If the property is constant all the way to the start of OBJECT, return the +first valid position in OBJECT. +If the optional fourth argument LIMIT is non-nil, don't search +back past position LIMIT; return LIMIT if nothing is found before LIMIT. */) + (position, prop, object, limit) Lisp_Object prop, position, object, limit; { if (STRINGP (object)) @@ -865,15 +865,16 @@ back past position LIMIT; return LIMIT if nothing is found before LIMIT.") DEFUN ("next-property-change", Fnext_property_change, Snext_property_change, 1, 3, 0, - "Return the position of next property change.\n\ -Scans characters forward from POSITION in OBJECT till it finds\n\ -a change in some text property, then returns the position of the change.\n\ -The optional second argument OBJECT is the string or buffer to scan.\n\ -Return nil if the property is constant all the way to the end of OBJECT.\n\ -If the value is non-nil, it is a position greater than POSITION, never equal.\n\n\ -If the optional third argument LIMIT is non-nil, don't search\n\ -past position LIMIT; return LIMIT if nothing is found before LIMIT.") - (position, object, limit) + doc: /* Return the position of next property change. +Scans characters forward from POSITION in OBJECT till it finds +a change in some text property, then returns the position of the change. +The optional second argument OBJECT is the string or buffer to scan. +Return nil if the property is constant all the way to the end of OBJECT. +If the value is non-nil, it is a position greater than POSITION, never equal. + +If the optional third argument LIMIT is non-nil, don't search +past position LIMIT; return LIMIT if nothing is found before LIMIT. */) + (position, object, limit) Lisp_Object position, object, limit; { register INTERVAL i, next; @@ -956,16 +957,17 @@ property_change_between_p (beg, end) DEFUN ("next-single-property-change", Fnext_single_property_change, Snext_single_property_change, 2, 4, 0, - "Return the position of next property change for a specific property.\n\ -Scans characters forward from POSITION till it finds\n\ -a change in the PROP property, then returns the position of the change.\n\ -The optional third argument OBJECT is the string or buffer to scan.\n\ -The property values are compared with `eq'.\n\ -Return nil if the property is constant all the way to the end of OBJECT.\n\ -If the value is non-nil, it is a position greater than POSITION, never equal.\n\n\ -If the optional fourth argument LIMIT is non-nil, don't search\n\ -past position LIMIT; return LIMIT if nothing is found before LIMIT.") - (position, prop, object, limit) + doc: /* Return the position of next property change for a specific property. +Scans characters forward from POSITION till it finds +a change in the PROP property, then returns the position of the change. +The optional third argument OBJECT is the string or buffer to scan. +The property values are compared with `eq'. +Return nil if the property is constant all the way to the end of OBJECT. +If the value is non-nil, it is a position greater than POSITION, never equal. + +If the optional fourth argument LIMIT is non-nil, don't search +past position LIMIT; return LIMIT if nothing is found before LIMIT. */) + (position, prop, object, limit) Lisp_Object position, prop, object, limit; { register INTERVAL i, next; @@ -998,15 +1000,16 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.") DEFUN ("previous-property-change", Fprevious_property_change, Sprevious_property_change, 1, 3, 0, - "Return the position of previous property change.\n\ -Scans characters backwards from POSITION in OBJECT till it finds\n\ -a change in some text property, then returns the position of the change.\n\ -The optional second argument OBJECT is the string or buffer to scan.\n\ -Return nil if the property is constant all the way to the start of OBJECT.\n\ -If the value is non-nil, it is a position less than POSITION, never equal.\n\n\ -If the optional third argument LIMIT is non-nil, don't search\n\ -back past position LIMIT; return LIMIT if nothing is found until LIMIT.") - (position, object, limit) + doc: /* Return the position of previous property change. +Scans characters backwards from POSITION in OBJECT till it finds +a change in some text property, then returns the position of the change. +The optional second argument OBJECT is the string or buffer to scan. +Return nil if the property is constant all the way to the start of OBJECT. +If the value is non-nil, it is a position less than POSITION, never equal. + +If the optional third argument LIMIT is non-nil, don't search +back past position LIMIT; return LIMIT if nothing is found until LIMIT. */) + (position, object, limit) Lisp_Object position, object, limit; { register INTERVAL i, previous; @@ -1041,15 +1044,16 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT.") DEFUN ("previous-single-property-change", Fprevious_single_property_change, Sprevious_single_property_change, 2, 4, 0, - "Return the position of previous property change for a specific property.\n\ -Scans characters backward from POSITION till it finds\n\ -a change in the PROP property, then returns the position of the change.\n\ -The optional third argument OBJECT is the string or buffer to scan.\n\ -The property values are compared with `eq'.\n\ -Return nil if the property is constant all the way to the start of OBJECT.\n\ -If the value is non-nil, it is a position less than POSITION, never equal.\n\n\ -If the optional fourth argument LIMIT is non-nil, don't search\n\ -back past position LIMIT; return LIMIT if nothing is found until LIMIT.") + doc: /* Return the position of previous property change for a specific property. +Scans characters backward from POSITION till it finds +a change in the PROP property, then returns the position of the change. +The optional third argument OBJECT is the string or buffer to scan. +The property values are compared with `eq'. +Return nil if the property is constant all the way to the start of OBJECT. +If the value is non-nil, it is a position less than POSITION, never equal. + +If the optional fourth argument LIMIT is non-nil, don't search +back past position LIMIT; return LIMIT if nothing is found until LIMIT. */) (position, prop, object, limit) Lisp_Object position, prop, object, limit; { @@ -1091,13 +1095,13 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT.") DEFUN ("add-text-properties", Fadd_text_properties, Sadd_text_properties, 3, 4, 0, - "Add properties to the text from START to END.\n\ -The third argument PROPERTIES is a property list\n\ -specifying the property values to add.\n\ -The optional fourth argument, OBJECT,\n\ -is the string or buffer containing the text.\n\ -Return t if any property value actually changed, nil otherwise.") - (start, end, properties, object) + doc: /* Add properties to the text from START to END. +The third argument PROPERTIES is a property list +specifying the property values to add. +The optional fourth argument, OBJECT, +is the string or buffer containing the text. +Return t if any property value actually changed, nil otherwise. */) + (start, end, properties, object) Lisp_Object start, end, properties, object; { register INTERVAL i, unchanged; @@ -1199,12 +1203,12 @@ Return t if any property value actually changed, nil otherwise.") DEFUN ("put-text-property", Fput_text_property, Sput_text_property, 4, 5, 0, - "Set one property of the text from START to END.\n\ -The third and fourth arguments PROPERTY and VALUE\n\ -specify the property to add.\n\ -The optional fifth argument, OBJECT,\n\ -is the string or buffer containing the text.") - (start, end, property, value, object) + doc: /* Set one property of the text from START to END. +The third and fourth arguments PROPERTY and VALUE +specify the property to add. +The optional fifth argument, OBJECT, +is the string or buffer containing the text. */) + (start, end, property, value, object) Lisp_Object start, end, property, value, object; { Fadd_text_properties (start, end, @@ -1215,14 +1219,14 @@ is the string or buffer containing the text.") DEFUN ("set-text-properties", Fset_text_properties, Sset_text_properties, 3, 4, 0, - "Completely replace properties of text from START to END.\n\ -The third argument PROPERTIES is the new property list.\n\ -The optional fourth argument, OBJECT,\n\ -is the string or buffer containing the text.\n\ -If OBJECT is omitted or nil, it defaults to the current buffer.\n\ -If PROPERTIES is nil, the effect is to remove all properties from\n\ -the designated part of OBJECT.") - (start, end, properties, object) + doc: /* Completely replace properties of text from START to END. +The third argument PROPERTIES is the new property list. +The optional fourth argument, OBJECT, +is the string or buffer containing the text. +If OBJECT is omitted or nil, it defaults to the current buffer. +If PROPERTIES is nil, the effect is to remove all properties from +the designated part of OBJECT. */) + (start, end, properties, object) Lisp_Object start, end, properties, object; { return set_text_properties (start, end, properties, object, Qt); @@ -1369,14 +1373,14 @@ set_text_properties (start, end, properties, object, signal_after_change_p) DEFUN ("remove-text-properties", Fremove_text_properties, Sremove_text_properties, 3, 4, 0, - "Remove some properties from text from START to END.\n\ -The third argument PROPERTIES is a property list\n\ -whose property names specify the properties to remove.\n\ -\(The values stored in PROPERTIES are ignored.)\n\ -The optional fourth argument, OBJECT,\n\ -is the string or buffer containing the text.\n\ -Return t if any property was actually removed, nil otherwise.") - (start, end, properties, object) + doc: /* Remove some properties from text from START to END. +The third argument PROPERTIES is a property list +whose property names specify the properties to remove. +\(The values stored in PROPERTIES are ignored.) +The optional fourth argument, OBJECT, +is the string or buffer containing the text. +Return t if any property was actually removed, nil otherwise. */) + (start, end, properties, object) Lisp_Object start, end, properties, object; { register INTERVAL i, unchanged; @@ -1456,13 +1460,13 @@ Return t if any property was actually removed, nil otherwise.") DEFUN ("text-property-any", Ftext_property_any, Stext_property_any, 4, 5, 0, - "Check text from START to END for property PROPERTY equalling VALUE.\n\ -If so, return the position of the first character whose property PROPERTY\n\ -is `eq' to VALUE. Otherwise return nil.\n\ -The optional fifth argument, OBJECT, is the string or buffer\n\ -containing the text.") - (start, end, property, value, object) - Lisp_Object start, end, property, value, object; + doc: /* Check text from START to END for property PROPERTY equalling VALUE. +If so, return the position of the first character whose property PROPERTY +is `eq' to VALUE. Otherwise return nil. +The optional fifth argument, OBJECT, is the string or buffer +containing the text. */) + (start, end, property, value, object) + Lisp_Object start, end, property, value, object; { register INTERVAL i; register int e, pos; @@ -1492,13 +1496,13 @@ containing the text.") DEFUN ("text-property-not-all", Ftext_property_not_all, Stext_property_not_all, 4, 5, 0, - "Check text from START to END for property PROPERTY not equalling VALUE.\n\ -If so, return the position of the first character whose property PROPERTY\n\ -is not `eq' to VALUE. Otherwise, return nil.\n\ -The optional fifth argument, OBJECT, is the string or buffer\n\ -containing the text.") - (start, end, property, value, object) - Lisp_Object start, end, property, value, object; + doc: /* Check text from START to END for property PROPERTY not equalling VALUE. +If so, return the position of the first character whose property PROPERTY +is not `eq' to VALUE. Otherwise, return nil. +The optional fifth argument, OBJECT, is the string or buffer +containing the text. */) + (start, end, property, value, object) + Lisp_Object start, end, property, value, object; { register INTERVAL i; register int s, e; @@ -1964,25 +1968,25 @@ void syms_of_textprop () { DEFVAR_LISP ("default-text-properties", &Vdefault_text_properties, - "Property-list used as default values.\n\ -The value of a property in this list is seen as the value for every\n\ -character that does not have its own value for that property."); + doc: /* Property-list used as default values. +The value of a property in this list is seen as the value for every +character that does not have its own value for that property. */); Vdefault_text_properties = Qnil; DEFVAR_LISP ("inhibit-point-motion-hooks", &Vinhibit_point_motion_hooks, - "If non-nil, don't run `point-left' and `point-entered' text properties.\n\ -This also inhibits the use of the `intangible' text property."); + doc: /* If non-nil, don't run `point-left' and `point-entered' text properties. +This also inhibits the use of the `intangible' text property. */); Vinhibit_point_motion_hooks = Qnil; DEFVAR_LISP ("text-property-default-nonsticky", &Vtext_property_default_nonsticky, - "Alist of properties vs the corresponding non-stickinesses.\n\ -Each element has the form (PROPERTY . NONSTICKINESS).\n\ -\n\ -If a character in a buffer has PROPERTY, new text inserted adjacent to\n\ -the character doesn't inherit PROPERTY if NONSTICKINESS is non-nil,\n\ -inherits it if NONSTICKINESS is nil. The front-sticky and\n\ -rear-nonsticky properties of the character overrides NONSTICKINESS."); + doc: /* Alist of properties vs the corresponding non-stickinesses. +Each element has the form (PROPERTY . NONSTICKINESS). + +If a character in a buffer has PROPERTY, new text inserted adjacent to +the character doesn't inherit PROPERTY if NONSTICKINESS is non-nil, +inherits it if NONSTICKINESS is nil. The front-sticky and +rear-nonsticky properties of the character overrides NONSTICKINESS. */); Vtext_property_default_nonsticky = Qnil; staticpro (&interval_insert_behind_hooks); diff --git a/src/undo.c b/src/undo.c index bf10de6e50..0c87a599bc 100644 --- a/src/undo.c +++ b/src/undo.c @@ -257,10 +257,10 @@ record_property_change (beg, length, prop, value, buffer) } DEFUN ("undo-boundary", Fundo_boundary, Sundo_boundary, 0, 0, 0, - "Mark a boundary between units of undo.\n\ -An undo command will stop at this point,\n\ -but another undo command will undo to the previous boundary.") - () + doc: /* Mark a boundary between units of undo. +An undo command will stop at this point, +but another undo command will undo to the previous boundary. */) + () { Lisp_Object tem; if (EQ (current_buffer->undo_list, Qt)) @@ -386,9 +386,9 @@ truncate_undo_list (list, minsize, maxsize) } DEFUN ("primitive-undo", Fprimitive_undo, Sprimitive_undo, 2, 2, 0, - "Undo N records from the front of the list LIST.\n\ -Return what remains of the list.") - (n, list) + doc: /* Undo N records from the front of the list LIST. +Return what remains of the list. */) + (n, list) Lisp_Object n, list; { struct gcpro gcpro1, gcpro2; diff --git a/src/xselect.c b/src/xselect.c index ad27323d35..f2c1aa0a3e 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -1948,13 +1948,13 @@ x_handle_selection_notify (event) DEFUN ("x-own-selection-internal", Fx_own_selection_internal, - Sx_own_selection_internal, 2, 2, 0, - "Assert an X selection of the given TYPE with the given VALUE.\n\ -TYPE is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.\n\ -\(Those are literal upper-case symbol names, since that's what X expects.)\n\ -VALUE is typically a string, or a cons of two markers, but may be\n\ -anything that the functions on `selection-converter-alist' know about.") - (selection_name, selection_value) + Sx_own_selection_internal, 2, 2, 0, + doc: /* Assert an X selection of the given TYPE with the given VALUE. +TYPE is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. +\(Those are literal upper-case symbol names, since that's what X expects.) +VALUE is typically a string, or a cons of two markers, but may be +anything that the functions on `selection-converter-alist' know about. */) + (selection_name, selection_value) Lisp_Object selection_name, selection_value; { check_x (); @@ -1970,12 +1970,12 @@ anything that the functions on `selection-converter-alist' know about.") will block until all of the data has arrived. */ DEFUN ("x-get-selection-internal", Fx_get_selection_internal, - Sx_get_selection_internal, 2, 2, 0, - "Return text selected from some X window.\n\ -SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.\n\ -\(Those are literal upper-case symbol names, since that's what X expects.)\n\ -TYPE is the type of data desired, typically `STRING'.") - (selection_symbol, target_type) + Sx_get_selection_internal, 2, 2, 0, + doc: /* Return text selected from some X window. +SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. +\(Those are literal upper-case symbol names, since that's what X expects.) +TYPE is the type of data desired, typically `STRING'. */) + (selection_symbol, target_type) Lisp_Object selection_symbol, target_type; { Lisp_Object val = Qnil; @@ -2018,10 +2018,10 @@ TYPE is the type of data desired, typically `STRING'.") } DEFUN ("x-disown-selection-internal", Fx_disown_selection_internal, - Sx_disown_selection_internal, 1, 2, 0, - "If we own the selection SELECTION, disown it.\n\ -Disowning it means there is no such selection.") - (selection, time) + Sx_disown_selection_internal, 1, 2, 0, + doc: /* If we own the selection SELECTION, disown it. +Disowning it means there is no such selection. */) + (selection, time) Lisp_Object selection; Lisp_Object time; { @@ -2085,14 +2085,14 @@ x_disown_buffer_selections (buffer) } DEFUN ("x-selection-owner-p", Fx_selection_owner_p, Sx_selection_owner_p, - 0, 1, 0, - "Whether the current Emacs process owns the given X Selection.\n\ -The arg should be the name of the selection in question, typically one of\n\ -the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.\n\ -\(Those are literal upper-case symbol names, since that's what X expects.)\n\ -For convenience, the symbol nil is the same as `PRIMARY',\n\ -and t is the same as `SECONDARY'.)") - (selection) + 0, 1, 0, + doc: /* Whether the current Emacs process owns the given X Selection. +The arg should be the name of the selection in question, typically one of +the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. +\(Those are literal upper-case symbol names, since that's what X expects.) +For convenience, the symbol nil is the same as `PRIMARY', +and t is the same as `SECONDARY'. */) + (selection) Lisp_Object selection; { check_x (); @@ -2106,14 +2106,14 @@ and t is the same as `SECONDARY'.)") } DEFUN ("x-selection-exists-p", Fx_selection_exists_p, Sx_selection_exists_p, - 0, 1, 0, - "Whether there is an owner for the given X Selection.\n\ -The arg should be the name of the selection in question, typically one of\n\ -the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.\n\ -\(Those are literal upper-case symbol names, since that's what X expects.)\n\ -For convenience, the symbol nil is the same as `PRIMARY',\n\ -and t is the same as `SECONDARY'.)") - (selection) + 0, 1, 0, + doc: /* Whether there is an owner for the given X Selection. +The arg should be the name of the selection in question, typically one of +the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. +\(Those are literal upper-case symbol names, since that's what X expects.) +For convenience, the symbol nil is the same as `PRIMARY', +and t is the same as `SECONDARY'. */) + (selection) Lisp_Object selection; { Window owner; @@ -2178,9 +2178,9 @@ initialize_cut_buffers (display, window) } DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal, - Sx_get_cut_buffer_internal, 1, 1, 0, - "Returns the value of the named cut buffer (typically CUT_BUFFER0).") - (buffer) + Sx_get_cut_buffer_internal, 1, 1, 0, + doc: /* Returns the value of the named cut buffer (typically CUT_BUFFER0). */) + (buffer) Lisp_Object buffer; { Window window; @@ -2222,9 +2222,9 @@ DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal, DEFUN ("x-store-cut-buffer-internal", Fx_store_cut_buffer_internal, - Sx_store_cut_buffer_internal, 2, 2, 0, - "Sets the value of the named cut buffer (typically CUT_BUFFER0).") - (buffer, string) + Sx_store_cut_buffer_internal, 2, 2, 0, + doc: /* Sets the value of the named cut buffer (typically CUT_BUFFER0). */) + (buffer, string) Lisp_Object buffer, string; { Window window; @@ -2283,10 +2283,10 @@ DEFUN ("x-store-cut-buffer-internal", Fx_store_cut_buffer_internal, DEFUN ("x-rotate-cut-buffers-internal", Fx_rotate_cut_buffers_internal, - Sx_rotate_cut_buffers_internal, 1, 1, 0, - "Rotate the values of the cut buffers by the given number of step.\n\ -Positive means shift the values forward, negative means backward.") - (n) + Sx_rotate_cut_buffers_internal, 1, 1, 0, + doc: /* Rotate the values of the cut buffers by the given number of step. +Positive means shift the values forward, negative means backward. */) + (n) Lisp_Object n; { Window window; @@ -2351,62 +2351,62 @@ syms_of_xselect () staticpro (&Vselection_alist); DEFVAR_LISP ("selection-converter-alist", &Vselection_converter_alist, - "An alist associating X Windows selection-types with functions.\n\ -These functions are called to convert the selection, with three args:\n\ -the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');\n\ -a desired type to which the selection should be converted;\n\ -and the local selection value (whatever was given to `x-own-selection').\n\ -\n\ -The function should return the value to send to the X server\n\ -\(typically a string). A return value of nil\n\ -means that the conversion could not be done.\n\ -A return value which is the symbol `NULL'\n\ -means that a side-effect was executed,\n\ -and there is no meaningful selection value."); + doc: /* An alist associating X Windows selection-types with functions. +These functions are called to convert the selection, with three args: +the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); +a desired type to which the selection should be converted; +and the local selection value (whatever was given to `x-own-selection'). + +The function should return the value to send to the X server +\(typically a string). A return value of nil +means that the conversion could not be done. +A return value which is the symbol `NULL' +means that a side-effect was executed, +and there is no meaningful selection value. */); Vselection_converter_alist = Qnil; DEFVAR_LISP ("x-lost-selection-hooks", &Vx_lost_selection_hooks, - "A list of functions to be called when Emacs loses an X selection.\n\ -\(This happens when some other X client makes its own selection\n\ -or when a Lisp program explicitly clears the selection.)\n\ -The functions are called with one argument, the selection type\n\ -\(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD')."); + doc: /* A list of functions to be called when Emacs loses an X selection. +\(This happens when some other X client makes its own selection +or when a Lisp program explicitly clears the selection.) +The functions are called with one argument, the selection type +\(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'). */); Vx_lost_selection_hooks = Qnil; DEFVAR_LISP ("x-sent-selection-hooks", &Vx_sent_selection_hooks, - "A list of functions to be called when Emacs answers a selection request.\n\ -The functions are called with four arguments:\n\ - - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');\n\ - - the selection-type which Emacs was asked to convert the\n\ - selection into before sending (for example, `STRING' or `LENGTH');\n\ - - a flag indicating success or failure for responding to the request.\n\ -We might have failed (and declined the request) for any number of reasons,\n\ -including being asked for a selection that we no longer own, or being asked\n\ -to convert into a type that we don't know about or that is inappropriate.\n\ -This hook doesn't let you change the behavior of Emacs's selection replies,\n\ -it merely informs you that they have happened."); + doc: /* A list of functions to be called when Emacs answers a selection request. +The functions are called with four arguments: + - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); + - the selection-type which Emacs was asked to convert the + selection into before sending (for example, `STRING' or `LENGTH'); + - a flag indicating success or failure for responding to the request. +We might have failed (and declined the request) for any number of reasons, +including being asked for a selection that we no longer own, or being asked +to convert into a type that we don't know about or that is inappropriate. +This hook doesn't let you change the behavior of Emacs's selection replies, +it merely informs you that they have happened. */); Vx_sent_selection_hooks = Qnil; DEFVAR_LISP ("selection-coding-system", &Vselection_coding_system, - "Coding system for communicating with other X clients.\n\ -When sending or receiving text via cut_buffer, selection, and clipboard,\n\ -the text is encoded or decoded by this coding system.\n\ -The default value is `compound-text'."); + doc: /* Coding system for communicating with other X clients. +When sending or receiving text via cut_buffer, selection, and clipboard, +the text is encoded or decoded by this coding system. +The default value is `compound-text'. */); Vselection_coding_system = intern ("compound-text"); DEFVAR_LISP ("next-selection-coding-system", &Vnext_selection_coding_system, - "Coding system for the next communication with other X clients.\n\ -Usually, `selection-coding-system' is used for communicating with\n\ -other X clients. But, if this variable is set, it is used for the\n\ -next communication only. After the communication, this variable is\n\ -set to nil."); + doc: /* Coding system for the next communication with other X clients. +Usually, `selection-coding-system' is used for communicating with +other X clients. But, if this variable is set, it is used for the +next communication only. After the communication, this variable is +set to nil. */); Vnext_selection_coding_system = Qnil; DEFVAR_INT ("x-selection-timeout", &x_selection_timeout, - "Number of milliseconds to wait for a selection reply.\n\ -If the selection owner doesn't reply in this time, we give up.\n\ -A value of 0 means wait as long as necessary. This is initialized from the\n\ -\"*selectionTimeout\" resource."); + doc: /* Number of milliseconds to wait for a selection reply. +If the selection owner doesn't reply in this time, we give up. +A value of 0 means wait as long as necessary. This is initialized from the +\"*selectionTimeout\" resource. */); x_selection_timeout = 0; QPRIMARY = intern ("PRIMARY"); staticpro (&QPRIMARY); -- 2.20.1