comparison lisp/emacs-lisp/cl.el @ 62424:ecbd5b866b1d

(eql, floatp-safe, plusp, minusp, oddp, evenp, list*): Doc fixes.
author Juanma Barranquero <lekktu@gmail.com>
date Tue, 17 May 2005 00:26:26 +0000
parents 817362bee028
children 970aed705a2a f042e7c0fe20
comparison
equal deleted inserted replaced
62423:a46a0ca0ed71 62424:ecbd5b866b1d
113 (error "Cannot unload the feature `cl'")) 113 (error "Cannot unload the feature `cl'"))
114 114
115 ;;; Predicates. 115 ;;; Predicates.
116 116
117 (defun eql (a b) ; See compiler macro in cl-macs.el 117 (defun eql (a b) ; See compiler macro in cl-macs.el
118 "T if the two args are the same Lisp object. 118 "Return t if the two args are the same Lisp object.
119 Floating-point numbers of equal value are `eql', but they may not be `eq'." 119 Floating-point numbers of equal value are `eql', but they may not be `eq'."
120 (if (numberp a) 120 (if (numberp a)
121 (equal a b) 121 (equal a b)
122 (eq a b))) 122 (eq a b)))
123 123
299 299
300 300
301 ;;; Numbers. 301 ;;; Numbers.
302 302
303 (defun floatp-safe (x) 303 (defun floatp-safe (x)
304 "T if OBJECT is a floating point number. 304 "Return t if OBJECT is a floating point number.
305 On Emacs versions that lack floating-point support, this function 305 On Emacs versions that lack floating-point support, this function
306 always returns nil." 306 always returns nil."
307 (and (numberp x) (not (integerp x)))) 307 (and (numberp x) (not (integerp x))))
308 308
309 (defun plusp (x) 309 (defun plusp (x)
310 "T if NUMBER is positive." 310 "Return t if NUMBER is positive."
311 (> x 0)) 311 (> x 0))
312 312
313 (defun minusp (x) 313 (defun minusp (x)
314 "T if NUMBER is negative." 314 "Return t if NUMBER is negative."
315 (< x 0)) 315 (< x 0))
316 316
317 (defun oddp (x) 317 (defun oddp (x)
318 "T if INTEGER is odd." 318 "Return t if INTEGER is odd."
319 (eq (logand x 1) 1)) 319 (eq (logand x 1) 1))
320 320
321 (defun evenp (x) 321 (defun evenp (x)
322 "T if INTEGER is even." 322 "Return t if INTEGER is even."
323 (eq (logand x 1) 0)) 323 (eq (logand x 1) 0))
324 324
325 (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time))) 325 (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time)))
326 326
327 ;;; The following are actually set by cl-float-limits. 327 ;;; The following are actually set by cl-float-limits.
501 ;; (if (< n m) (nthcdr (- m n) x) x))) 501 ;; (if (< n m) (nthcdr (- m n) x) x)))
502 ;; (while (consp (cdr x)) (pop x)) 502 ;; (while (consp (cdr x)) (pop x))
503 ;; x)) 503 ;; x))
504 504
505 (defun list* (arg &rest rest) ; See compiler macro in cl-macs.el 505 (defun list* (arg &rest rest) ; See compiler macro in cl-macs.el
506 "Return a new list with specified args as elements, cons'd to last arg. 506 "Return a new list with specified args as elements, consed to last arg.
507 Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to 507 Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to
508 `(cons A (cons B (cons C D)))'." 508 `(cons A (cons B (cons C D)))'."
509 (cond ((not rest) arg) 509 (cond ((not rest) arg)
510 ((not (cdr rest)) (cons arg (car rest))) 510 ((not (cdr rest)) (cons arg (car rest)))
511 (t (let* ((n (length rest)) 511 (t (let* ((n (length rest))