On Wed, Apr 10, 2024 at 06:00:26PM +0800, Qian Yun wrote:
> I was using 1.3.10 release, no problem.  Trunk version has this problem.
> 
> Bisect to commit 1936e863, "Rename 'OBEY' to '|run_shell_command|' and
> implement with '|run_program|'".
> 
> This can be fixed by adding ":input t" to "sb-ext:run-program",
> but I can not explain why.
> 
> diff --git a/src/lisp/fricas-lisp.lisp b/src/lisp/fricas-lisp.lisp
> index 357aa063..5f3d58e2 100644
> --- a/src/lisp/fricas-lisp.lisp
> +++ b/src/lisp/fricas-lisp.lisp
> @@ -918,7 +918,8 @@ with this hack and will try to convince the GCL crowd to
> fix this.
>    (pop11:sysobey "/usr/bin/env" (cons command arguments))
>    #+:sbcl
>    (sb-ext:process-exit-code
> -    (sb-ext:run-program command arguments :search t :output
> *standard-output*))
> +    (sb-ext:run-program command arguments :search t :output
> *standard-output*
> +                        :input t))
>    #+:gcl
>    (si:system (format nil "~{~a~^ ~}" (cons command arguments)))
>  )

So in the trunk HyperDoc has /dev/null as standard input.  In 1.3.10
it had the same standard input as FRICASsys (or sman if started
by sman).  That still does not explain how HyperDoc decides if
it should exit.  And what we should do in 'run_program': most
program will not read standard input, so for them difference
should not matter.  But it is not clear what is better in
borderline cases.

-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZhaVzreqvBBqGDVJ%40fricas.org.

Reply via email to