1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-02 23:50:47 +02:00
guile/module/srfi
Andy Wingo f4ca107f7f Rebase throw/catch on top of raise-exception/with-exception-handler
* libguile/exceptions.c:
* libguile/exceptions.h: New files.
* libguile.h: Add exceptions.h.
* libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
  (DOT_X_FILES, DOT_DOC_FILES, modinclude_HEADERS): Add exceptions.c and
  exceptions.h.
* libguile/init.c (scm_i_init_guile): Initialize exceptions.
* libguile/threads.c (scm_spawn_thread): Use new names for
  scm_i_make_catch_handler and scm_c_make_thunk.
* libguile/throw.c: Rewrite to be implemented in terms of
  with-exception-handler / raise-exception.
* libguile/throw.h: Use data types from exceptions.h.  Move
  scm_report_stack_overflow and scm_report_out_of_memory to
  exceptions.[ch].
* module/ice-9/boot-9.scm (&error, &programming-error)
  (&non-continuable, make-exception-from-throw, raise-exception)
  (with-exception-handler): New top-level definitions.
  (throw, catch, with-throw-handler): Rewrite in terms of
  with-exception-handler and raise-exception.
: New top-level definitions.
* module/ice-9/exceptions.scm: Adapt to re-export &error,
  &programming-error, &non-continuable, raise-exception, and
  with-exception-handler from boot-9.
  (make-quit-exception, guile-quit-exception-converter): New exception
  converters.
  (make-exception-from-throw): Override core binding.
* test-suite/tests/eval.test ("inner trim with prompt tag"): Adapt to
  "with-exception-handler" being the procedure on the stack.
  ("outer trim with prompt tag"): Likewise.
* test-suite/tests/exceptions.test (throw-test): Use pass-if-equal.
* module/srfi/srfi-34.scm: Reimplement in terms of core exceptions, and
  make "guard" actually re-raise continuations with the original "raise"
  continuation.
2019-11-13 22:24:19 +01:00
..
srfi-4
srfi-9
srfi-42
srfi-64
srfi-67
srfi-1.scm
srfi-2.scm
srfi-4.scm
srfi-6.scm
srfi-8.scm
srfi-9.scm SRFI-9 uses make-record-type 2019-10-23 12:04:58 +02:00
srfi-10.scm Deprecate passing a non-zero size to make-module 2019-09-27 22:57:38 +02:00
srfi-11.scm
srfi-13.scm
srfi-14.scm
srfi-16.scm
srfi-17.scm
srfi-18.scm srfi-18: 'thread-sleep!' timeout-as-a-number is relative. 2018-08-07 11:40:40 +02:00
srfi-19.scm SRFI-19: Rename 'tai-epoch-in-jd' to 'utc-epoch-in-jd'. 2019-06-18 05:15:07 -04:00
srfi-26.scm
srfi-27.scm
srfi-28.scm Implement SRFI 28: Basic Format Strings. 2014-12-02 11:49:05 -05:00
srfi-31.scm
srfi-34.scm Rebase throw/catch on top of raise-exception/with-exception-handler 2019-11-13 22:24:19 +01:00
srfi-35.scm Rebase SRFI-35 on top of (ice-9 exceptions) 2019-11-04 15:18:57 +01:00
srfi-37.scm SRFI-37: Account for zero-length arguments. 2017-04-20 10:58:54 +02:00
srfi-38.scm
srfi-39.scm
srfi-41.scm
srfi-42.scm
srfi-43.scm Improve compilation of make-vector without init 2018-01-05 15:18:16 +01:00
srfi-45.scm
srfi-60.scm
srfi-64.scm
srfi-67.scm
srfi-69.scm
srfi-71.scm Make srfi-71 visible through 'cond-expand'. 2018-08-07 12:33:25 +02:00
srfi-88.scm
srfi-98.scm
srfi-111.scm