1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
Commit graph

87 commits

Author SHA1 Message Date
Ludovic Courtès
a6ec043f7a
Remove 'emacs/Makefile.am'.
This is a followup to 178e9d237b.

* emacs/Makefile.am: Delete.
* configure.ac: Don't output 'emacs/Makefile'.
* Makefile.am (SUBDIRS): Remove 'emacs'.
2023-06-05 10:18:13 +02:00
Andy Wingo
178e9d237b remove GDS
It is with a sigh that I do this. Farewell, old friend GDS; your bits
will live on, reclaimed and reused in the new debugger.

* module/Makefile.am:
* module/ice-9/gds-client.scm:
* module/ice-9/gds-server.scm: Remove these; we favor Geiser now.

* emacs/Makefile.am:
* emacs/gds-faq.txt:
* emacs/gds-scheme.el:
* emacs/gds-server.el:
* emacs/gds-test.el:
* emacs/gds-test.sh:
* emacs/gds-test.stdin:
* emacs/gds-tutorial.txt:
* emacs/gds.el: Remove GDS files. The docs are still around, as they
  need to be folded into the docmentation of the new debugger.
2010-09-24 18:38:08 +02:00
Andy Wingo
3fc7e2c123 deprecate arity access via (procedure-properties proc 'arity)
* libguile/procprop.h (scm_sym_arity): Deprecate. I didn't move it to
  deprecated.h though, because that might have some boot implications --
  though I didn't check.

* libguile/procprop.c (scm_procedure_properties)
  (scm_set_procedure_properties_x, scm_procedure_property)
  (scm_set_procedure_property_x): Deprecate access to a procedure's
  arity via procedure-properties. Users should use
  procedure-minimum-arity.

* module/ice-9/channel.scm (eval):
* module/ice-9/session.scm (arity):
* module/language/tree-il/analyze.scm (validate-arity): Fix up instances
  of (procedure-property x 'arity) to use procedure-minimum-arity.
2010-04-17 16:28:52 +02:00
Neil Jerram
e8e655e21b GDS usability: operation without a mouse
Derek Peschel provided this patch and described it as follows.

"Most of the time I use Terminal in OS X, rather than xterm.  I also don't
bother with the GUI versions of Emacs.  So unfortunately I have no mouse
support in Emacs.  Also the system I'm testing Guile on thinks my terminal
doesn't support color and I haven't fixed it yet.  The attached patch makes
GDS more usable for me.

"With no mouse, the "[click here to show error stack]" design is very
inconvenient.  You added a C-M (return) binding at some point.  I copied
that, but I also changed the message to show it.  And I made the return
work when the cursor is after the right bracket."

* emacs/gds-scheme.el (gds-display-results): Make "click here" message
  more helpful for people without mice.  Also extend text properties
  so that a RET key press works at the end of that line.
2009-09-22 00:39:57 +01:00
Neil Jerram
a27173cf78 Fix GDS utility client startup
* emacs/gds-scheme.el (gds-start-utility-guile): Use buffer-local
  variable gds-client instead of client, as client is actually unbound
  when the process-filter lambda runs.  (i.e. This isn't Scheme code!)
2009-08-28 00:29:04 +01:00
Neil Jerram
639bf3e507 Merge branch 'ossau-gds-dev'
Conflicts:

	THANKS
2009-08-27 22:52:20 +01:00
Neil Jerram
c0d316cce7 Make GDS resilient to autocompilation comments
* emacs/gds-scheme.el (gds-start-utility-guile): Make the extraction
  of client number more robust; in particular when the client emits
  comments (about auto compilation) before the number.
2009-08-27 22:22:34 +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
1a2285752e Add GDS test and documentation files
(Transferred from the remains of the old standalone guile-debugging
project at gna.org.)

* emacs/gds-faq.txt, emacs/gds-test.el, emacs/gds-test.sh,
  emacs/gds-test.stdin, emacs/gds-tutorial.txt: New files.
2008-12-12 22:32:59 +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
Ludovic Courtès
61db429e25 Add `ChangeLog-2008' files to the distribution. 2008-09-12 21:57:52 +02:00
Ludovic Courtès
afb59d75b8 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
Ludovic Courtès
85ca88c68b Remove `.cvsignore' files. 2008-09-11 21:28:21 +02:00
Neil Jerram
091baf9edf Single stepping through code from Emacs
When you use GDS to evaluate Scheme code from Emacs, you can now use
`C-u' to indicate that you want to single step through that code. See
`Evaluating Scheme Code' in the manual for more details.

	* scheme-using.texi (Evaluating Scheme Code): Document use of
        `C-u' prefix with evaluation commands.

        * gds-scheme.el (gds-eval-region, gds-eval-expression)
        (gds-eval-defun, gds-eval-last-sexp): Support `C-u' prefix,
        meaning that user wants to single step through the code.

        * gds-client.scm (handle-nondebug-protocol): Add support for
        setting a trap on code that is about to be evaluated.
2008-07-17 23:05:57 +01:00
Neil Jerram
ed1dec3ce3 * gds-scheme.el (gds-display-results): Use save-selected-window
instead of switching to other-window in order to return to the
        proper window in frames with more than two windows.
2007-02-06 23:31:03 +00:00
Neil Jerram
6d6a3fe260 (gds-display-results): Add another binding for
gds-show-last-stack (RET).
(scheme-mode-map): And another: C-h S.
(scheme-mode-map): And an alternative C-h G binding for
gds-apropos, as we probably should not be using C-h C-g.
2007-01-17 13:38:17 +00:00
Neil Jerram
19b16cd055 *** empty log message *** 2006-11-13 22:21:36 +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
fce4b99e9e * gds-server.el (gds-start-server): Change "ossau" to "ice-9".
* gds-scheme.el (gds-start-utility-guile): Change "ossau" to
"ice-9".
2006-08-18 14:21:23 +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
Kevin Ryde
6e7d5622ee merge from 1.8 branch 2006-04-16 23:37:40 +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
Marius Vollmer
0954f871cd *** empty log message *** 2004-07-06 09:54:35 +00:00
Neil Jerram
cbd3255bf8 Document removal of guileint. 2004-03-10 10:14:13 +00:00
Neil Jerram
464620ec63 Remove guileint files. 2004-03-10 10:09:33 +00:00
Neil Jerram
6841205b19 *** empty log message *** 2004-02-25 19:11:33 +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
9de7b7abb4 * gds-tutorial.txt, gds-problems.txt: New files. 2004-02-22 11:11:17 +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
Mikael Djurfeldt
f1dc5f45ab * Makefile.am (TAGS_FILES): Use this variable instead of
ETAGS_ARGS so that TAGS can be built using separate build
directory.

* Makefile.am (TAGS_FILES): Use this variable instead of
ETAGS_ARGS so that TAGS can be built using separate build
directory.

* debugger/breakpoints/Makefile.am (TAGS_FILES),
debugger/Makefile.am (TAGS_FILES), Makefile.am (TAGS_FILES): Use
this variable instead of ETAGS_ARGS so that TAGS can be built
using separate build directory.

* primitives/Makefile.am (TAGS_FILES), internals/Makefile.am
(TAGS_FILES), Makefile.am (TAGS_FILES): Use this variable instead
of ETAGS_ARGS so that TAGS can be built using separate build
directory.

* Makefile.am, goops/Makefile.am (TAGS_FILES): Use this variable
instead of ETAGS_ARGS so that TAGS can be built using separate
build directory.

* Makefile.am (TAGS_FILES): Use this variable instead of
ETAGS_ARGS so that TAGS can be built using separate build
directory.
2004-02-09 01:48:34 +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
a6ab1debaf Implement eval threads. 2004-01-20 22:09:32 +00:00
Neil Jerram
5c963b6eb8 Add GDS doc 2004-01-20 22:05:44 +00:00
Neil Jerram
7dd3f110af Initial support for setting source breakpoints. 2003-11-27 20:54:05 +00:00
Neil Jerram
0f8b558cbc Work in progress. 2003-11-19 01:27:31 +00:00
Neil Jerram
d9d022a7d6 Work in progress. 2003-11-19 01:22:06 +00:00
Rob Browning
ec3972f753 *** empty log message *** 2003-11-17 19:19:26 +00:00
Rob Browning
936f702bfd new file. 2003-11-17 19:15:30 +00:00
Neil Jerram
e707c78b4b Lots of ongoing development. 2003-11-11 23:40:38 +00:00
Neil Jerram
32ac6ed12f Moved all gds files here; plus ongoing work on them. 2003-11-11 23:30:06 +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