[comp.emacs] emacs server.

fwpui2@bmerh453.BNR.CA (Larry Greenfield) (12/01/90)

Hello all,

I have been  using emacsclient to  bring files into  emacs and I would
like to add functionality    to   the  server-start  and   server-edit
commands.  Presently, a file is inserted  into a buffer  and I get the
message 'When done with a buffer, type C-x  #.'. When I do this, emacs
then switches back to the  previous buffer. The  way I would like this
process to work is for the server to  simply insert  the file into the
buffer and immediately issue  a  server-done to  emacsclient. I  would
also like to retain the original  implementation  for  mail, etc.  Can
someone describe how I can change the current function,  and revert to
the original when desired?

Thanks in advance,
Larry.

Fiber Systems Development,
Division 1
Bell-Northern-Research,
Ottawa, Canada.

jackr@dblues.wpd.sgi.com (Jack Repenning) (12/05/90)

In article <1990Nov30.212956.27042@bigsur.uucp>, fwpui2@bmerh453.BNR.CA (Larry Greenfield) writes:

|> The way I would like this process to work is for the server to
|> simply insert the file into the buffer and immediately issue a
|> server-done to emacsclient. I would also like to retain the
|> original implementation for mail, etc.

Andy Norman <ange@hplb.hpl.hp.com> makes a fine little extended
emacsserver, called ``gnuserv.'' It does just exactly what you request
here (the client is named gnuclient; if you invoke "gnuclient file",
it waits; if you do "gnuclient -q file" it doesn't.  Set $EDITOR to
the former; alias the latter to something easy to type).

It also includes a thing called gnudoit, which passes an arbitrary
elisp form to Emacs.  For example, I have my mail-notifier do a 
"gnudoit '(mh-inc-folder)'" when I boink it, so that Emacs
incorporates my mail.

It also works among multiple machines, so you can keep your edit
server on your home machine, and edit files residing on others, by
typing "gnuclient [-q] filename" into a window on the other machine.
This mechanism includes security features, to prevent others from
abusing your editor.  It's fully explained in the man page.  Really
effective use of the remote feature requires either some kind of
widespread policy about handling NFS mounts, or Andy's wonderful
ange-ftp.el code.

Gnuserv also includes some minor modifications to emacs so that, when
running under X11, it can deiconify and raise itself.  By default,
this is included in the find-file-hooks, so you can keep your edit
server iconified, and have it raise when things come in.  These
changes are essentially independant: you can use them without gnuserv,
you can use gnuserv without the X11 changes.

[All this!  And, for only $19.95 extra, it includes a Ginsu knife!]

I tried to email you a tarball containing gnuserv, but the message was
bounced by BNRGATE, saying fwpui2 isn't allowed to email on NetNorth.
Send me a working email address, and I'll send you the stuff - or,
contact Ange directly: he likes to be recognized for his great work!

Jack Repenning
Silicon Graphics, Inc.

zoo@aps1.spa.umn.edu (david d [zoo] zuhn) (12/07/90)

Jack> In article <1990Nov30.212956.27042@bigsur.uucp>, fwpui2@bmerh453.BNR.CA (Larry Greenfield) writes:

Jack> |> The way I would like this process to work is for the server to
Jack> |> simply insert the file into the buffer and immediately issue a
Jack> |> server-done to emacsclient. I would also like to retain the
Jack> |> original implementation for mail, etc.

Jack> Andy Norman <ange@hplb.hpl.hp.com> makes a fine little extended
Jack> emacsserver, called ``gnuserv.'' It does just exactly what you request
Jack> here (the client is named gnuclient; if you invoke "gnuclient file",
Jack> it waits; if you do "gnuclient -q file" it doesn't.  Set $EDITOR to
Jack> the former; alias the latter to something easy to type).

Jack> It also includes a thing called gnudoit, which passes an arbitrary
Jack> elisp form to Emacs.  For example, I have my mail-notifier do a 
Jack> "gnudoit '(mh-inc-folder)'" when I boink it, so that Emacs
Jack> incorporates my mail.

This software is now available for anonymous FTP from cs.umn.edu
(128.101.224.1 for the nameserver impaired) as
pub/gnu/emacs/gnuserv.tar.Z.

Please contact me (zoo@aps1.spa.umn.edu) if you have any problems
getting the software.

Please contact Andy Norman (ange@hplb.hpl.hp.com) if you have any
problems getting the software to work.

david d [zoo] zuhn		Univ. of Minnesota Dept. of Astronomy
zoo@aps1.spa.umn.edu		      Automated Plate Scanner Project