Fix signal argument and case where start is null

If either of the optional arguments are empty, just set them to the
defaults.
master
Mark Oteiza 5 years ago
parent 5f7f2d6c5f
commit d30867607c
  1. 18
      dash.el

@ -2160,16 +2160,16 @@ Starts from START and adds STEP each time. The default START is
zero, the default STEP is 1.
This function takes its name from the corresponding primitive in
the APL language."
(if (or (not (integerp count)) (< count 0))
(signal 'wrong-type-argument count))
(if (and step (zerop step)) (make-list count start)
(let ((res '())
(x (or start 0))
(dx (or step 1)))
(when (not (natnump count))
(signal 'wrong-type-argument (list #'natnump count)))
(or start (setq start 0))
(or step (setq step 1))
(if (zerop step) (make-list count start)
(let (result)
(while (<= 0 (setq count (1- count)))
(push x res)
(setq x (+ x dx)))
(nreverse res))))
(push start result)
(setq start (+ start step)))
(nreverse result))))
(defun -fix (fn list)
"Compute the (least) fixpoint of FN with initial input LIST.

Loading…
Cancel
Save