I want to control on and off ob check-button.

cage cage at katamail.com
Thu May 31 20:15:06 UTC 2018


On Wed, May 30, 2018 at 06:25:18PM +0200, cage wrote:

Hello!

> I would  like to  help you  but the fact  is that  ltk seem  have some
> problem on my system:
>
> an example as simple as this:
>
>
> ----
>
> ;; my package
>
> (require 'ltk)
>
> (defpackage :test
>   (:use :common-lisp
>         :ltk)
>   (:export
>    :main))
>
> (in-package :test)
>
> (defun main ()
>   (with-ltk ()
>     (let ((b (make-instance 'button
>               :text "Hi!")))
>       (pack b))))
>
> (main)
>
> ----
>
> Launch an exception:
>
> "When reading from tcl, expected a list but instead got FONTCONFIG"

After an investigation seems the problem was related to this line:

https://github.com/herth/ltk/blob/master/ltk/ltk.lisp#L464

The standard  error from child  process (wish) is captured  and parsed
from the parent process (lisp/ltk system); on my system (computer, not
lisp system :-)) the program "fontconfig" complains about some missing
configuration file, the actual message is:

"Fontconfig error: failed reading config file"

ltk try  to parse this  string and, of couse  fails and this  signal a
condition.

My workaround has been change the line 464 of ltk.lisp:

#+:sbcl (let ((proc (sb-ext:run-program program args :input :stream :output :stream :wait wt :search t)))

with:

#+:sbcl (let ((proc (sb-ext:run-program program args :input :stream :output :stream :error nil :wait wt :search t)))

i.e. adding  ":error nil"

This remove the problem but i am not sure this is a proper solution. I
kindly ask the maintainer if he could check this issue.

Thanks in advance.
C.



More information about the ltk-user mailing list