diff options
Diffstat (limited to 'emacs/gds.el')
-rw-r--r-- | emacs/gds.el | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/emacs/gds.el b/emacs/gds.el index 1275d778b..01c9d97fe 100644 --- a/emacs/gds.el +++ b/emacs/gds.el @@ -37,10 +37,11 @@ ;; The subprocess object for the debug server. (defvar gds-debug-server nil) -(defvar gds-socket-type-alist '((tcp . 8333) - (unix . "/tmp/.gds_socket")) - "Maps each of the possible socket types that the GDS server can -listen on to the path that it should bind to for each one.") +(defvar gds-unix-socket-name (format "/tmp/.gds-socket-%d" (emacs-pid)) + "Name of the Unix domain socket that GDS will listen on.") + +(defvar gds-tcp-port 8333 + "The TCP port number that GDS will listen on.") (defun gds-run-debug-server () "Start (or restart, if already running) the GDS debug server process." @@ -48,10 +49,14 @@ listen on to the path that it should bind to for each one.") (if gds-debug-server (gds-kill-debug-server)) (setq gds-debug-server (gds-start-server "gds-debug" - (cdr (assq gds-server-socket-type - gds-socket-type-alist)) + gds-unix-socket-name + gds-tcp-port 'gds-debug-protocol)) - (process-kill-without-query gds-debug-server)) + (process-kill-without-query gds-debug-server) + ;; Add the Unix socket name to the environment, so that Guile + ;; clients started from within this Emacs will be able to use it, + ;; and thereby ensure that they connect to the GDS in this Emacs. + (setenv "GDS_UNIX_SOCKET_NAME" gds-unix-socket-name)) (defun gds-kill-debug-server () "Kill the GDS debug server process." @@ -617,7 +622,7 @@ you would add an element to this alist to transform :group 'gds) (defcustom gds-server-socket-type 'tcp - "What kind of socket the GDS server should listen on." + "This option is now obsolete and has no effect." :group 'gds :type '(choice (const :tag "TCP" tcp) (const :tag "Unix" unix))) |