comparison src/data.c @ 89943:4c90ffeb71c5

Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-15 Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-218 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-220 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-221 Restore deleted tagline in etc/TUTORIAL.ru * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-222 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-228 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-229 Remove TeX output files from the archive * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-230 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-247 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-248 src/lisp.h (CYCLE_CHECK): Macro moved from xfaces.c * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-249 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-256 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-258 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-263 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-264 Update from CVS: lispref/display.texi: emacs -> Emacs. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-265 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-274 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-275 Update from CVS: man/makefile.w32-in: Revert last change * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-276 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-295 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-296 Allow restarting an existing debugger session that's exited * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-297 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-299 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-300 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-327 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-328 Update from CVS: src/.gdbinit (xsymbol): Fix last change. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-329 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-344 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-345 Tweak source regexps so that building in place won't cause problems * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-346 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-351 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-352 Update from CVS: lisp/flymake.el: New file. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-353 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-361 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-362 Support " [...]" style defaults in minibuffer-electric-default-mode * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-363 (read-number): Use canonical format for default in prompt. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-364 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-367 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-368 Improve display-supports-face-attributes-p on non-ttys * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-369 Rewrite face-differs-from-default-p * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-370 Move `display-supports-face-attributes-p' entirely into C code * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-371 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-372 Simplify face-differs-from-default-p; don't consider :stipple. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-373 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-374 (tty_supports_face_attributes_p): Ensure attributes differ from default * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-375 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-376 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-377 (Fdisplay_supports_face_attributes_p): Work around bootstrapping problem * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-378 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-380 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-381 Face merging cleanups * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-382 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-384 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-385 src/xfaces.c (push_named_merge_point): Return 0 if a cycle is detected * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-386 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-395 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-396 Tweak arch tagging to make build/install-in-place less annoying * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-397 Work around vc-arch problems when building eshell * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-398 Tweak permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-399 Tweak directory permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-400 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-401 More build-in-place tweaking of arch tagging * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-402 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-403 Yet more build-in-place tweaking of arch tagging * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-404 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-409 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-410 Make sure image types are initialized for lookup too * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-411 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-416 Update from CVS
author Miles Bader <miles@gnu.org>
date Mon, 28 Jun 2004 07:56:49 +0000
parents 68c22ea6027c c2be5da8c8cb
children 59dcbfe97385
comparison
equal deleted inserted replaced
89942:9cb747ae49af 89943:4c90ffeb71c5
759 return Fcons (make_number (minargs), Qunevalled); 759 return Fcons (make_number (minargs), Qunevalled);
760 else 760 else
761 return Fcons (make_number (minargs), make_number (maxargs)); 761 return Fcons (make_number (minargs), make_number (maxargs));
762 } 762 }
763 763
764 DEFUN ("subr-name", Fsubr_name, Ssubr_name, 1, 1, 0,
765 doc: /* Return name of subroutine SUBR.
766 SUBR must be a built-in function. */)
767 (subr)
768 Lisp_Object subr;
769 {
770 const char *name;
771 if (!SUBRP (subr))
772 wrong_type_argument (Qsubrp, subr);
773 name = XSUBR (subr)->symbol_name;
774 return make_string (name, strlen (name));
775 }
776
764 DEFUN ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0, 777 DEFUN ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0,
765 doc: /* Return the interactive form of CMD or nil if none. 778 doc: /* Return the interactive form of CMD or nil if none.
766 CMD must be a command. Value, if non-nil, is a list 779 CMD must be a command. Value, if non-nil, is a list
767 \(interactive SPEC). */) 780 \(interactive SPEC). */)
768 (cmd) 781 (cmd)
1392 return Fsignal (Qvoid_variable, Fcons (symbol, Qnil)); 1405 return Fsignal (Qvoid_variable, Fcons (symbol, Qnil));
1393 return value; 1406 return value;
1394 } 1407 }
1395 1408
1396 DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0, 1409 DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0,
1397 doc: /* Set SYMBOL's default value to VAL. SYMBOL and VAL are evaluated. 1410 doc: /* Set SYMBOL's default value to VALUE. SYMBOL and VALUE are evaluated.
1398 The default value is seen in buffers that do not have their own values 1411 The default value is seen in buffers that do not have their own values
1399 for this variable. */) 1412 for this variable. */)
1400 (symbol, value) 1413 (symbol, value)
1401 Lisp_Object symbol, value; 1414 Lisp_Object symbol, value;
1402 { 1415 {
1453 VALUE is an expression: it is evaluated and its value returned. 1466 VALUE is an expression: it is evaluated and its value returned.
1454 The default value of a variable is seen in buffers 1467 The default value of a variable is seen in buffers
1455 that do not have their own values for the variable. 1468 that do not have their own values for the variable.
1456 1469
1457 More generally, you can use multiple variables and values, as in 1470 More generally, you can use multiple variables and values, as in
1458 (setq-default SYMBOL VALUE SYMBOL VALUE...) 1471 (setq-default VAR VALUE VAR VALUE...)
1459 This sets each SYMBOL's default value to the corresponding VALUE. 1472 This sets each VAR's default value to the corresponding VALUE.
1460 The VALUE for the Nth SYMBOL can refer to the new default values 1473 The VALUE for the Nth VAR can refer to the new default values
1461 of previous SYMs. 1474 of previous VARs.
1462 usage: (setq-default SYMBOL VALUE [SYMBOL VALUE...]) */) 1475 usage: (setq-default VAR VALUE [VAR VALUE...]) */)
1463 (args) 1476 (args)
1464 Lisp_Object args; 1477 Lisp_Object args;
1465 { 1478 {
1466 register Lisp_Object args_left; 1479 register Lisp_Object args_left;
1467 register Lisp_Object val, symbol; 1480 register Lisp_Object val, symbol;
1944 int val; 1957 int val;
1945 1958
1946 if (idxval < 0 || idxval >= XBOOL_VECTOR (array)->size) 1959 if (idxval < 0 || idxval >= XBOOL_VECTOR (array)->size)
1947 args_out_of_range (array, idx); 1960 args_out_of_range (array, idx);
1948 1961
1949 val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BITS_PER_CHAR]; 1962 val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BOOL_VECTOR_BITS_PER_CHAR];
1950 return (val & (1 << (idxval % BITS_PER_CHAR)) ? Qt : Qnil); 1963 return (val & (1 << (idxval % BOOL_VECTOR_BITS_PER_CHAR)) ? Qt : Qnil);
1951 } 1964 }
1952 else if (CHAR_TABLE_P (array)) 1965 else if (CHAR_TABLE_P (array))
1953 { 1966 {
1954 CHECK_CHARACTER (idx); 1967 CHECK_CHARACTER (idx);
1955 return CHAR_TABLE_REF (array, idxval); 1968 return CHAR_TABLE_REF (array, idxval);
2003 int val; 2016 int val;
2004 2017
2005 if (idxval < 0 || idxval >= XBOOL_VECTOR (array)->size) 2018 if (idxval < 0 || idxval >= XBOOL_VECTOR (array)->size)
2006 args_out_of_range (array, idx); 2019 args_out_of_range (array, idx);
2007 2020
2008 val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BITS_PER_CHAR]; 2021 val = (unsigned char) XBOOL_VECTOR (array)->data[idxval / BOOL_VECTOR_BITS_PER_CHAR];
2009 2022
2010 if (! NILP (newelt)) 2023 if (! NILP (newelt))
2011 val |= 1 << (idxval % BITS_PER_CHAR); 2024 val |= 1 << (idxval % BOOL_VECTOR_BITS_PER_CHAR);
2012 else 2025 else
2013 val &= ~(1 << (idxval % BITS_PER_CHAR)); 2026 val &= ~(1 << (idxval % BOOL_VECTOR_BITS_PER_CHAR));
2014 XBOOL_VECTOR (array)->data[idxval / BITS_PER_CHAR] = val; 2027 XBOOL_VECTOR (array)->data[idxval / BOOL_VECTOR_BITS_PER_CHAR] = val;
2015 } 2028 }
2016 else if (CHAR_TABLE_P (array)) 2029 else if (CHAR_TABLE_P (array))
2017 { 2030 {
2018 CHECK_CHARACTER (idx); 2031 CHECK_CHARACTER (idx);
2019 CHAR_TABLE_SET (array, idxval, newelt); 2032 CHAR_TABLE_SET (array, idxval, newelt);
2579 usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */) 2592 usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */)
2580 (nargs, args) 2593 (nargs, args)
2581 int nargs; 2594 int nargs;
2582 Lisp_Object *args; 2595 Lisp_Object *args;
2583 { 2596 {
2597 int argnum;
2598 for (argnum = 2; argnum < nargs; argnum++)
2599 if (FLOATP (args[argnum]))
2600 return float_arith_driver (0, 0, Adiv, nargs, args);
2584 return arith_driver (Adiv, nargs, args); 2601 return arith_driver (Adiv, nargs, args);
2585 } 2602 }
2586 2603
2587 DEFUN ("%", Frem, Srem, 2, 2, 0, 2604 DEFUN ("%", Frem, Srem, 2, 2, 0,
2588 doc: /* Return remainder of X divided by Y. 2605 doc: /* Return remainder of X divided by Y.
3213 defsubr (&Sadd1); 3230 defsubr (&Sadd1);
3214 defsubr (&Ssub1); 3231 defsubr (&Ssub1);
3215 defsubr (&Slognot); 3232 defsubr (&Slognot);
3216 defsubr (&Sbyteorder); 3233 defsubr (&Sbyteorder);
3217 defsubr (&Ssubr_arity); 3234 defsubr (&Ssubr_arity);
3235 defsubr (&Ssubr_name);
3218 3236
3219 XSYMBOL (Qwholenump)->function = XSYMBOL (Qnatnump)->function; 3237 XSYMBOL (Qwholenump)->function = XSYMBOL (Qnatnump)->function;
3220 3238
3221 DEFVAR_LISP ("most-positive-fixnum", &Vmost_positive_fixnum, 3239 DEFVAR_LISP ("most-positive-fixnum", &Vmost_positive_fixnum,
3222 doc: /* The largest value that is representable in a Lisp integer. */); 3240 doc: /* The largest value that is representable in a Lisp integer. */);