Luke Gorrie luke@bluetail.com writes:
Right. How about this: remove the :handle-background argument and allow the :init-fn to return NIL, meaning "I don't expect any input".
Then the dedicated-stream's INIT-FN can return NIL to avoid an endless loop. Sound like it would work?
Maybe :) What about a function that corresponds to socket/listen/accept and returns a lisp stream? It seems that could be implemented in all implementations. Perhaps with an announce callback for bootstrapping.
I hadn't realised how much variation there is across Lisp networking interfaces when I defined that interface.
Yeah it's annoying.
BTW, do you know a way to run LispWorks Personal Edition without the GUI? It's driving me nuts :-)
I've a "creative" config file with a #. macro that gives you a listener in the tty. You still get the GUI with annoying popup windows, though. Add the following to ~/.lispworks-config/4.3/Environment/LISPWORKS-TOOLS/LISTENER/.values:
;; -*- lisp -*-
#.(progn (format t "~%; Lispworks init hack in ~A~%" *load-truename*) (load "/home/helmut/.lispworks"))
(("Window Positions:1024x768" (373 98 650 500)))
Any other config file in this directory should work too. Then make this file read-only, so that Lispworks cannot overwrite it on the next exit. And in ~/.lispworks:
(mp:initialize-multiprocessing) (mp:process-run-function "TTY Listener" () #'system::listener-top-level *terminal-io*)
I also rename/delete /usr/local/lib/LispWorksPersonal/lib/4-3-0-0/app-defaults/Lispworks, so that I get the default motif colors. I cannot stand Lispworks color scheme. I'm always impressed how amazingly badly configured Lispworks demo version is :-)
Helmut.