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

915 commits

Author SHA1 Message Date
Neil Jerram
5e9dc714ca Remove AC_SYS_RESTARTABLE_SYSCALLS and related code
As the Autoconf documentation says, "These days portable programs
[...] should not rely on `HAVE_RESTARTABLE_SYSCALLS', since nowadays
whether a system call is restartable is a dynamic issue, not a
configuration-time issue."

In other words, if we ever rely on HAVE_RESTARTABLE_SYSCALLS, we are
at the mercy of any code that Guile happens to be linked with, because
that code could install a signal handler without the SA_RESTART flag,
and then a Guile system call could unexpectedly return EINTR.

The readline part of this goes back to this problem report:
excellent example of the above paragraph.  It was noted during the
discussion that undefining HAVE_RESTARTABLE_SYSCALLS would fix the
problem, but that solution wasn't adopted - I guess because Guile was
still using cooperative threads then (not pthreads) and so there was a
significant concern (whether founded or not) that not using
restartable syscalls (where available) could lead to a loss of
performance.

Now Guile's default mode of operation is with pthreads, where we
already don't assume that HAVE_RESTARTABLE_SYSCALLS is reliable, so
there is no possible further performance loss.  And in any case we
really have no choice, if we want correct operation.

* configure.in (AC_SYS_RESTARTABLE_SYSCALLS): Removed.

* doc/ref/posix.texi (Signals): Remove statement that Guile always
  sets SA_RESTART flag.

* guile-readline/configure.in (GUILE_SIGWINCH_SA_RESTART_CLEARED):
  Remove this setting, together with its test code.
  (HAVE_RL_PRE_INPUT_HOOK): Remove this setting and its code, as no
  longer needed.

* guile-readline/readline.c (sigwinch_enable_restart): Removed.
  (scm_init_readline): Remove setting of rl_pre_input_hook.

* libguile/_scm.h (SCM_SYSCALL): Remove the definition that relies on
  HAVE_RESTARTABLE_SYSCALLS.

* libguile/scmsigs.c (scm_sigaction_for_thread): Don't always set the
  SA_RESTART flag if available.  Update docstring accordingly.
  (scm_init_scmsigs): Remove code that sets SA_RESTART flag for all
  signals.
2009-06-18 20:35:45 +01:00
Neil Jerram
0310b348a1 Fix explicitely' typos, should be explicitly' 2009-05-20 18:54:23 +01:00
Julian Graham
8fc9367bbd Update SRFI-11 docs to use correct name for let*-values.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2009-02-11 23:33:26 +01:00
Ludovic Courtès
8073f24ccd Add `ChangeLog-2008' files to the distribution. 2008-09-12 21:46:32 +02:00
Ludovic Courtès
e9d9445b50 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:42:26 +02:00
Ludovic Courtès
0db4aa6c4a doc: Correct the default value of `%load-path'.
* doc/ref/api-options.texi (Build Config): Remove "." from the default value
  of `%load-path'.  Reported by David Séverin <david@altosw.be>.
2008-09-12 11:30:04 +02:00
Ludovic Courtès
365db7e640 Remove `.cvsignore' files. 2008-09-11 21:48:53 +02:00
Neil Jerram
e460586430 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 22:44:52 +01:00
Ludovic Courtès
47463c8fd7 Add `scm_c_symbol_length ()'. 2008-07-05 20:11:22 +02:00
Ludovic Courtès
ecb5d146f7 Fix doc typo regarding `use-syntax' and "syntax transformers". 2008-06-28 20:39:38 +02:00
Ludovic Courtès
5c22f3e51f Fix SRFI-88 URL in the manual. 2008-06-01 13:11:05 +02:00
Ludovic Courtès
f078ba4351 Remove uses of non-portable makefile constructs. 2008-05-07 20:11:19 +02:00
Neil Jerram
32d1c5733a Add NEWS and concept index entries for traps infrastructure and Emacs support. 2008-05-05 22:31:07 +01:00
Ludovic Courtès
dd78f3e5dd Fix omissions and typos in previous commit. 2008-05-04 22:41:34 +02:00
Ludovic Courtès
627bae78af Add `pkg-config' support. 2008-05-04 22:19:30 +02:00
Ludovic Courtès
efbc70de56 Add `(srfi srfi-88)'. 2008-04-26 21:25:32 +02:00
Neil Jerram
5de6e0954f Document file-exists? 2008-04-17 21:36:20 +01:00
Ludovic Courtès
75946eddfc Add support for SRFI-88-like postfix keyword read syntax. 2008-04-15 20:00:32 +02:00
Ludovic Courtès
8422eb9290 More `.gitignore'. 2008-04-07 23:48:08 +02:00
Neil Jerram
8c16237dc3 * api-debug.texi (Debugging Examples): New (from CVS HEAD). 2008-03-19 23:06:52 +00:00
Neil Jerram
5bd3976023 (Interactive Debugger): Cover continuing
execution.
(Stepping and Continuing): New (from CVS HEAD).
(GDS Introduction): Mention traps and continuing execution.
2008-03-19 21:32:08 +00:00
Neil Jerram
7e1e0a213b (Location Traps): Corrected to reflect that
location traps now specify a specific position, not a range of
positions.
(Trap Shorthands): Depersonalize.
2008-03-19 20:35:20 +00:00
Neil Jerram
7bd29fa116 * api-debug.texi (Traps): Minor edits.
* scheme-using.texi (Using Guile in Emacs, GDS Getting Started):
	Minor edits.
2008-03-19 00:37:49 +00:00
Neil Jerram
b0f07fa20c Merge GDS (except for breakpoints) from CVS HEAD:
* debugger/commands.scm (evaluate, info-args, info-frame,
position, up, down): Improve/fix doc strings.

* Makefile.am (SUBDIRS): Add debugging.
(ice9_sources): Add gds-client.scm and gds-server.scm.

* scheme-debugging.texi: Remove lots of text that is now
duplicated (exactly) elsewhere, leaving only the `Tracing' node.

* guile.texi: Replace `Debugging Features' (scheme-debugging.texi)
by `Using Guile Interactively' and `Using Guile in Emacs'
(scheme-using.texi).  Move the `Tracing' content of
scheme-debugging.texi to the Modules section.

* api-options.texi (Evaluator trap options): Move doc for
with-traps and debug-object? to here.

* api-modules.texi (Included Guile Modules): Change reference from
`Debugging Features' to `Tracing'.

* api-evaluation.texi (Evaluator Behaviour): Add reference to
`Evaluator trap options'.

* api-debug.texi (Examining the Stack): Minor improvements to
display-backtrace doc.

* api-debug.texi (Debug on Error): New text on how to catch errors
and the error stack.

* api-debug.texi (High Level Traps): New.

* api-debug.texi (Debugging): New intro text.  New subsection
"Evaluation Model".  Moved existing subsections "Capturing the
Stack or Innermost Stack Frame", "Examining the Stack", "Examining
Stack Frames", "Source Properties", "Decoding Memoized Source
Expressions" and "Starting a New Stack" under "Evaluation Model".
(Capturing the Stack or Innermost Stack Frame): Some new text, and
correction to doc for last-stack-frame.
(Debug on Error): Renamed from "Interactive Debugging".

* configure.in (AC_CONFIG_FILES): Add emacs/Makefile and
ice-9/debugging/Makefile.

* Makefile.am (SUBDIRS): Add emacs.
2008-03-12 00:57:41 +00:00
Neil Jerram
51d237110f Merge GDS (except for breakpoints) from CVS HEAD:
* scheme-using.texi: New (merged with modifications from CVS
HEAD).

* Makefile.am, gds-scheme.el, gds-server.el, gds.el: New (merged
with modifications from CVS HEAD).

* debugging/Makefile.am, debugging/example-fns.scm,
debugging/ice-9-debugger-extensions.scm, debugging/steps.scm,
debugging/trace.scm, debugging/traps.scm, debugging/trc.scm: New
(merged with modifications from CVS HEAD).

* gds-client.scm, gds-server.scm: New (merged with modifications
from CVS HEAD).
2008-03-12 00:39:26 +00:00
Neil Jerram
5826bf6572 Release stuff: missing NEWS and 2007/2008 copyrights. 2008-02-15 22:37:52 +00:00
Neil Jerram
c84fd82650 (Random): New text about the default random state,
following suggestions by Stephen Uitti.
2008-02-11 22:32:40 +00:00
Neil Jerram
6ba395189f (Threads): Add "C Function scm_join_thread"
to doc for join-thread.  Thanks to Antoine Mathys for reporting
that scm_join_thread was missing.
2008-02-01 20:59:28 +00:00
Ludovic Courtès
48a55ab223 Changes from arch/CVS synchronization 2007-12-09 17:40:54 +00:00
Ludovic Courtès
8e0ea2987d Changes from arch/CVS synchronization 2007-12-03 14:15:54 +00:00
Neil Jerram
2b4c5ec18a Removing material about breakpoint-related features that aren't
actually present in the 1.8.x series...

* api-debug.texi (Breakpoints): Removed.

* scheme-debugging.texi (Debugging Features): Breakpoint-related
text removed.
(Intro to Breakpoints, Breakpoints Overview, Source Breakpoints,
Procedural Breakpoints, Setting Breakpoints, break! trace!
trace-subtree!, Accessing Breakpoints, Breakpoint Behaviours,
Enabling and Disabling, Deleting Breakpoints, Breakpoint
Information, Other Breakpoint Types, Single Stepping, Run To Frame
Exit, Continue Execution, New Tracing, Tracing Compared): Removed.
(Old Tracing): Text moved to parent Tracing node.
(Tracing): Removed introductory statement about two tracing
implementations.
(Display Backtrace): Remove ref to Backtrace Format node.
(Backtrace Format): Removed (as it was empty).
(Interactive Debugger, Frame Selection, Frame Information, Frame
Evaluation): Merge textual improvements from CVS HEAD.
(Leave Debugger): Removed.
(Interactive Debugger): Document quit command here, as in CVS
HEAD.
2007-10-23 13:50:26 +00:00
Ludovic Courtès
4ee1337075 Changes from arch/CVS synchronization 2007-10-02 04:02:47 +00:00
Ludovic Courtès
ac2235a29d Changes from arch/CVS synchronization 2007-08-11 10:21:39 +00:00
Ludovic Courtès
8d1701ee9f Changes from arch/CVS synchronization 2007-07-18 21:37:45 +00:00
Ludovic Courtès
48e2c94ba2 Changes from arch/CVS synchronization 2007-07-10 22:39:36 +00:00
Ludovic Courtès
3b58a13b8b Changes from arch/CVS synchronization 2007-06-07 08:44:27 +00:00
Ludovic Courtès
8edec42a34 Changes from arch/CVS synchronization 2007-05-16 08:04:17 +00:00
Kevin Ryde
4d9a4f4b33 copyright year 2007-03-07 22:44:58 +00:00
Kevin Ryde
f7d456627b *** empty log message *** 2007-03-07 22:26:15 +00:00
Kevin Ryde
6c2e00771b (SLIB): Shorten the bit about core funcs overridden.
Don't want to duplicate the SLIB specs, and the set of modified bits
is likely to change over time and don't want to have to keep up with
that.
2007-03-07 22:25:45 +00:00
Kevin Ryde
f3a5c8f769 *** empty log message *** 2007-03-07 22:15:15 +00:00
Kevin Ryde
364f8ccfdc Add various @cindex entries. 2007-03-07 22:11:33 +00:00
Kevin Ryde
1469729406 *** empty log message *** 2007-03-07 22:06:55 +00:00
Kevin Ryde
bd91babb03 (Structures): Revise and expand variously, add make-vtable. 2007-03-07 21:57:48 +00:00
Kevin Ryde
a1f05cbfd2 *** empty log message *** 2007-02-22 00:11:57 +00:00
Kevin Ryde
3c50d8f109 (Signals): Merge sleep and usleep, note usleep not
actually microsecond accurate, remove warning usleep not always
available (guile has own code for it now, it's not the system call).
Cross reference scm_std_sleep / scm_std_usleep.

(Signals): Merge getitimer and setitimer, describe what
each timer does, use @defvar to get them indexed, caution may not
actually be microsecond accurate.
2007-02-21 22:28:22 +00:00
Kevin Ryde
3591d9f5a9 *** empty log message *** 2007-02-16 00:32:17 +00:00
Kevin Ryde
906883cb97 (Records): In make-record-type, describe optional print function argument. 2007-02-16 00:12:31 +00:00
Kevin Ryde
34d4f03c54 *** empty log message *** 2007-01-24 23:10:57 +00:00
Kevin Ryde
019618da74 (Signals): Note signal handlers run via system async and
can hence be delayed quite a while.  Struck by William Xu.
2007-01-24 22:54:56 +00:00