Adjust number-sequence code
This commit is contained in:
parent
ce3a4c8341
commit
0ed2c9b6d5
2 changed files with 19 additions and 12 deletions
|
@ -1,3 +1,7 @@
|
|||
2003-04-04 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
|
||||
* subr.el (number-sequence): Adjust code.
|
||||
|
||||
2003-04-04 Stefan Monnier <monnier@cs.yale.edu>
|
||||
|
||||
* textmodes/refill.el (refill-fill-paragraph-at): Undo last fix.
|
||||
|
|
27
lisp/subr.el
27
lisp/subr.el
|
@ -176,20 +176,23 @@ If N is bigger than the length of X, return X."
|
|||
(if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil))
|
||||
x))))
|
||||
|
||||
(defun number-sequence (from &optional to)
|
||||
(defun number-sequence (from &optional to inc)
|
||||
"Return a sequence of numbers from FROM to TO (both inclusive) as a list.
|
||||
The Nth element of the list is (+ FROM N) where N counts from zero.
|
||||
INC is the increment used between numbers in the sequence.
|
||||
So, the Nth element of the list is (+ FROM (* N INC)) where N counts from
|
||||
zero.
|
||||
If INC is nil, it defaults to 1 (one).
|
||||
If TO is nil, it defaults to FROM.
|
||||
If TO is less than FROM, the value is nil."
|
||||
(if to
|
||||
(if (< to from)
|
||||
(setq to (1- from)))
|
||||
(setq to from))
|
||||
(let* ((list (make-list (- (1+ to) from) from))
|
||||
(tail list))
|
||||
(while (setq tail (cdr tail))
|
||||
(setcar tail (setq from (1+ from))))
|
||||
list))
|
||||
If TO is less than FROM, the value is nil.
|
||||
Note that FROM, TO and INC can be integer or float."
|
||||
(if (not to)
|
||||
(list from)
|
||||
(or inc (setq inc 1))
|
||||
(let (seq)
|
||||
(while (<= from to)
|
||||
(setq seq (cons from seq)
|
||||
from (+ from inc)))
|
||||
(nreverse seq))))
|
||||
|
||||
(defun remove (elt seq)
|
||||
"Return a copy of SEQ with all occurrences of ELT removed.
|
||||
|
|
Loading…
Add table
Reference in a new issue