On Tue, 16 Sep 2003 14:02:59 PDT, Albert Ting <alt(a)artisan.com> said:
- "gnuclient -display HOST:PORT" does not work on either
linux-RH-7.2 or
solaris-2.8. It seems like it gets ignored.
- Was not able to get make-display-on-frame on linux-RH-7.2 to work.
Main window was displayed on a solaris desktop. When I try to display a
new frame on the linux machine, xemacs hangs.
This is a design brokedness in the gnuserv code - the problem is in
gnuserv-edit-files:
The visited buffers are memorized, so that when \\[gnuserv-edit] is invoked
in such a buffer, or when it is killed, or the client's device deleted, the
client will be invoked that the edit is finished.
TYPE should either be a (tty TTY TERM PID) list, or (x DISPLAY) list.
unfortunately, the code proceeds to do this:
(dest-frame (if (functionp gnuserv-frame)
(funcall gnuserv-frame (car type))
gnuserv-frame))
and the (car type) causes the 'DISPLAY' to be lost.
Meanwhile, the *OTHER* choices for gnuserv-frame are
'gnuserv-main-frame-function',
gnuserv-visible-frame-function, and gnuserv-special-frame-function - so basically
the only way to make this work is to set gnuserv-special-frame-function so that
it returns a Lisp-expression that gets evaluated back in gnuserv-edit-files that
looks at (type) rather than (car type).
Or so I remember it when I fought this beast a while ago - I solved it by swapping 2
Dell boxes (one at home, one at office) for one laptop, so I'm always editing
locally,
rather than "on the other machine"....