Mercurial > emacs
changeset 11251:f6bc91242185
(Fuser_variable_p): For (STRING . INTEGER), test sign.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 07 Apr 1995 07:17:19 +0000 |
parents | 9ccb4577abd6 |
children | f610f9d7e3ca |
files | src/eval.c |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c Fri Apr 07 06:54:50 1995 +0000 +++ b/src/eval.c Fri Apr 07 07:17:19 1995 +0000 @@ -635,7 +635,7 @@ "Returns t if VARIABLE is intended to be set and modified by users.\n\ \(The alternative is a variable used internally in a Lisp program.)\n\ Determined by whether the first character of the documentation\n\ -for the variable is \"*\"") +for the variable is `*'.") (variable) Lisp_Object variable; { @@ -644,8 +644,14 @@ documentation = Fget (variable, Qvariable_documentation); if (INTEGERP (documentation) && XINT (documentation) < 0) return Qt; - if ((STRINGP (documentation)) && - ((unsigned char) XSTRING (documentation)->data[0] == '*')) + if (STRINGP (documentation) + && ((unsigned char) XSTRING (documentation)->data[0] == '*')) + return Qt; + /* If it is (STRING . INTEGER), a negative integer means a user variable. */ + if (CONSP (documentation) + && STRINGP (XCONS (documentation)->car) + && INTEGERP (XCONS (documentation)->cdr) + && XINT (XCONS (documentation)->cdr) < 0) return Qt; return Qnil; }