summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBT Templeton <bpt@hcoop.net>2012-03-07 14:34:13 -0500
committerBT Templeton <bpt@hcoop.net>2012-03-08 17:08:30 -0500
commitfc45b7e8e826d2e870f6e316749f87c20d083cb1 (patch)
treebbb5de4d567363503914994556632d531667921f
parentbc612809929b85fdcb39bc17a15a53c88b43a8bd (diff)
downloadguile-fc45b7e8e826d2e870f6e316749f87c20d083cb1.tar.gz
integerp, wholenump return nil for non-numbers
* module/language/elisp/boot.el (integerp, wholenump): Call `integer?' before `exact?' so that these predicates return nil for non-numbers instead of signalling an error.
-rw-r--r--module/language/elisp/boot.el8
1 files changed, 3 insertions, 5 deletions
diff --git a/module/language/elisp/boot.el b/module/language/elisp/boot.el
index bec32b545..1ea86397f 100644
--- a/module/language/elisp/boot.el
+++ b/module/language/elisp/boot.el
@@ -237,16 +237,14 @@
(null (funcall (@ (guile) integer?) object)))))
(defun integerp (object)
- (and (funcall (@ (guile) exact?) object)
- (funcall (@ (guile) integer?) object)))
+ (and (funcall (@ (guile) integer?) object)
+ (funcall (@ (guile) exact?) object)))
(defun numberp (object)
(funcall (@ (guile) real?) object))
(defun wholenump (object)
- (and (funcall (@ (guile) exact?) object)
- (funcall (@ (guile) integer?) object)
- (>= object 0)))
+ (and (integerp object) (>= object 0)))
(defun zerop (object)
(= object 0))