Package: cl-asdf Version: 1.109-2 Severity: wishlist The function asdf:run-shell-command is not right for LispWorks 5.x:
#+lispworks (system:call-system-showing-output command :shell-type "/bin/sh" :output-stream *verbose-out*) I test a expression on LispWorks 5.0: CL-USER 1 > (system:call-system-showing-output "id -u" :shell-type "/bin/sh" :output-stream t) ; id -u ; 10003 0 To make common-lisp-controller:get-uid work well, the call to system:call-system-showing-output must come with two additional keyword arguments, :show-cmd nil, and :prefix "". I running LispWorks 5.x on Debian, I use this script to save a LispWorks image which can then load all debian CL packages: (in-package :cl-user) (load-all-patches) (load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp") (common-lisp-controller:init-common-lisp-controller-v4 "lispworks") ;; (load "asdf-patch") (save-image (merge-pathnames (make-pathname :name "lispworks") (lisp-image-name)) :remarks "LispWorks 5.0.2" :environment t) So, I HOPE a patch can be merged into cl-asdf, as in attach (asdf.lisp.patch). Now I must load a patch for this purpose (asdf-patch.lisp). Thanks! Chun TIAN (binghe) -- (defsignature (田春 Chun Tian (binghe)) (网易杭州研究院 系统管理员) (E-Mail [EMAIL PROTECTED]) (Phone (0571)88271736 (020)85106834) (POPO binghe.lisp) (GTalk [EMAIL PROTECTED]))
--- asdf.lisp.old 2007-12-27 16:17:49.267166457 +0800 +++ asdf.lisp 2007-12-27 16:18:32.878933629 +0800 @@ -1188,6 +1188,8 @@ (system:call-system-showing-output command :shell-type "/bin/sh" + :prefix "" + :show-cmd nil :output-stream *verbose-out*) #+clisp ;XXX not exactly *verbose-out*, I know
(in-package :asdf) (defun run-shell-command (control-string &rest args) "Interpolate ARGS into CONTROL-STRING as if by FORMAT, and synchronously execute the result using a Bourne-compatible shell, with output to *VERBOSE-OUT*. Returns the shell's exit code." (let ((command (apply #'format nil control-string args))) (format *verbose-out* "; $ ~A~%" command) #+sbcl (sb-ext:process-exit-code (sb-ext:run-program #+win32 "sh" #-win32 "/bin/sh" (list "-c" command) #+win32 #+win32 :search t :input nil :output *verbose-out*)) #+(or cmu scl) (ext:process-exit-code (ext:run-program "/bin/sh" (list "-c" command) :input nil :output *verbose-out*)) #+allegro (excl:run-shell-command command :input nil :output *verbose-out*) #+lispworks (system:call-system-showing-output command :shell-type "/bin/sh" :prefix "" :show-cmd nil :output-stream *verbose-out*) #+clisp ;XXX not exactly *verbose-out*, I know (ext:run-shell-command command :output :terminal :wait t) #+openmcl (nth-value 1 (ccl:external-process-status (ccl:run-program "/bin/sh" (list "-c" command) :input nil :output *verbose-out* :wait t))) #+ecl ;; courtesy of Juan Jose Garcia Ripoll (si:system command) #-(or openmcl clisp lispworks allegro scl cmu sbcl ecl) (error "RUN-SHELL-PROGRAM not implemented for this Lisp") ))