(defun LM:mysort-3 ( l / _sort )
(defun _sort ( x l a b c / y )
(cond
( (null (setq y (car l)))
(append (LM:mysort-3 a) (list x) (LM:mysort-3 b) (LM:mysort-3 (reverse c)))
)
( (and (= (car x) (car y)) (= (atoi (cadr x)) (atoi (cadr y))))
(if (< (atoi (substr (cadr x) (+ 2 (vl-string-position 120 (cadr x)))))
(atoi (substr (cadr y) (+ 2 (vl-string-position 120 (cadr y)))))
)
(_sort x (cdr l) a (cons y b) c)
(_sort x (cdr l) (cons y a) b c)
)
)
( (_sort x (cdr l) a b (cons y c)))
)
)
(if l (_sort (car l) (cdr l) nil nil nil))
)
Why here (reverse)... Just can't figure it up...
No need to answer - just experimenting with code tags...