diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-05-27 20:50:44 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-05-27 20:50:44 -0400 |
commit | 4c539a7b387874577136190d8e1a413da1d7e240 (patch) | |
tree | ec7fae72e576ba2cde3553fca04cd83cf0c16d35 /src/data.c | |
parent | 0e4857b7d84f958f66e726ed57b824427b272681 (diff) | |
download | emacs-4c539a7b387874577136190d8e1a413da1d7e240.tar.gz |
* lisp/subr.el (zerop): Move from C. Add compiler-macro.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-zerop): Remove.
* src/data.c (Fzerop): Move to Elisp.
(syms_of_data): Don't defsubr it.
* src/keyboard.c (echo_keystrokes_p): New function.
(read_char, record_menu_key, read_key_sequence): Use it.
Fixes: debbugs:17475
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/src/data.c b/src/data.c index bf863aaed79..0c90944f0ad 100644 --- a/src/data.c +++ b/src/data.c @@ -2332,7 +2332,7 @@ arithcompare_driver (ptrdiff_t nargs, Lisp_Object *args, ptrdiff_t argnum; for (argnum = 1; argnum < nargs; ++argnum) { - if (EQ (Qnil, arithcompare (args[argnum-1], args[argnum], comparison))) + if (EQ (Qnil, arithcompare (args[argnum - 1], args[argnum], comparison))) return Qnil; } return Qt; @@ -2386,24 +2386,6 @@ DEFUN ("/=", Fneq, Sneq, 2, 2, 0, { return arithcompare (num1, num2, ARITH_NOTEQUAL); } - -DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, - doc: /* Return t if NUMBER is zero. */) - (register Lisp_Object number) -{ - CHECK_NUMBER_OR_FLOAT (number); - - if (FLOATP (number)) - { - if (XFLOAT_DATA (number) == 0.0) - return Qt; - return Qnil; - } - - if (!XINT (number)) - return Qt; - return Qnil; -} /* Convert the cons-of-integers, integer, or float value C to an unsigned value with maximum value MAX. Signal an error if C does not @@ -3650,7 +3632,6 @@ syms_of_data (void) defsubr (&Sleq); defsubr (&Sgeq); defsubr (&Sneq); - defsubr (&Szerop); defsubr (&Splus); defsubr (&Sminus); defsubr (&Stimes); |