X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-aclrepl%2Fsb-aclrepl.lisp;h=a4d4b4c4351e9ff22f9d0e2d0b8559e5287b9c72;hb=3d9d3088982414ca5617caf62bd37b4fecac29b6;hp=6fdf05932d4f29b81d51c899209dcf03df0dcfcf;hpb=56a7f00b79f897235db7dc4f6afffe29a0b2a377;p=sbcl.git diff --git a/contrib/sb-aclrepl/sb-aclrepl.lisp b/contrib/sb-aclrepl/sb-aclrepl.lisp index 6fdf059..a4d4b4c 100644 --- a/contrib/sb-aclrepl/sb-aclrepl.lisp +++ b/contrib/sb-aclrepl/sb-aclrepl.lisp @@ -51,7 +51,7 @@ (car (sort (append (package-nicknames cl:*package*) (list (package-name cl:*package*))) - #'string-lessp)) + (lambda (a b) (< (length a) (length b))))) (package-name cl:*package*))) (defun read-cmd (input-stream) @@ -77,7 +77,12 @@ (string-trim-whitespace (subseq line first-space-pos)) ""))) (if (numberp (read-from-string cmd-string)) - (get-history (read-from-string cmd-string)) + (let ((cmd (get-history (read-from-string cmd-string)))) + (when cmd + (make-user-cmd :func (user-cmd-func cmd) + :input (user-cmd-input cmd) + :args (user-cmd-args cmd) + :hnum *cmd-number*))) (let ((cmd-entry (find-cmd cmd-string))) (if cmd-entry (make-user-cmd :func (cmd-table-entry-func cmd-entry) @@ -159,7 +164,7 @@ (if cmd cmd (progn - (format t "Input numbered %d is not on the history list.." n) + (format t "Input numbered ~A is not on the history list.." n) *null-cmd*)))) (defun get-cmd-doc-list (&optional (group :cmd)) @@ -302,6 +307,7 @@ (t (format t "~13A ~a~%" "Command" "Description") (format t "------------- -------------~%") + (format t "~13A ~A~%" "n" "(for any number n) recall nth command from history list") (dolist (doc-entry (get-cmd-doc-list :cmd)) (format t "~13A ~A~%" (car doc-entry) (cadr doc-entry))))) (values))