[Ecls-list] CLX open-display
Julian Stecklina
js at alien8.de
Tue Feb 24 16:48:50 UTC 2009
Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> writes:
> On Tue, Feb 24, 2009 at 4:09 PM, Julian Stecklina <js at alien8.de> wrote:
>> Filesystem error with pathname "build:clx;module.lisp".
>> Either
>> 1) the file does not exist, or
>> 2) we are not allow to access the file, or
>> 3) the pathname points to a broken symbolic link.
>
> The CLX directory had to be created before writing to module.lisp,
> which is automatically generated by compile.lsp. I did not notice this
> because this path already existed in my build directory.
It builds and seems to work now. :) One issue remains with stumpwm:
ext:setenv doesn't seem to properly terminate strings. The
code (in stumpwm's wrappers.lisp) looks something like:
(defun getenv (var)
(ext:getenv (string var)))
(defun (setf getenv) (val var)
(ext:putenv (string var) (string) val))
(setf (getenv "DISPLAY") (format nil "~a:~d.~d"
(screen-host (current-screen))
(xlib:display-display *display*)
(screen-id (current-screen))))
(format t "Set DISPLAY to ~S~%" (getenv "DISPLAY"))
This gives for example:
Set DISPLAY to ":1.0¸W¸ð {²'à7¬Q%@ë6ðég/X.HãçÊÀü§ñÚ#"
I was unable to reproduce this from a plain ECL repl, though. :-/ The
complete code is in the ecl branch at git://github.com/blitz/stumpwm.git
To try it out for yourself:
./configure --with-lisp=ecl --with-ppcre=PATH-TO-CL-PPCRE
make
(ignore messages about failing to build documentation)
Run Xnest or Xephyr on a separate terminal:
Xnest -ac :1
or Xephyr -ac :1
Switch back to the first terminal and run:
DISPLAY=:1 ./stumpwm
Regards,
--
Julian Stecklina
Always code as if the guy who ends up maintaining your code will be a
violent psychopath who knows where you live. - Martin Golding
More information about the ecl-devel
mailing list