1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/emacs
Neil Jerram 72553cb0ce Support multiple concurrent instances of Emacs + GDS server
By:

- Making the Unix socket name unique (for each Emacs instance), by
  appending Emacs's PID to it.

- Changing the GDS server to listen on both Unix domain and TCP (and
  not to mind if the TCP bind fails, which will happen if another GDS
  instance has already bound to the TCP port number).

- Adding this unique Unix socket name to the environment (as
  GDS_UNIX_SOCKET_NAME), so that Guile clients started from inside
  Emacs can pick it up.

- Changing the GDS client code to look for GDS_UNIX_SOCKET_NAME in the
  environment, and to connect to the Unix socket with that name
  instead of over TCP.

  Guile clients started outside Emacs will not find
  GDS_UNIX_SOCKET_NAME and so will fall back to using TCP.  This means
  they will connect to whichever Emacs + GDS server instance started
  first.

* emacs/gds-server.el (gds-start-server): Take both Unix socket name
  and TCP port args, instead of just one (which could be either Unix
  or TCP), and pass these on to `run-server'.  Remove unused optional
  bufname arg.

* emacs/gds.el (gds-unix-socket-name, gds-tcp-port): New variables.
  (gds-socket-type-alist): Removed.
  (gds-run-debug-server): Pass gds-unix-socket-name and gds-tcp-port
  to gds-start-server.  Add the Unix socket name to the environment.
  (gds-server-socket-type): Note now obsolete.

* ice-9/gds-client.scm (connect-to-gds): Get Unix socket name from
  environment, and connect to this in preference to using TCP.

* ice-9/gds-server.scm (run-server): Take both Unix socket name and
  TCP port args.  Listen and accept connections on both.
2008-12-13 00:01:34 +00:00
..
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
gds-faq.txt Add GDS test and documentation files 2008-12-12 22:32:59 +00:00
gds-scheme.el Remove everything to do with GDS Breakpoints 2008-12-10 00:19:11 +00:00
gds-server.el Support multiple concurrent instances of Emacs + GDS server 2008-12-13 00:01:34 +00:00
gds-test.el Add GDS test and documentation files 2008-12-12 22:32:59 +00:00
gds-test.sh Add GDS test and documentation files 2008-12-12 22:32:59 +00:00
gds-test.stdin Add GDS test and documentation files 2008-12-12 22:32:59 +00:00
gds-tutorial.txt Add GDS test and documentation files 2008-12-12 22:32:59 +00:00
gds.el Support multiple concurrent instances of Emacs + GDS server 2008-12-13 00:01:34 +00:00
gud-guile.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00
guile-c.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00
guile-emacs.scm The FSF has a new address. 2005-05-23 19:57:22 +00:00
guile-scheme.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00
guile.el The FSF has a new address. 2005-05-23 19:57:22 +00:00
Makefile.am Add `ChangeLog-2008' files to the distribution. 2008-09-12 21:57:52 +02:00
multistring.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00
patch.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00
ppexpand.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00
README Document removal of guileint. 2004-03-10 10:14:13 +00:00
update-changelog.el merge from 1.8 branch 2006-04-16 23:37:40 +00:00

Index

gud-guile.el --- Support for debugging guile internals
guile-c.el --- Guile C editing commands
guile-scheme.el --- Guile Scheme editing mode
guile.el --- Emacs Guile interface
multistring.el --- editing multiline strings.
patch.el --- mail/apply a patch
ppexpand.el --- temporarily expanding macros in a pretty way.
update-changelog.el --- stitch rcs2log output to ChangeLog

Generated using: for f in *.el ; do sed -e 's/^....//g' -e '1q' $f ; done