Skip to content

Instantly share code, notes, and snippets.

@dmj
Created June 13, 2014 06:27
Show Gist options
  • Save dmj/a32f96a371ac1aff210f to your computer and use it in GitHub Desktop.
Save dmj/a32f96a371ac1aff210f to your computer and use it in GitHub Desktop.
(defun dmaus:make-number-set (list)
(when list
(let ((first (car list))
(index (car list)))
(while (and (cadr list) (= (incf index) (cadr list)))
(setq list (cdr list)))
(cond
((= first (car list))
(cons (format "%d" first) (dmaus:make-number-set (cdr list))))
((= (1+ first) (decf index))
(cons (format "%d,%d" first index) (dmaus:make-number-set (cdr list))))
(t
(cons (format "%d-%d" first (car list)) (dmaus:make-number-set (cdr list))))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment