1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 21:10:27 +02:00
Commit graph

22 commits

Author SHA1 Message Date
Neil Jerram
639bf3e507 Merge branch 'ossau-gds-dev'
Conflicts:

	THANKS
2009-08-27 22:52:20 +01:00
Neil Jerram
53befeb700 Change Guile license to LGPLv3+
(Not quite finished, the following will be done tomorrow.
   module/srfi/*.scm
   module/rnrs/*.scm
   module/scripts/*.scm
   testsuite/*.scm
   guile-readline/*
)
2009-06-17 00:22:09 +01:00
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
Neil Jerram
8b08722023 Add a GDS protocol hook, that we can use for testing
* emacs/gds.el (gds-protocol-hook): New hook.
  (gds-debug-protocol): Run this hook for each received protocol form.
2008-12-11 21:40:03 +00:00
Neil Jerram
69986e21d3 Remove everything to do with GDS Breakpoints
(which I now regard as an unsuccesful experiment)

This commit makes all affected files the same in master as they are in branch_release-1-8.

* doc/ref/api-debug.texi (Breakpoints): Removed.

* doc/ref/scheme-using.texi (GDS Introduction, GDS Getting Started,
  Displaying the Scheme Stack): Remove mentions of breakpoints.
  (Setting Specific Breakpoints, Setting GDS-managed Breakpoints,
  Setting and Managing Breakpoints, Listing and Deleting Breakpoints,
  Moving and Losing Breakpoints): Removed.

* emacs/gds-scheme.el (gds-bufferless-breakpoints,
  gds-bpdef:behaviour, gds-bpdef:type, gds-bpdef:file-name,
  gds-bpdef:proc-name, gds-bpdef:lc, gds-breakpoint-number,
  gds-breakpoint-buffers, gds-breakpoint-programming,
  gds-breakpoint-cache, gds-breakpoint-face,
  gds-breakpoints-file-name, gds-delete-lost-breakpoints,
  gds-bpdefs-cache, gds-read-breakpoints-file, gds-adopt-breakpoints,
  gds-adopt-breakpoint, gds-make-breakpoint-overlay,
  gds-send-breakpoint-to-client, gds-default-breakpoint-type,
  gds-set-breakpoint, gds-defun-name-region,
  gds-breakpoint-overlays-at, gds-write-breakpoints-file,
  gds-fold-breakpoints, gds-delete-breakpoints, gds-delete-breakpoint,
  gds-breakpoint-at-point, gds-union, gds-user-selected-breakpoint,
  gds-describe-breakpoints, gds-describe-breakpoint,
  gds-after-save-update-breakpoints, gds-breakpoint-map): Removed.
  (gds-nondebug-protocol): Removed handling for `breakpoint' and
  `get-breakpoints'.

* emacs/gds.el (gds-scheme-first-load): Removed.

* ice-9/debugging/Makefile.am (ice9_debugging_sources): Removed
  breakpoints.scm and load-hooks.scm.

* ice-9/debugging/breakpoints.scm: Removed.

* ice-9/debugging/load-hooks.scm: Removed.

* ice-9/gds-client.scm (handle-nondebug-protocol): Remove everything
  to do with breakpoints.
  (breakpoints, set-gds-breakpoints): Removed.
  (run-utility): Call `connect-to-gds' instead of `set-gds-breakpoints'.
2008-12-10 00:19:11 +00:00
Neil Jerram
ba6984d09b (gds-socket-type-alist): New.
(gds-run-debug-server): Use gds-server-socket-type and
gds-socket-type-alist instead of gds-server-port-or-path.
(gds-server-socket-type): New, replacing gds-server-port-or-path.
2006-10-14 16:34:16 +00:00
Neil Jerram
e2d23cc0f8 * gds.el (gds-run-debug-server): Use variable
gds-server-port-or-path instead of hardcoded 8333.
(gds-server-port-or-path): New.

* gds-server.el (gds-start-server): Change port arg to
port-or-path, to support Unix domain sockets.

* gds-client.scm (connect-to-gds): Try to connect by Unix domain
socket if TCP connection fails.

* gds-server.scm (run-server): Update to support listening on a
Unix domain socket.
2006-10-12 23:24:02 +00:00
Neil Jerram
731bcf738e * Makefile.am: New file.
* gds.el, gds-scheme.el, gds-server.el: New files.
2006-06-19 22:01:23 +00:00
Neil Jerram
e6def95db0 Remove GDS files. 2005-07-09 15:11:09 +00:00
Marius Vollmer
92205699d0 The FSF has a new address. 2005-05-23 19:57:22 +00:00
Neil Jerram
7f05d32538 * gds-client.scm (handle-instruction-1): In `eval' protocol, catch
and report read errors nicely.

	* gds.el (gds-display-buffers): Don't select the GDS window.
2004-02-25 19:10:07 +00:00
Neil Jerram
580987cf4b * gds.el: Add requirements: cl, comint, info.
(gds-guile-program): New.
	(gds-start): When starting or restarting, kill captive if it
	exists.  Use gds-guile-program instead of just "guile".
	(gds-mode): Use widget minor mode.
	(gds-client-ref): New optional client arg.
	(gds-update-buffers): Don't call widget-setup.
	(gds-heading-face): New.
	(gds-insert-interaction): Various prettifications.
	(gds-heading-insert): New.
	(gds-choose-client): Check that numbers in client and gds-client
	are still valid.
	(gds-eval-expression, gds-apropos): Remove text properties from
	expression to evaluate.
	(gds-mode-map): Don't set widget-mode-map as parent.
	(gds-start-captive): Use gds-guile-program instead of just
	"guile".

	* gds-client.scm (install-breakpoints): Bugfix: avoid null lists
	in traversal.
	(eval-thread, gds-eval): Where expression has multiple parts,
	modify output to say which part is being evaluated.
2004-02-21 14:53:07 +00:00
Neil Jerram
15e6a33592 * gds.el (gds-handle-client-input): Handle new `thread-status'
protocol.
	(gds-display-slow-eval): New.
	(gds-client-ref): Bugfix: buf -> (cdr buf).
	(gds-display-buffers): Bugfix: minimum overlay end value is 1, not
	0.
	(gds-evals-in-progress): New.
	(gds-results): New.
	(gds-insert-interaction): Show evaluations in progress (with
	button to interrupt them) and results of last help or evaluation.
	(gds-interrupt-eval): New.
	(gds-debug-trap-hooks, gds-up, gds-down): New.
	(gds-eval-region, gds-eval-expression): Include abbreviated code
	in eval correlator.
	(gds-abbreviated-length, gds-abbreviated): New.
	(gds-mode-map): New keys for gds-debug-trap-hooks, gds-up,
	gds-down.
	(gds-debug-menu): New menu entries for gds-up, gds-down.

	* gds-client.scm (gds-connect): Enable trapping for gds-eval
	stacks.
	(ui-read-thread-proc): Write 'running status earlier.
	(stack->emacs-readable): Limit stack length to 'depth debug
	option.
	(handle-instruction): Update format of eval correlator.
	(handle-instruction-1): Resolve module names from root module
	instead of from current module.
	(resolve-module-from-root): New.
	(handle-instruction-1): New protocol `interrupt-eval'.
	(eval-thread-table): New.
	(eval-thread): Add thread to eval-thread-table; write new protocol
	to frontend to communicate eval thread status; update for new
	correlator format; bind correlator local before entering loop2.
	(gds-eval): Use start-stack 'gds-eval-stack to rebase stack.

	* gds.el (gds-start, gds-start-captive): Do
	`process-kill-without-query' as soon as processes started, ...
	(gds-shutdown, gds-kill-captive): ... instead of here.
	(gds-display-results): More clearly show unspecified results; show
	results in interaction view instead of in separate window.
	(gds-send): Add sent protocol to transcript.
2004-02-04 12:50:37 +00:00
Neil Jerram
1264d33105 Simplify algorithm for popping up windows. 2004-01-26 21:40:42 +00:00
Neil Jerram
ea73836c1d Reorg gds-send args; use evaluation correlator 2004-01-20 22:13:20 +00:00
Neil Jerram
7dd3f110af Initial support for setting source breakpoints. 2003-11-27 20:54:05 +00:00
Neil Jerram
d9d022a7d6 Work in progress. 2003-11-19 01:22:06 +00:00
Neil Jerram
e707c78b4b Lots of ongoing development. 2003-11-11 23:40:38 +00:00
Neil Jerram
9f1af5d96e Work on debugger frontend code. 2003-10-16 11:53:58 +00:00
Neil Jerram
41a80feb8a UI frontend work: eval support. 2003-10-06 20:33:02 +00:00
Neil Jerram
02b0c69289 Debugger UI asynchronous thread support. 2003-10-04 20:03:51 +00:00
Neil Jerram
79b1c5b67f Work (in progress) on new debugging frontend. 2003-09-25 20:32:10 +00:00