Hi, I have installed tried to deploy a clisp based solution on
windows, but stopped on ASDF installation.
I get https://sourceforge.net/projects/clisp/files/clisp/clisp-2.47-win32-mingw-big.exe
and installed cygwin
after that following http://www.cliki.net/FirstStepsWithAsdfAndAsdfInstall
(load "asdf/asdf.lisp")
(push (truename #P"asdf-install/asdf-install/") asdf:*central-
registry*)
(asdf:oos 'asdf:load-op :asdf-install)
(setf asdf-install:*LOCATIONS* `((,(truename #P"site/") ,(truename
#P"systems/") "Test location")))
(push (truename #P"systems/") asdf:*central-registry*)
(setf asdf-install:*verify-gpg-signatures* nil)
(setf asdf-install::*cygwin-bash-program* "c:\\cygwin\\bin\\bash.exe")
[13]> (asdf-install:install :xmls)
Install where?
1) Test location:
System in C:\clisp\systems\
Files in C:\clisp\site\
0) Abort installation.
--> 1
;;; ASDF-INSTALL: Downloading 58339 bytes from
http://common-lisp.net/project/xmls/xmls-1.2.tar.gz to C:\Documents
and Settings\angel\asdf-install-2.asdf-install-tmp ...
;;; ASDF-INSTALL: Installing XMLS in C:\clisp\site\, C:\clisp\systems\
xmls-1.2/
xmls-1.2/tests/
xmls-1.2/tests/ant/
xmls-1.2/tests/ant/build.xml
...
xmls-1.2/xmls.lisp
xmls-1.2/Changelog
xmls-1.2/COPYING
and it hangs here forever
Please give me a clue what is wrong.
Regards, AngelP
AngelP <··········@gmail.com> writes:
> Hi, I have installed tried to deploy a clisp based solution on
> windows, but stopped on ASDF installation.
> I get https://sourceforge.net/projects/clisp/files/clisp/clisp-2.47-win32-mingw-big.exe
> and installed cygwin
> after that following http://www.cliki.net/FirstStepsWithAsdfAndAsdfInstall
>
> (load "asdf/asdf.lisp")
> (push (truename #P"asdf-install/asdf-install/") asdf:*central-
> registry*)
> (asdf:oos 'asdf:load-op :asdf-install)
> (setf asdf-install:*LOCATIONS* `((,(truename #P"site/") ,(truename
> #P"systems/") "Test location")))
> (push (truename #P"systems/") asdf:*central-registry*)
> (setf asdf-install:*verify-gpg-signatures* nil)
> (setf asdf-install::*cygwin-bash-program* "c:\\cygwin\\bin\\bash.exe")
>
> [13]> (asdf-install:install :xmls)
> Install where?
> 1) Test location:
> System in C:\clisp\systems\
> Files in C:\clisp\site\
> 0) Abort installation.
> --> 1
> ;;; ASDF-INSTALL: Downloading 58339 bytes from
> http://common-lisp.net/project/xmls/xmls-1.2.tar.gz to C:\Documents
> and Settings\angel\asdf-install-2.asdf-install-tmp ...
> ;;; ASDF-INSTALL: Installing XMLS in C:\clisp\site\, C:\clisp\systems\
> xmls-1.2/
> xmls-1.2/tests/
> xmls-1.2/tests/ant/
> xmls-1.2/tests/ant/build.xml
> ...
> xmls-1.2/xmls.lisp
> xmls-1.2/Changelog
> xmls-1.2/COPYING
>
> and it hangs here forever
>
> Please give me a clue what is wrong.
> Regards, AngelP
If we compare the output of asdf-install with the one I have on Linux,
it looks like the hangs is either at the end of the tar (but it looks
like it worked ok) or in the symbolic link.
C/USER[48]> (asdf-install:install :xmls)
Install where?
1) System-wide install:
System in /usr/local/asdf-install/site-systems/
Files in /usr/local/asdf-install/site/
2) Personal installation:
System in /home/pjb/.asdf-install-dir/systems/
Files in /home/pjb/.asdf-install-dir/site/
0) Abort installation.
--> 2
;;; ASDF-INSTALL: Downloading 58339 bytes from http://common-lisp.net/project/xmls/xmls-1.2.tar.gz to /home/pjb/asdf-install-0.asdf-install-tmp ...
;;; ASDF-INSTALL: Downloading 189 bytes from http://common-lisp.net/project/xmls/xmls-1.2.tar.gz.asc to /home/pjb/asdf-install-1.asdf-install-tmp ...
gpg: Signature made Mon Sep 27 23:04:54 2004 CEST using DSA key ID 01F53D51
[GNUPG:] SIG_ID lkbGVD4LLHMxrXBd3I7+gnPMhyE 2004-09-27 1096319094
[GNUPG:] GOODSIG 53826AFF01F53D51 Miles Egan <·····@caddr.com>
gpg: Good signature from "Miles Egan <·····@caddr.com>"
[GNUPG:] VALIDSIG E32324E0932E9419797ED8B353826AFF01F53D51 2004-09-27 1096319094 0 3 0 17 2 00 E32324E0932E9419797ED8B353826AFF01F53D51
[GNUPG:] TRUST_UNDEFINED
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: E323 24E0 932E 9419 797E D8B3 5382 6AFF 01F5 3D51
*** - MAKE-STRING-INPUT-STREAM: argument NIL is not a string
The following restarts are available:
USE-VALUE :R1 Input a value to be used instead.
INSTALL-ANYWAYS :R2 Don't check GPG signature for this package
RETRY-GPG-CHECK :R3 Retry GPG check (e.g., after downloading the key)
ABORT :R4 Abort main loop
C/Break 1 USER[49]> :r2
;;; ASDF-INSTALL: Installing XMLS in /home/pjb/.asdf-install-dir/site/, /home/pjb/.asdf-install-dir/systems/
"ln -s \"/home/pjb/.asdf-install-dir/site/xmls-1.2/xmls.asd\" \"/home/pjb/.asdf-install-dir/systems/xmls.asd\""
;;; ASDF-INSTALL: Found system definition: /home/pjb/.asdf-install-dir/site/xmls-1.2/xmls.asd
;;; ASDF-INSTALL: Loading system ASDF-INSTALL::XMLS via ASDF.
0 errors, 0 warnings
(ASDF-INSTALL::XMLS)
C/USER[50]>
Check the source of maybe-symlink-sysfile in asdf-install/port.lisp
Are either :win32 or :mswindows in your *features* ?
--
__Pascal Bourguignon__
It is :win32 in *features*.
The installation succeed, if I press Ctrl+D but it closes clisp when
installation completes.
I have set (break) in the beginning of maybe-symlink-sysfile in asdf-
install/port.lisp, but it does not stop here at all. I would be glad
to have hints how to debug the problem.
Regards, AngelP
On 8 Юли, 15:46, ····@informatimago.com (Pascal J. Bourguignon) wrote:
> AngelP <··········@gmail.com> writes:
> > Hi, I have installed tried to deploy a clisp based solution on
> > windows, but stopped on ASDF installation.
> > I gethttps://sourceforge.net/projects/clisp/files/clisp/clisp-2.47-win32-m...
> > and installed cygwin
> > after that followinghttp://www.cliki.net/FirstStepsWithAsdfAndAsdfInstall
>
> > (load "asdf/asdf.lisp")
> > (push (truename #P"asdf-install/asdf-install/") asdf:*central-
> > registry*)
> > (asdf:oos 'asdf:load-op :asdf-install)
> > (setf asdf-install:*LOCATIONS* `((,(truename #P"site/") ,(truename
> > #P"systems/") "Test location")))
> > (push (truename #P"systems/") asdf:*central-registry*)
> > (setf asdf-install:*verify-gpg-signatures* nil)
> > (setf asdf-install::*cygwin-bash-program* "c:\\cygwin\\bin\\bash.exe")
>
> > [13]> (asdf-install:install :xmls)
> > Install where?
> > 1) Test location:
> > System in C:\clisp\systems\
> > Files in C:\clisp\site\
> > 0) Abort installation.
> > --> 1
> > ;;; ASDF-INSTALL: Downloading 58339 bytes from
> >http://common-lisp.net/project/xmls/xmls-1.2.tar.gzto C:\Documents
> > and Settings\angel\asdf-install-2.asdf-install-tmp ...
> > ;;; ASDF-INSTALL: Installing XMLS in C:\clisp\site\, C:\clisp\systems\
> > xmls-1.2/
> > xmls-1.2/tests/
> > xmls-1.2/tests/ant/
> > xmls-1.2/tests/ant/build.xml
> > ...
> > xmls-1.2/xmls.lisp
> > xmls-1.2/Changelog
> > xmls-1.2/COPYING
>
> > and it hangs here forever
>
> > Please give me a clue what is wrong.
> > Regards, AngelP
>
> If we compare the output of asdf-install with the one I have on Linux,
> it looks like the hangs is either at the end of the tar (but it looks
> like it worked ok) or in the symbolic link.
>
> C/USER[48]> (asdf-install:install :xmls)
> Install where?
> 1) System-wide install:
> System in /usr/local/asdf-install/site-systems/
> Files in /usr/local/asdf-install/site/
> 2) Personal installation:
> System in /home/pjb/.asdf-install-dir/systems/
> Files in /home/pjb/.asdf-install-dir/site/
> 0) Abort installation.
> --> 2
> ;;; ASDF-INSTALL: Downloading 58339 bytes fromhttp://common-lisp.net/project/xmls/xmls-1.2.tar.gzto /home/pjb/asdf-install-0.asdf-install-tmp ...
> ;;; ASDF-INSTALL: Downloading 189 bytes fromhttp://common-lisp.net/project/xmls/xmls-1.2.tar.gz.ascto /home/pjb/asdf-install-1.asdf-install-tmp ...
> gpg: Signature made Mon Sep 27 23:04:54 2004 CEST using DSA key ID 01F53D51
> [GNUPG:] SIG_ID lkbGVD4LLHMxrXBd3I7+gnPMhyE 2004-09-27 1096319094
> [GNUPG:] GOODSIG 53826AFF01F53D51 Miles Egan <·····@caddr.com>
> gpg: Good signature from "Miles Egan <·····@caddr.com>"
> [GNUPG:] VALIDSIG E32324E0932E9419797ED8B353826AFF01F53D51 2004-09-27 1096319094 0 3 0 17 2 00 E32324E0932E9419797ED8B353826AFF01F53D51
> [GNUPG:] TRUST_UNDEFINED
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg: There is no indication that the signature belongs to the owner.
> Primary key fingerprint: E323 24E0 932E 9419 797E D8B3 5382 6AFF 01F5 3D51
>
> *** - MAKE-STRING-INPUT-STREAM: argument NIL is not a string
> The following restarts are available:
> USE-VALUE :R1 Input a value to be used instead.
> INSTALL-ANYWAYS :R2 Don't check GPG signature for this package
> RETRY-GPG-CHECK :R3 Retry GPG check (e.g., after downloading the key)
> ABORT :R4 Abort main loop
> C/Break 1 USER[49]> :r2
> ;;; ASDF-INSTALL: Installing XMLS in /home/pjb/.asdf-install-dir/site/, /home/pjb/.asdf-install-dir/systems/
> "ln -s \"/home/pjb/.asdf-install-dir/site/xmls-1.2/xmls.asd\" \"/home/pjb/.asdf-install-dir/systems/xmls.asd\""
> ;;; ASDF-INSTALL: Found system definition: /home/pjb/.asdf-install-dir/site/xmls-1.2/xmls.asd
> ;;; ASDF-INSTALL: Loading system ASDF-INSTALL::XMLS via ASDF.
> 0 errors, 0 warnings
> (ASDF-INSTALL::XMLS)
> C/USER[50]>
>
> Check the source of maybe-symlink-sysfile in asdf-install/port.lisp
> Are either :win32 or :mswindows in your *features* ?
>
> --
> __Pascal Bourguignon__
From: Pascal J. Bourguignon
Subject: Re: ASDF-INSTALLing stops on clisp WinXP
Date:
Message-ID: <87ljmyly4c.fsf@galatea.local>
AngelP <··········@gmail.com> writes:
> It is :win32 in *features*.
>
> The installation succeed, if I press Ctrl+D but it closes clisp when
> installation completes.
This sounds like it's waiting for some input (perhaps having written a
question without flushing it). But apart from the question about
where to install the package at the beginning, and the restarts
managed by the implementation, I don't recall that asdf-install asks
anything during installation.
Perhaps you could trace the functions in asdf-install?
(let ((functions '()))
(do-symbols (s :asdf-install)
(when (and (not (eq (find-package "CL") (symbol-package s)))
(fboundp s))
(push s functions)))
(eval `(trace ,@functions)))
and then asdf-install:install something.
Expect a lot of output.
> I have set (break) in the beginning of maybe-symlink-sysfile in asdf-
> install/port.lisp, but it does not stop here at all. I would be glad
> to have hints how to debug the problem.
--
__Pascal Bourguignon__
Hi, Chased to a strange nil for stream.
#+(and :clisp :win32)
(defun return-output-from-program (program args)
(with-output-to-string (out-stream)
(let ((stream
(ext:run-shell-command
(print (format nil "~A~{ ~A~}" program args
:output :stream
:wait nil)))))
(format t "Stream:~S~%" stream);;; <- stream is nil
(break)
(loop for line = (ignore-errors (read-line stream nil))
while line
do (write-line line out-stream)))))
It leads me to two ways.
1. Should it be a check for null stream in port.lisp
and
2. Why it gives nil on stream. If I call the function at REPL, it
works as expected.
>(RUN-SHELL-COMMAND "c:\\cygwin\\bin\\bash.exe -l -c \"tar -C \\\"`cygpath 'C:\\clisp\\site\\'`\\\" -xzvf \\\"`cygpath 'C:\\clisp\\asdf-install-5.asdf-install-tmp'`\\\"\"" :OUTPUT :STREAM :WAIT NIL))
>#<INPUT BUFFERED PIPE-INPUT-STREAM CHARACTER 2316>
it works fine.
Any ideas what could be a reason for this nil stream?
Regards, AngelP
On 8 Юли, 23:26, ····@informatimago.com (Pascal J. Bourguignon) wrote:
> AngelP <··········@gmail.com> writes:
> > It is :win32 in *features*.
>
> > The installation succeed, if I press Ctrl+D but it closes clisp when
> > installation completes.
>
> This sounds like it's waiting for some input (perhaps having written a
> question without flushing it). But apart from the question about
> where to install the package at the beginning, and the restarts
> managed by the implementation, I don't recall that asdf-install asks
> anything during installation.
>
> Perhaps you could trace the functions in asdf-install?
>
> (let ((functions '()))
> (do-symbols (s :asdf-install)
> (when (and (not (eq (find-package "CL") (symbol-package s)))
> (fboundp s))
> (push s functions)))
> (eval `(trace ,@functions)))
>
> and then asdf-install:install something.
>
> Expect a lot of output.
>
> > I have set (break) in the beginning of maybe-symlink-sysfile in asdf-
> > install/port.lisp, but it does not stop here at all. I would be glad
> > to have hints how to debug the problem.
>
> --
> __Pascal Bourguignon__
From: Pascal J. Bourguignon
Subject: Re: ASDF-INSTALLing stops on clisp WinXP
Date:
Message-ID: <8763e2kwqk.fsf@galatea.local>
AngelP <··········@gmail.com> writes:
> Hi, Chased to a strange nil for stream.
>
> #+(and :clisp :win32)
> (defun return-output-from-program (program args)
> (with-output-to-string (out-stream)
> (let ((stream
> (ext:run-shell-command
> (print (format nil "~A~{ ~A~}" program args
> :output :stream
> :wait nil)))))
> (format t "Stream:~S~%" stream);;; <- stream is nil
> (break)
> (loop for line = (ignore-errors (read-line stream nil))
> while line
> do (write-line line out-stream)))))
>
> It leads me to two ways.
> 1. Should it be a check for null stream in port.lisp
> and
> 2. Why it gives nil on stream. If I call the function at REPL, it
> works as expected.
>
>>(RUN-SHELL-COMMAND "c:\\cygwin\\bin\\bash.exe -l -c \"tar -C \\\"`cygpath 'C:\\clisp\\site\\'`\\\" -xzvf \\\"`cygpath 'C:\\clisp\\asdf-install-5.asdf-install-tmp'`\\\"\"" :OUTPUT :STREAM :WAIT NIL))
>>#<INPUT BUFFERED PIPE-INPUT-STREAM CHARACTER 2316>
> it works fine.
> Any ideas what could be a reason for this nil stream?
That's because there's a bug in that code. (describe 'ext:run-shell-program) ==>
If :STREAM was specified for :INPUT or :OUTPUT, a Lisp STREAM is
returned. If :STREAM was specified for both :INPUT and :OUTPUT,
three Lisp STREAMs are returned, as for the function
EXT:MAKE-PIPE-IO-STREAM. Otherwise, the return value depends on
the process termination status: if it ended normally (without
signal, core-dump etc), its exit status is returned as an INTEGER,
otherwise NIL is returned.
First, you should use emacs, and let it do the indentation
automatically for you. This way, you could notice when something is
off:
(defun return-output-from-program (program args)
(with-output-to-string (out-stream)
(let ((stream
(ext:run-shell-command
(print (format nil "~A~{ ~A~}" program args
:output :stream
:wait nil)))))
(format t "Stream:~S~%" stream) ;;; <- stream is nil
(break)
(loop for line = (ignore-errors (read-line stream nil))
while line
do (write-line line out-stream)))))
and instead, it should be:
(defun return-output-from-program (program args)
(with-output-to-string (out-stream)
(with-open-stream (stream (ext:run-shell-command
(format nil "~A~{ ~A~}" program args)
:output :stream
:wait nil))
(loop
:for line = (read-line stream nil nil)
:while line
:do (write-line line out-stream)))))
> (RETURN-OUTPUT-FROM-PROGRAM "ls" '("-l""/tmp/"))
"total 88
srwxrwxrwx 1 pjb wheel 0 Jun 22 23:16 com.hp.launchport
drwx------ 7 pjb wheel 238 Jul 9 11:44 emacs1000
drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-AXCSlY
drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-Bom8jZ
drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-b5ilQu
drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-uWcsjb
drwx------ 3 pjb wheel 102 Jun 22 23:16 launchd-107.V4wjWY
drwx------ 3 _xgridagent wheel 102 Jun 22 23:16 launchd-94.Ca8jVJ
-rw-r--r-- 1 pjb wheel 42647 Jul 9 11:47 messages.txt
drwx------ 2 root wheel 68 Jul 9 03:15 tmpDG9jvA
drwx------ 2 root wheel 68 Jul 9 03:15 tmpawtZwX
drwxrwxrwx 3 pjb wheel 102 Jun 23 02:26 uscreens
"
--
__Pascal Bourguignon__
Thank you. I will report the bug
Regards, AngelP
On 9 Юли, 12:54, ····@informatimago.com (Pascal J. Bourguignon) wrote:
> AngelP <··········@gmail.com> writes:
> > Hi, Chased to a strange nil for stream.
>
> > #+(and :clisp :win32)
> > (defun return-output-from-program (program args)
> > (with-output-to-string (out-stream)
> > (let ((stream
> > (ext:run-shell-command
> > (print (format nil "~A~{ ~A~}" program args
> > :output :stream
> > :wait nil)))))
> > (format t "Stream:~S~%" stream);;; <- stream is nil
> > (break)
> > (loop for line = (ignore-errors (read-line stream nil))
> > while line
> > do (write-line line out-stream)))))
>
> > It leads me to two ways.
> > 1. Should it be a check for null stream in port.lisp
> > and
> > 2. Why it gives nil on stream. If I call the function at REPL, it
> > works as expected.
>
> >>(RUN-SHELL-COMMAND "c:\\cygwin\\bin\\bash.exe -l -c \"tar -C \\\"`cygpath 'C:\\clisp\\site\\'`\\\" -xzvf \\\"`cygpath 'C:\\clisp\\asdf-install-5.asdf-install-tmp'`\\\"\"" :OUTPUT :STREAM :WAIT NIL))
> >>#<INPUT BUFFERED PIPE-INPUT-STREAM CHARACTER 2316>
> > it works fine.
> > Any ideas what could be a reason for this nil stream?
>
> That's because there's a bug in that code. (describe 'ext:run-shell-program) ==>
>
> If :STREAM was specified for :INPUT or :OUTPUT, a Lisp STREAM is
> returned. If :STREAM was specified for both :INPUT and :OUTPUT,
> three Lisp STREAMs are returned, as for the function
> EXT:MAKE-PIPE-IO-STREAM. Otherwise, the return value depends on
> the process termination status: if it ended normally (without
> signal, core-dump etc), its exit status is returned as an INTEGER,
> otherwise NIL is returned.
>
> First, you should use emacs, and let it do the indentation
> automatically for you. This way, you could notice when something is
> off:
>
> (defun return-output-from-program (program args)
> (with-output-to-string (out-stream)
> (let ((stream
> (ext:run-shell-command
> (print (format nil "~A~{ ~A~}" program args
> :output :stream
> :wait nil)))))
> (format t "Stream:~S~%" stream) ;;; <- stream is nil
> (break)
> (loop for line = (ignore-errors (read-line stream nil))
> while line
> do (write-line line out-stream)))))
>
> and instead, it should be:
>
> (defun return-output-from-program (program args)
> (with-output-to-string (out-stream)
> (with-open-stream (stream (ext:run-shell-command
> (format nil "~A~{ ~A~}" program args)
> :output :stream
> :wait nil))
> (loop
> :for line = (read-line stream nil nil)
> :while line
> :do (write-line line out-stream)))))
>
> > (RETURN-OUTPUT-FROM-PROGRAM "ls" '("-l""/tmp/"))
>
> "total 88
> srwxrwxrwx 1 pjb wheel 0 Jun 22 23:16 com.hp.launchport
> drwx------ 7 pjb wheel 238 Jul 9 11:44 emacs1000
> drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-AXCSlY
> drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-Bom8jZ
> drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-b5ilQu
> drwx------ 3 pjb wheel 102 Jun 22 23:16 launch-uWcsjb
> drwx------ 3 pjb wheel 102 Jun 22 23:16 launchd-107.V4wjWY
> drwx------ 3 _xgridagent wheel 102 Jun 22 23:16 launchd-94.Ca8jVJ
> -rw-r--r-- 1 pjb wheel 42647 Jul 9 11:47 messages.txt
> drwx------ 2 root wheel 68 Jul 9 03:15 tmpDG9jvA
> drwx------ 2 root wheel 68 Jul 9 03:15 tmpawtZwX
> drwxrwxrwx 3 pjb wheel 102 Jun 23 02:26 uscreens
> "
>
> --
> __Pascal Bourguignon__
AngelP <··········@gmail.com> writes:
> On 9 Юли, 12:54, ····@informatimago.com (Pascal J. Bourguignon) wrote:
>> AngelP <··········@gmail.com> writes:
>> > Hi, Chased to a strange nil for stream.
>>
>> > #+(and :clisp :win32)
>> > (defun return-output-from-program (program args)
>> > (with-output-to-string (out-stream)
>> > (let ((stream
>> > (ext:run-shell-command
>> > (print (format nil "~A~{ ~A~}" program args
>> > :output :stream
>> > :wait nil)))))
>> > (format t "Stream:~S~%" stream);;; <- stream is nil
>> > (break)
>> > (loop for line = (ignore-errors (read-line stream nil))
>> > while line
>> > do (write-line line out-stream)))))
>>
>> That's because there's a bug in that code.
>
> Thank you. I will report the bug
When I write "THAT code", I refer the code you copied here, which is
NOT the original code in asdf-install. YOU modified THAT code, and
YOU are responsible for those bugs. Try to correct YOUR modifications.
Since you didn't show us the original code, I can only assume that it
was correct in the first place.
--
__Pascal Bourguignon__
Thanks for being nice to answer to such stupid newbies.
Regards, AngelP
On Jul 10, 2:24 pm, ····@informatimago.com (Pascal J. Bourguignon)
wrote:
> AngelP <··········@gmail.com> writes:
> > On 9 Юли, 12:54, ····@informatimago.com (Pascal J. Bourguignon) wrote:
> >> AngelP <··········@gmail.com> writes:
> >> > Hi, Chased to a strange nil for stream.
>
> >> > #+(and :clisp :win32)
> >> > (defun return-output-from-program (program args)
> >> > (with-output-to-string (out-stream)
> >> > (let ((stream
> >> > (ext:run-shell-command
> >> > (print (format nil "~A~{ ~A~}" program args
> >> > :output :stream
> >> > :wait nil)))))
> >> > (format t "Stream:~S~%" stream);;; <- stream is nil
> >> > (break)
> >> > (loop for line = (ignore-errors (read-line stream nil))
> >> > while line
> >> > do (write-line line out-stream)))))
>
> >> That's because there's a bug in that code.
>
> > Thank you. I will report the bug
>
> When I write "THAT code", I refer the code you copied here, which is
> NOT the original code in asdf-install. YOU modified THAT code, and
> YOU are responsible for those bugs. Try to correct YOUR modifications.
>
> Since you didn't show us the original code, I can only assume that it
> was correct in the first place.
>
> --
> __Pascal Bourguignon__
On 10 Юли, 14:24, ····@informatimago.com (Pascal J. Bourguignon)
wrote:
> AngelP <··········@gmail.com> writes:
> > On 9 Юли, 12:54, ····@informatimago.com (Pascal J. Bourguignon) wrote:
> >> AngelP <··········@gmail.com> writes:
> >> > Hi, Chased to a strange nil for stream.
>
> >> > #+(and :clisp :win32)
> >> > (defun return-output-from-program (program args)
> >> > (with-output-to-string (out-stream)
> >> > (let ((stream
> >> > (ext:run-shell-command
> >> > (print (format nil "~A~{ ~A~}" program args
> >> > :output :stream
> >> > :wait nil)))))
> >> > (format t "Stream:~S~%" stream);;; <- stream is nil
> >> > (break)
> >> > (loop for line = (ignore-errors (read-line stream nil))
> >> > while line
> >> > do (write-line line out-stream)))))
>
> >> That's because there's a bug in that code.
>
> > Thank you. I will report the bug
>
> When I write "THAT code", I refer the code you copied here, which is
> NOT the original code in asdf-install. YOU modified THAT code, and
> YOU are responsible for those bugs. Try to correct YOUR modifications.
>
> Since you didn't show us the original code, I can only assume that it
> was correct in the first place.
>
> --
> __Pascal Bourguignon__
Thanks,
It seems that the bug is in asdf-install's port.lisp
Here is the original code:
#+(and :clisp :win32)
(defun return-output-from-program (program args)
(with-output-to-string (out-stream)
(let ((stream
(ext:run-shell-command
(format nil "~A~{ ~A~}" program args
:output :stream
:wait nil))))
(loop for line = (ignore-errors (read-line stream nil))
while line
do (write-line line out-stream)))))
As you pointed, there is misplaced bracket. If I move the bracket,
asdf-install works fine.
What is the next step - to report problem to asdf-install-devel group?
From: Pascal J. Bourguignon
Subject: Re: ASDF-INSTALLing stops on clisp WinXP
Date:
Message-ID: <87d47wb2m7.fsf@galatea.local>
AngelP <··········@gmail.com> writes:
> It seems that the bug is in asdf-install's port.lisp
> Here is the original code:
>
> #+(and :clisp :win32)
> (defun return-output-from-program (program args)
> (with-output-to-string (out-stream)
> (let ((stream
> (ext:run-shell-command
> (format nil "~A~{ ~A~}" program args
> :output :stream
> :wait nil))))
> (loop for line = (ignore-errors (read-line stream nil))
> while line
> do (write-line line out-stream)))))
>
> As you pointed, there is misplaced bracket. If I move the bracket,
> asdf-install works fine.
> What is the next step - to report problem to asdf-install-devel group?
Definitely! ·························@common-lisp.net
Good catch! Thanks for finding that bug!
--
__Pascal Bourguignon__