+2009-09-17 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el: Fix last change to avoid using the `unless' macro,
+ which breaks bootstrapping.
+
2009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (push, pop, dolist, dotimes, declare): Don't overwrite CL's
;; depend on backquote.el.
(list 'function (cons 'lambda cdr)))
-(unless (featurep 'cl)
+(if (null (featurep 'cl))
+ (progn
;; If we reload subr.el after having loaded CL, be careful not to
;; overwrite CL's extended definition of `dolist', `dotimes',
;; `declare', `push' and `pop'.
(declare (debug (sexp)))
(list 'car
(list 'prog1 listname
- (list 'setq listname (list 'cdr listname))))))
+ (list 'setq listname (list 'cdr listname)))))
+))
(defmacro when (cond &rest body)
"If COND yields non-nil, do BODY, else return nil.
(declare (indent 1) (debug t))
(cons 'if (cons cond (cons nil body))))
-(unless (featurep 'cl)
+(if (null (featurep 'cl))
+ (progn
;; If we reload subr.el after having loaded CL, be careful not to
;; overwrite CL's extended definition of `dolist', `dotimes',
;; `declare', `push' and `pop'.
"Do not evaluate any arguments and return nil.
Treated as a declaration when used at the right place in a
`defmacro' form. \(See Info anchor `(elisp)Definition of declare'.)"
- nil))
+ nil)
+))
(defmacro ignore-errors (&rest body)
"Execute BODY; if an error occurs, return nil.