老版本的把下面的排序插入程序前面就能用了。
(defun LST_INSERT (LST EL FUNC / I J K LS M) (setq I 0 K 0 J (length LST) LS NIL) (if (= 0 J) (setq LS (list EL)) (progn (while (< I J) (setq M (nth I LST) I (1+ I)) (if (= K 0) (if (FUNC EL M) (setq LS (cons EL LS) K 1))) (setq LS (cons M LS))) (if (= 0 K) (setq LS (cons EL LS))))) (reverse LS))
(defun vl-sort (FUNC LST / NN LS) (if (listp LST) (foreach NN LST (setq LS (LST_INSERT LS NN FUNC))) LST))