(defun LET macro (s) (cons (cons 'lambda (cons (mapcar 'car (cadr s)) (cddr s))) (mapcar 'cadr (cadr s)))) (declare (special defun)) (defun FLOAD fexpr (filespec) ;; given filespec of FASL file, first FASLOAD it in ;; then compare creation dates with corresponding EXPR (assuming ;; second file name >) and if it is more recent, ;; LOAD it in with DEFUN=T and snap uuolinks ;; returns name of last file loaded (let ((faslfile (mergef (mergef filespec (cons '* 'fasl)) defaultf)) (exprfile (probef (mergef (mergef (cons '* '>) filespec) defaultf)))) (cond ((probef faslfile) (load faslfile) (cond ((ledit-olderp faslfile exprfile) (let ((defun t))(load exprfile)) (sstatus uuolinks) (and (< (cadr (status uuolinks)) 10.) (princ '|;Warning - down to less than 10 uuolinks.|)) exprfile) (faslfile))) (t (load exprfile) exprfile)))) (defun CLOAD fexpr (filespec) ;; for ease of conversion from old LEDIT (let ((defun t)) (load (mergef (mergef filespec (cons '* '>)) defaultf)))) (defun LEDIT-AGELIST (file) ((lambda (plist) (nconc (get plist 'credate)(get plist 'cretime))) (car (directory (list file) '(credate cretime))))) (defun LEDIT-OLDERP (file1 file2) (do ((age1 (ledit-agelist file1)(cdr age1)) (age2 (ledit-agelist file2)(cdr age2))) ((null age1) nil) (cond ((< (car age1)(car age2))(return t)) ((> (car age1)(car age2))(return nil)))))