11 lines
347 B
Text
11 lines
347 B
Text
(de rangeextract (Lst)
|
|
(glue ","
|
|
(make
|
|
(while Lst
|
|
(let (N (pop 'Lst) M N)
|
|
(while (= (inc M) (car Lst))
|
|
(setq M (pop 'Lst)) )
|
|
(cond
|
|
((= N M) (link N))
|
|
((= (inc N) M) (link N M))
|
|
(T (link (list N '- M))) ) ) ) ) ) )
|