aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorMiles Bader <[email protected]>2004-06-28 07:56:49 +0000
committerMiles Bader <[email protected]>2004-06-28 07:56:49 +0000
commit327719ee8a3fcdb36ed6acaf6d8cb5fbdf0bd801 (patch)
tree21de188e13b5e41a79bb50040933072ae0235217 /src/data.c
parent852f73b7fa7b71910282eacb6263b3ecfd4ee783 (diff)
parent376de73927383d6062483db10b8a82448505f52b (diff)
Revision: [email protected]/emacs--unicode--0--patch-15
Merge from emacs--cvs-trunk--0 Patches applied: * [email protected]/emacs--cvs-trunk--0--patch-218 - [email protected]/emacs--cvs-trunk--0--patch-220 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-221 Restore deleted tagline in etc/TUTORIAL.ru * [email protected]/emacs--cvs-trunk--0--patch-222 - [email protected]/emacs--cvs-trunk--0--patch-228 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-229 Remove TeX output files from the archive * [email protected]/emacs--cvs-trunk--0--patch-230 - [email protected]/emacs--cvs-trunk--0--patch-247 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-248 src/lisp.h (CYCLE_CHECK): Macro moved from xfaces.c * [email protected]/emacs--cvs-trunk--0--patch-249 - [email protected]/emacs--cvs-trunk--0--patch-256 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-258 - [email protected]/emacs--cvs-trunk--0--patch-263 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-264 Update from CVS: lispref/display.texi: emacs -> Emacs. * [email protected]/emacs--cvs-trunk--0--patch-265 - [email protected]/emacs--cvs-trunk--0--patch-274 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-275 Update from CVS: man/makefile.w32-in: Revert last change * [email protected]/emacs--cvs-trunk--0--patch-276 - [email protected]/emacs--cvs-trunk--0--patch-295 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-296 Allow restarting an existing debugger session that's exited * [email protected]/emacs--cvs-trunk--0--patch-297 - [email protected]/emacs--cvs-trunk--0--patch-299 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-300 - [email protected]/emacs--cvs-trunk--0--patch-327 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-328 Update from CVS: src/.gdbinit (xsymbol): Fix last change. * [email protected]/emacs--cvs-trunk--0--patch-329 - [email protected]/emacs--cvs-trunk--0--patch-344 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-345 Tweak source regexps so that building in place won't cause problems * [email protected]/emacs--cvs-trunk--0--patch-346 - [email protected]/emacs--cvs-trunk--0--patch-351 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-352 Update from CVS: lisp/flymake.el: New file. * [email protected]/emacs--cvs-trunk--0--patch-353 - [email protected]/emacs--cvs-trunk--0--patch-361 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-362 Support " [...]" style defaults in minibuffer-electric-default-mode * [email protected]/emacs--cvs-trunk--0--patch-363 (read-number): Use canonical format for default in prompt. * [email protected]/emacs--cvs-trunk--0--patch-364 - [email protected]/emacs--cvs-trunk--0--patch-367 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-368 Improve display-supports-face-attributes-p on non-ttys * [email protected]/emacs--cvs-trunk--0--patch-369 Rewrite face-differs-from-default-p * [email protected]/emacs--cvs-trunk--0--patch-370 Move `display-supports-face-attributes-p' entirely into C code * [email protected]/emacs--cvs-trunk--0--patch-371 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-372 Simplify face-differs-from-default-p; don't consider :stipple. * [email protected]/emacs--cvs-trunk--0--patch-373 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-374 (tty_supports_face_attributes_p): Ensure attributes differ from default * [email protected]/emacs--cvs-trunk--0--patch-375 - [email protected]/emacs--cvs-trunk--0--patch-376 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-377 (Fdisplay_supports_face_attributes_p): Work around bootstrapping problem * [email protected]/emacs--cvs-trunk--0--patch-378 - [email protected]/emacs--cvs-trunk--0--patch-380 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-381 Face merging cleanups * [email protected]/emacs--cvs-trunk--0--patch-382 - [email protected]/emacs--cvs-trunk--0--patch-384 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-385 src/xfaces.c (push_named_merge_point): Return 0 if a cycle is detected * [email protected]/emacs--cvs-trunk--0--patch-386 - [email protected]/emacs--cvs-trunk--0--patch-395 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-396 Tweak arch tagging to make build/install-in-place less annoying * [email protected]/emacs--cvs-trunk--0--patch-397 Work around vc-arch problems when building eshell * [email protected]/emacs--cvs-trunk--0--patch-398 Tweak permissions * [email protected]/emacs--cvs-trunk--0--patch-399 Tweak directory permissions * [email protected]/emacs--cvs-trunk--0--patch-400 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-401 More build-in-place tweaking of arch tagging * [email protected]/emacs--cvs-trunk--0--patch-402 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-403 Yet more build-in-place tweaking of arch tagging * [email protected]/emacs--cvs-trunk--0--patch-404 - [email protected]/emacs--cvs-trunk--0--patch-409 Update from CVS * [email protected]/emacs--cvs-trunk--0--patch-410 Make sure image types are initialized for lookup too * [email protected]/emacs--cvs-trunk--0--patch-411 - [email protected]/emacs--cvs-trunk--0--patch-416 Update from CVS
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c42
1 files changed, 30 insertions, 12 deletions
diff --git a/src/data.c b/src/data.c
index 92e1c75dee..935c4348bb 100644
--- a/src/data.c
+++ b/src/data.c
@@ -761,6 +761,19 @@ function with `&rest' args, or `unevalled' for a special form. */)
return Fcons (make_number (minargs), make_number (maxargs));
}
+DEFUN ("subr-name", Fsubr_name, Ssubr_name, 1, 1, 0,
+ doc: /* Return name of subroutine SUBR.
+SUBR must be a built-in function. */)
+ (subr)
+ Lisp_Object subr;
+{
+ const char *name;
+ if (!SUBRP (subr))
+ wrong_type_argument (Qsubrp, subr);
+ name = XSUBR (subr)->symbol_name;
+ return make_string (name, strlen (name));
+}
+
DEFUN ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0,
doc: /* Return the interactive form of CMD or nil if none.
CMD must be a command. Value, if non-nil, is a list
@@ -1394,7 +1407,7 @@ local bindings in certain buffers. */)
}
DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0,
- doc: /* Set SYMBOL's default value to VAL. SYMBOL and VAL are evaluated.
+ doc: /* Set SYMBOL's default value to VALUE. SYMBOL and VALUE are evaluated.
The default value is seen in buffers that do not have their own values
for this variable. */)
(symbol, value)
@@ -1455,11 +1468,11 @@ 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.
-usage: (setq-default SYMBOL VALUE [SYMBOL VALUE...]) */)
+ (setq-default VAR VALUE VAR VALUE...)
+This sets each VAR's default value to the corresponding VALUE.
+The VALUE for the Nth VAR can refer to the new default values
+of previous VARs.
+usage: (setq-default VAR VALUE [VAR VALUE...]) */)
(args)
Lisp_Object args;
{
@@ -1946,8 +1959,8 @@ or a byte-code object. IDX starts at 0. */)
if (idxval < 0 || idxval >= XBOOL_VECTOR (array)->size)
args_out_of_range (array, idx);
- val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BITS_PER_CHAR];
- return (val & (1 << (idxval % BITS_PER_CHAR)) ? Qt : Qnil);
+ val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BOOL_VECTOR_BITS_PER_CHAR];
+ return (val & (1 << (idxval % BOOL_VECTOR_BITS_PER_CHAR)) ? Qt : Qnil);
}
else if (CHAR_TABLE_P (array))
{
@@ -2005,13 +2018,13 @@ bool-vector. IDX starts at 0. */)
if (idxval < 0 || idxval >= XBOOL_VECTOR (array)->size)
args_out_of_range (array, idx);
- val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BITS_PER_CHAR];
+ val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BOOL_VECTOR_BITS_PER_CHAR];
if (! NILP (newelt))
- val |= 1 << (idxval % BITS_PER_CHAR);
+ val |= 1 << (idxval % BOOL_VECTOR_BITS_PER_CHAR);
else
- val &= ~(1 << (idxval % BITS_PER_CHAR));
- XBOOL_VECTOR (array)->data[idxval / BITS_PER_CHAR] = val;
+ val &= ~(1 << (idxval % BOOL_VECTOR_BITS_PER_CHAR));
+ XBOOL_VECTOR (array)->data[idxval / BOOL_VECTOR_BITS_PER_CHAR] = val;
}
else if (CHAR_TABLE_P (array))
{
@@ -2581,6 +2594,10 @@ usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */)
int nargs;
Lisp_Object *args;
{
+ int argnum;
+ for (argnum = 2; argnum < nargs; argnum++)
+ if (FLOATP (args[argnum]))
+ return float_arith_driver (0, 0, Adiv, nargs, args);
return arith_driver (Adiv, nargs, args);
}
@@ -3215,6 +3232,7 @@ syms_of_data ()
defsubr (&Slognot);
defsubr (&Sbyteorder);
defsubr (&Ssubr_arity);
+ defsubr (&Ssubr_name);
XSYMBOL (Qwholenump)->function = XSYMBOL (Qnatnump)->function;