diff options
author | Marius Vollmer <mvo@zagadka.de> | 2006-01-29 00:23:28 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 2006-01-29 00:23:28 +0000 |
commit | 661ae7ab6be5aec4d6107902cff94dbb8952a24a (patch) | |
tree | d3e367c7f0dfd442645c5c2e1c87f4f4a7fc54c5 /libguile | |
parent | 15ccf10bf2d7cb15ec46f2eb62c6eb86827c9108 (diff) | |
download | guile-661ae7ab6be5aec4d6107902cff94dbb8952a24a.tar.gz |
Renamed the "frames" that are related to dynamic-wind to "dynamic
contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
Updated documentation.
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/ChangeLog | 6 | ||||
-rw-r--r-- | libguile/async.c | 12 | ||||
-rw-r--r-- | libguile/async.h | 4 | ||||
-rw-r--r-- | libguile/debug.c | 6 | ||||
-rw-r--r-- | libguile/dynl.c | 20 | ||||
-rw-r--r-- | libguile/dynwind.c | 34 | ||||
-rw-r--r-- | libguile/dynwind.h | 26 | ||||
-rw-r--r-- | libguile/error.c | 6 | ||||
-rw-r--r-- | libguile/eval.c | 22 | ||||
-rw-r--r-- | libguile/extensions.c | 8 | ||||
-rw-r--r-- | libguile/filesys.c | 22 | ||||
-rw-r--r-- | libguile/fluids.c | 44 | ||||
-rw-r--r-- | libguile/fluids.h | 4 | ||||
-rw-r--r-- | libguile/fports.c | 8 | ||||
-rw-r--r-- | libguile/i18n.c | 40 | ||||
-rw-r--r-- | libguile/list.c | 2 | ||||
-rw-r--r-- | libguile/load.c | 16 | ||||
-rw-r--r-- | libguile/modules.c | 4 | ||||
-rw-r--r-- | libguile/modules.h | 2 | ||||
-rw-r--r-- | libguile/net_db.c | 6 | ||||
-rw-r--r-- | libguile/null-threads.h | 2 | ||||
-rw-r--r-- | libguile/ports.c | 16 | ||||
-rw-r--r-- | libguile/ports.h | 8 | ||||
-rw-r--r-- | libguile/posix.c | 60 | ||||
-rw-r--r-- | libguile/pthread-threads.h | 2 | ||||
-rw-r--r-- | libguile/ramap.c | 12 | ||||
-rw-r--r-- | libguile/root.c | 6 | ||||
-rw-r--r-- | libguile/simpos.c | 10 | ||||
-rw-r--r-- | libguile/socket.c | 6 | ||||
-rw-r--r-- | libguile/stime.c | 8 | ||||
-rw-r--r-- | libguile/strings.c | 6 | ||||
-rw-r--r-- | libguile/threads.c | 26 | ||||
-rw-r--r-- | libguile/threads.h | 6 |
33 files changed, 233 insertions, 227 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 62a7dd033..6088f9b0c 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,9 @@ +2006-01-29 Marius Vollmer <mvo@zagadka.de> + + Renamed the "frames" that are related to dynamic-wind to "dynamic + contexts. Renamed all functions from scm_frame_ to scm_dynwind_. + Updated documentation. + 2006-01-28 Marius Vollmer <mvo@zagadka.de> * inline.h, pairs.c (scm_is_pair): Moved scm_is_pair from pairs.c diff --git a/libguile/async.c b/libguile/async.c index 34483a483..f12c3c28f 100644 --- a/libguile/async.c +++ b/libguile/async.c @@ -454,22 +454,22 @@ scm_c_call_with_unblocked_asyncs (void *(*proc) (void *data), void *data) } void -scm_frame_block_asyncs () +scm_dynwind_block_asyncs () { scm_i_thread *t = SCM_I_CURRENT_THREAD; - scm_frame_rewind_handler (increase_block, t, SCM_F_WIND_EXPLICITLY); - scm_frame_unwind_handler (decrease_block, t, SCM_F_WIND_EXPLICITLY); + scm_dynwind_rewind_handler (increase_block, t, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (decrease_block, t, SCM_F_WIND_EXPLICITLY); } void -scm_frame_unblock_asyncs () +scm_dynwind_unblock_asyncs () { scm_i_thread *t = SCM_I_CURRENT_THREAD; if (t->block_asyncs == 0) scm_misc_error ("scm_with_unblocked_asyncs", "asyncs already unblocked", SCM_EOL); - scm_frame_rewind_handler (decrease_block, t, SCM_F_WIND_EXPLICITLY); - scm_frame_unwind_handler (increase_block, t, SCM_F_WIND_EXPLICITLY); + scm_dynwind_rewind_handler (decrease_block, t, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (increase_block, t, SCM_F_WIND_EXPLICITLY); } diff --git a/libguile/async.h b/libguile/async.h index c029b7a58..cb278a079 100644 --- a/libguile/async.h +++ b/libguile/async.h @@ -48,8 +48,8 @@ SCM_API SCM scm_call_with_blocked_asyncs (SCM proc); SCM_API SCM scm_call_with_unblocked_asyncs (SCM proc); void *scm_c_call_with_blocked_asyncs (void *(*p) (void *d), void *d); void *scm_c_call_with_unblocked_asyncs (void *(*p) (void *d), void *d); -void scm_frame_block_asyncs (void); -void scm_frame_unblock_asyncs (void); +void scm_dynwind_block_asyncs (void); +void scm_dynwind_unblock_asyncs (void); /* Critical sections */ diff --git a/libguile/debug.c b/libguile/debug.c index 79458ee18..0237426fa 100644 --- a/libguile/debug.c +++ b/libguile/debug.c @@ -56,8 +56,8 @@ SCM_DEFINE (scm_debug_options, "debug-options-interface", 0, 1, 0, { SCM ans; - scm_frame_begin (0); - scm_frame_critical_section (SCM_BOOL_F); + scm_dynwind_begin (0); + scm_dynwind_critical_section (SCM_BOOL_F); ans = scm_options (setting, scm_debug_opts, SCM_N_DEBUG_OPTIONS, FUNC_NAME); if (!(1 <= SCM_N_FRAMES && SCM_N_FRAMES <= SCM_MAX_FRAME_SIZE)) @@ -69,7 +69,7 @@ SCM_DEFINE (scm_debug_options, "debug-options-interface", 0, 1, 0, scm_stack_checking_enabled_p = SCM_STACK_CHECKING_P; scm_debug_eframe_size = 2 * SCM_N_FRAMES; - scm_frame_end (); + scm_dynwind_end (); return ans; } #undef FUNC_NAME diff --git a/libguile/dynl.c b/libguile/dynl.c index ea5ef8d9a..be9f6910f 100644 --- a/libguile/dynl.c +++ b/libguile/dynl.c @@ -153,11 +153,11 @@ SCM_DEFINE (scm_dynamic_link, "dynamic-link", 1, 0, 0, void *handle; char *file; - scm_frame_begin (0); + scm_dynwind_begin (0); file = scm_to_locale_string (filename); - scm_frame_free (file); + scm_dynwind_free (file); handle = sysdep_dynl_link (file, FUNC_NAME); - scm_frame_end (); + scm_dynwind_end (); SCM_RETURN_NEWSMOB2 (scm_tc16_dynamic_obj, SCM_UNPACK (filename), handle); } #undef FUNC_NAME @@ -222,12 +222,12 @@ SCM_DEFINE (scm_dynamic_func, "dynamic-func", 2, 0, 0, } else { char *chars; - scm_frame_begin (0); + scm_dynwind_begin (0); chars = scm_to_locale_string (name); - scm_frame_free (chars); + scm_dynwind_free (chars); func = (void (*) ()) sysdep_dynl_func (chars, DYNL_HANDLE (dobj), FUNC_NAME); - scm_frame_end (); + scm_dynwind_end (); return scm_from_ulong ((unsigned long) func); } } @@ -290,7 +290,7 @@ SCM_DEFINE (scm_dynamic_args_call, "dynamic-args-call", 3, 0, 0, int result, argc; char **argv; - scm_frame_begin (0); + scm_dynwind_begin (0); if (scm_is_string (func)) func = scm_dynamic_func (func, dobj); @@ -298,13 +298,13 @@ SCM_DEFINE (scm_dynamic_args_call, "dynamic-args-call", 3, 0, 0, fptr = (int (*) (int, char **)) scm_to_ulong (func); argv = scm_i_allocate_string_pointers (args); - scm_frame_unwind_handler (free_string_pointers, argv, - SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (free_string_pointers, argv, + SCM_F_WIND_EXPLICITLY); for (argc = 0; argv[argc]; argc++) ; result = (*fptr) (argc, argv); - scm_frame_end (); + scm_dynwind_end (); return scm_from_int (result); } #undef FUNC_NAME diff --git a/libguile/dynwind.c b/libguile/dynwind.c index f39d59d73..bd6a82452 100644 --- a/libguile/dynwind.c +++ b/libguile/dynwind.c @@ -120,11 +120,11 @@ scm_internal_dynamic_wind (scm_t_guard before, { SCM ans; - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_frame_rewind_handler (before, guard_data, SCM_F_WIND_EXPLICITLY); - scm_frame_unwind_handler (after, guard_data, SCM_F_WIND_EXPLICITLY); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_rewind_handler (before, guard_data, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (after, guard_data, SCM_F_WIND_EXPLICITLY); ans = inner (inner_data); - scm_frame_end (); + scm_dynwind_end (); return ans; } @@ -149,17 +149,17 @@ static scm_t_bits tc16_winder; #define WINDER_MARK_P(w) (SCM_SMOB_FLAGS(w) & WINDER_F_MARK) void -scm_frame_begin (scm_t_frame_flags flags) +scm_dynwind_begin (scm_t_dynwind_flags flags) { SCM f; SCM_NEWSMOB (f, tc16_frame, 0); - if (flags & SCM_F_FRAME_REWINDABLE) + if (flags & SCM_F_DYNWIND_REWINDABLE) SCM_SET_SMOB_FLAGS (f, FRAME_F_REWINDABLE); scm_i_set_dynwinds (scm_cons (f, scm_i_dynwinds ())); } void -scm_frame_end (void) +scm_dynwind_end (void) { SCM winds; @@ -195,8 +195,8 @@ winder_mark (SCM w) } void -scm_frame_unwind_handler (void (*proc) (void *), void *data, - scm_t_wind_flags flags) +scm_dynwind_unwind_handler (void (*proc) (void *), void *data, + scm_t_wind_flags flags) { SCM w; SCM_NEWSMOB2 (w, tc16_winder, (scm_t_bits) proc, (scm_t_bits) data); @@ -206,8 +206,8 @@ scm_frame_unwind_handler (void (*proc) (void *), void *data, } void -scm_frame_rewind_handler (void (*proc) (void *), void *data, - scm_t_wind_flags flags) +scm_dynwind_rewind_handler (void (*proc) (void *), void *data, + scm_t_wind_flags flags) { SCM w; SCM_NEWSMOB2 (w, tc16_winder, (scm_t_bits) proc, (scm_t_bits) data); @@ -218,8 +218,8 @@ scm_frame_rewind_handler (void (*proc) (void *), void *data, } void -scm_frame_unwind_handler_with_scm (void (*proc) (SCM), SCM data, - scm_t_wind_flags flags) +scm_dynwind_unwind_handler_with_scm (void (*proc) (SCM), SCM data, + scm_t_wind_flags flags) { SCM w; scm_t_bits fl = ((flags&SCM_F_WIND_EXPLICITLY)? WINDER_F_EXPLICIT : 0); @@ -229,8 +229,8 @@ scm_frame_unwind_handler_with_scm (void (*proc) (SCM), SCM data, } void -scm_frame_rewind_handler_with_scm (void (*proc) (SCM), SCM data, - scm_t_wind_flags flags) +scm_dynwind_rewind_handler_with_scm (void (*proc) (SCM), SCM data, + scm_t_wind_flags flags) { SCM w; SCM_NEWSMOB2 (w, tc16_winder, (scm_t_bits) proc, SCM_UNPACK (data)); @@ -241,9 +241,9 @@ scm_frame_rewind_handler_with_scm (void (*proc) (SCM), SCM data, } void -scm_frame_free (void *mem) +scm_dynwind_free (void *mem) { - scm_frame_unwind_handler (free, mem, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (free, mem, SCM_F_WIND_EXPLICITLY); } #ifdef GUILE_DEBUG diff --git a/libguile/dynwind.h b/libguile/dynwind.h index 0f386821f..f437378c1 100644 --- a/libguile/dynwind.h +++ b/libguile/dynwind.h @@ -43,27 +43,27 @@ SCM_API void scm_init_dynwind (void); SCM_API void scm_swap_bindings (SCM vars, SCM vals); typedef enum { - SCM_F_FRAME_REWINDABLE = (1 << 0) -} scm_t_frame_flags; + SCM_F_DYNWIND_REWINDABLE = (1 << 0) +} scm_t_dynwind_flags; typedef enum { SCM_F_WIND_EXPLICITLY = (1 << 0) } scm_t_wind_flags; -SCM_API void scm_frame_begin (scm_t_frame_flags); -SCM_API void scm_frame_end (void); +SCM_API void scm_dynwind_begin (scm_t_dynwind_flags); +SCM_API void scm_dynwind_end (void); -SCM_API void scm_frame_unwind_handler (void (*func) (void *), void *data, - scm_t_wind_flags); -SCM_API void scm_frame_rewind_handler (void (*func) (void *), void *data, - scm_t_wind_flags); +SCM_API void scm_dynwind_unwind_handler (void (*func) (void *), void *data, + scm_t_wind_flags); +SCM_API void scm_dynwind_rewind_handler (void (*func) (void *), void *data, + scm_t_wind_flags); -SCM_API void scm_frame_unwind_handler_with_scm (void (*func) (SCM), SCM data, - scm_t_wind_flags); -SCM_API void scm_frame_rewind_handler_with_scm (void (*func) (SCM), SCM data, - scm_t_wind_flags); +SCM_API void scm_dynwind_unwind_handler_with_scm (void (*func) (SCM), SCM data, + scm_t_wind_flags); +SCM_API void scm_dynwind_rewind_handler_with_scm (void (*func) (SCM), SCM data, + scm_t_wind_flags); -SCM_API void scm_frame_free (void *mem); +SCM_API void scm_dynwind_free (void *mem); #ifdef GUILE_DEBUG SCM_API SCM scm_wind_chain (void); diff --git a/libguile/error.c b/libguile/error.c index 57180e2e1..02095bf06 100644 --- a/libguile/error.c +++ b/libguile/error.c @@ -130,12 +130,12 @@ SCM_DEFINE (scm_strerror, "strerror", 1, 0, 0, #define FUNC_NAME s_scm_strerror { SCM ret; - scm_frame_begin (0); - scm_i_frame_pthread_mutex_lock (&scm_i_misc_mutex); + scm_dynwind_begin (0); + scm_i_dynwind_pthread_mutex_lock (&scm_i_misc_mutex); ret = scm_from_locale_string (SCM_I_STRERROR (scm_to_int (err))); - scm_frame_end (); + scm_dynwind_end (); return ret; } #undef FUNC_NAME diff --git a/libguile/eval.c b/libguile/eval.c index 4cd47c8bb..50e30f2e4 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -3099,14 +3099,14 @@ SCM_DEFINE (scm_eval_options_interface, "eval-options-interface", 0, 1, 0, { SCM ans; - scm_frame_begin (0); - scm_frame_critical_section (SCM_BOOL_F); + scm_dynwind_begin (0); + scm_dynwind_critical_section (SCM_BOOL_F); ans = scm_options (setting, scm_eval_opts, SCM_N_EVAL_OPTIONS, FUNC_NAME); scm_eval_stack = SCM_EVAL_STACK * sizeof (void *); - scm_frame_end (); + scm_dynwind_end (); return ans; } @@ -5908,15 +5908,15 @@ scm_eval_x (SCM exp, SCM module_or_state) { SCM res; - scm_frame_begin (SCM_F_FRAME_REWINDABLE); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); if (scm_is_dynamic_state (module_or_state)) - scm_frame_current_dynamic_state (module_or_state); + scm_dynwind_current_dynamic_state (module_or_state); else - scm_frame_current_module (module_or_state); + scm_dynwind_current_module (module_or_state); res = scm_primitive_eval_x (exp); - scm_frame_end (); + scm_dynwind_end (); return res; } @@ -5934,15 +5934,15 @@ SCM_DEFINE (scm_eval, "eval", 2, 0, 0, { SCM res; - scm_frame_begin (SCM_F_FRAME_REWINDABLE); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); if (scm_is_dynamic_state (module_or_state)) - scm_frame_current_dynamic_state (module_or_state); + scm_dynwind_current_dynamic_state (module_or_state); else - scm_frame_current_module (module_or_state); + scm_dynwind_current_module (module_or_state); res = scm_primitive_eval (exp); - scm_frame_end (); + scm_dynwind_end (); return res; } #undef FUNC_NAME diff --git a/libguile/extensions.c b/libguile/extensions.c index e92560ff1..6daa25660 100644 --- a/libguile/extensions.c +++ b/libguile/extensions.c @@ -77,12 +77,12 @@ load_extension (SCM lib, SCM init) extension_t *ext; char *clib, *cinit; - scm_frame_begin (0); + scm_dynwind_begin (0); clib = scm_to_locale_string (lib); - scm_frame_free (clib); + scm_dynwind_free (clib); cinit = scm_to_locale_string (init); - scm_frame_free (cinit); + scm_dynwind_free (cinit); for (ext = registered_extensions; ext; ext = ext->next) if ((ext->lib == NULL || !strcmp (ext->lib, clib)) @@ -92,7 +92,7 @@ load_extension (SCM lib, SCM init) break; } - scm_frame_end (); + scm_dynwind_end (); } /* Dynamically link the library. */ diff --git a/libguile/filesys.c b/libguile/filesys.c index 862164b46..4468ce41b 100644 --- a/libguile/filesys.c +++ b/libguile/filesys.c @@ -194,13 +194,13 @@ do { \ int eno; \ char *cstr1, *cstr2; \ - scm_frame_begin (0); \ + scm_dynwind_begin (0); \ cstr1 = scm_to_locale_string (str1); \ - scm_frame_free (cstr1); \ + scm_dynwind_free (cstr1); \ cstr2 = scm_to_locale_string (str2); \ - scm_frame_free (cstr2); \ + scm_dynwind_free (cstr2); \ SCM_SYSCALL (code); \ - eno = errno; scm_frame_end (); errno = eno; \ + eno = errno; scm_dynwind_end (); errno = eno; \ } while (0) @@ -1384,10 +1384,10 @@ SCM_DEFINE (scm_readlink, "readlink", 1, 0, 0, SCM result; char *c_path; - scm_frame_begin (0); + scm_dynwind_begin (0); c_path = scm_to_locale_string (path); - scm_frame_free (c_path); + scm_dynwind_free (c_path); buf = scm_malloc (size); @@ -1406,7 +1406,7 @@ SCM_DEFINE (scm_readlink, "readlink", 1, 0, 0, } result = scm_take_locale_stringn (buf, rv); - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME @@ -1449,12 +1449,12 @@ SCM_DEFINE (scm_copy_file, "copy-file", 2, 0, 0, char buf[BUFSIZ]; struct stat oldstat; - scm_frame_begin (0); + scm_dynwind_begin (0); c_oldfile = scm_to_locale_string (oldfile); - scm_frame_free (c_oldfile); + scm_dynwind_free (c_oldfile); c_newfile = scm_to_locale_string (newfile); - scm_frame_free (c_newfile); + scm_dynwind_free (c_newfile); oldfd = open (c_oldfile, O_RDONLY); if (oldfd == -1) @@ -1489,7 +1489,7 @@ SCM_DEFINE (scm_copy_file, "copy-file", 2, 0, 0, if (close (newfd) == -1) SCM_SYSERROR; - scm_frame_end (); + scm_dynwind_end (); return SCM_UNSPECIFIED; } #undef FUNC_NAME diff --git a/libguile/fluids.c b/libguile/fluids.c index 68806bdad..1e849c057 100644 --- a/libguile/fluids.c +++ b/libguile/fluids.c @@ -199,8 +199,8 @@ next_fluid_num () { size_t n; - scm_frame_begin (0); - scm_i_frame_pthread_mutex_lock (&fluid_admin_mutex); + scm_dynwind_begin (0); + scm_i_dynwind_pthread_mutex_lock (&fluid_admin_mutex); if ((allocated_fluids_len > 0) && (allocated_fluids_num == allocated_fluids_len)) @@ -248,7 +248,7 @@ next_fluid_num () allocated_fluids_num += 1; allocated_fluids[n] = 1; - scm_frame_end (); + scm_dynwind_end (); return n; } @@ -420,13 +420,13 @@ scm_c_with_fluids (SCM fluids, SCM values, SCM (*cproc) (), void *cdata) cproc, cdata); data = scm_cons (fluids, values); - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_frame_rewind_handler_with_scm (swap_fluids, data, + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_rewind_handler_with_scm (swap_fluids, data, SCM_F_WIND_EXPLICITLY); - scm_frame_unwind_handler_with_scm (swap_fluids_reverse, data, + scm_dynwind_unwind_handler_with_scm (swap_fluids_reverse, data, SCM_F_WIND_EXPLICITLY); ans = cproc (cdata); - scm_frame_end (); + scm_dynwind_end (); return ans; } #undef FUNC_NAME @@ -448,10 +448,10 @@ scm_c_with_fluid (SCM fluid, SCM value, SCM (*cproc) (), void *cdata) { SCM ans; - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_frame_fluid (fluid, value); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_fluid (fluid, value); ans = cproc (cdata); - scm_frame_end (); + scm_dynwind_end (); return ans; } #undef FUNC_NAME @@ -466,11 +466,11 @@ swap_fluid (SCM data) } void -scm_frame_fluid (SCM fluid, SCM value) +scm_dynwind_fluid (SCM fluid, SCM value) { SCM data = scm_cons (fluid, value); - scm_frame_rewind_handler_with_scm (swap_fluid, data, SCM_F_WIND_EXPLICITLY); - scm_frame_unwind_handler_with_scm (swap_fluid, data, SCM_F_WIND_EXPLICITLY); + scm_dynwind_rewind_handler_with_scm (swap_fluid, data, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler_with_scm (swap_fluid, data, SCM_F_WIND_EXPLICITLY); } SCM @@ -558,13 +558,13 @@ swap_dynamic_state (SCM loc) } void -scm_frame_current_dynamic_state (SCM state) +scm_dynwind_current_dynamic_state (SCM state) { SCM loc = scm_cons (state, SCM_EOL); scm_assert_smob_type (tc16_dynamic_state, state); - scm_frame_rewind_handler_with_scm (swap_dynamic_state, loc, + scm_dynwind_rewind_handler_with_scm (swap_dynamic_state, loc, SCM_F_WIND_EXPLICITLY); - scm_frame_unwind_handler_with_scm (swap_dynamic_state, loc, + scm_dynwind_unwind_handler_with_scm (swap_dynamic_state, loc, SCM_F_WIND_EXPLICITLY); } @@ -572,10 +572,10 @@ void * scm_c_with_dynamic_state (SCM state, void *(*func)(void *), void *data) { void *result; - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_frame_current_dynamic_state (state); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_current_dynamic_state (state); result = func (data); - scm_frame_end (); + scm_dynwind_end (); return result; } @@ -586,10 +586,10 @@ SCM_DEFINE (scm_with_dynamic_state, "with-dynamic-state", 2, 0, 0, #define FUNC_NAME s_scm_with_dynamic_state { SCM result; - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_frame_current_dynamic_state (state); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_current_dynamic_state (state); result = scm_call_0 (proc); - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME diff --git a/libguile/fluids.h b/libguile/fluids.h index b52819cfd..b1047a204 100644 --- a/libguile/fluids.h +++ b/libguile/fluids.h @@ -70,14 +70,14 @@ SCM_API SCM scm_c_with_fluid (SCM fluid, SCM val, SCM_API SCM scm_with_fluids (SCM fluids, SCM vals, SCM thunk); SCM_API SCM scm_with_fluid (SCM fluid, SCM val, SCM thunk); -SCM_API void scm_frame_fluid (SCM fluid, SCM value); +SCM_API void scm_dynwind_fluid (SCM fluid, SCM value); SCM_API SCM scm_make_dynamic_state (SCM parent); SCM_API SCM scm_dynamic_state_p (SCM obj); SCM_API int scm_is_dynamic_state (SCM obj); SCM_API SCM scm_current_dynamic_state (void); SCM_API SCM scm_set_current_dynamic_state (SCM state); -SCM_API void scm_frame_current_dynamic_state (SCM state); +SCM_API void scm_dynwind_current_dynamic_state (SCM state); SCM_API void *scm_c_with_dynamic_state (SCM state, void *(*func)(void *), void *data); SCM_API SCM scm_with_dynamic_state (SCM state, SCM proc); diff --git a/libguile/fports.c b/libguile/fports.c index 8baeb6826..712c2b4d2 100644 --- a/libguile/fports.c +++ b/libguile/fports.c @@ -293,13 +293,13 @@ SCM_DEFINE (scm_open_file, "open-file", 2, 0, 0, char *md; char *ptr; - scm_frame_begin (0); + scm_dynwind_begin (0); file = scm_to_locale_string (filename); - scm_frame_free (file); + scm_dynwind_free (file); md = scm_to_locale_string (mode); - scm_frame_free (md); + scm_dynwind_free (md); switch (*md) { @@ -347,7 +347,7 @@ SCM_DEFINE (scm_open_file, "open-file", 2, 0, 0, } port = scm_i_fdes_to_port (fdes, scm_i_mode_bits (mode), filename); - scm_frame_end (); + scm_dynwind_end (); return port; } diff --git a/libguile/i18n.c b/libguile/i18n.c index 9bfd69c99..ef5656d23 100644 --- a/libguile/i18n.c +++ b/libguile/i18n.c @@ -94,10 +94,10 @@ SCM_DEFINE (scm_gettext, "gettext", 1, 2, 0, char const *c_result; SCM result; - scm_frame_begin (0); + scm_dynwind_begin (0); c_msgid = scm_to_locale_string (msgid); - scm_frame_free (c_msgid); + scm_dynwind_free (c_msgid); if (SCM_UNBNDP (domain)) { @@ -109,7 +109,7 @@ SCM_DEFINE (scm_gettext, "gettext", 1, 2, 0, char *c_domain; c_domain = scm_to_locale_string (domain); - scm_frame_free (c_domain); + scm_dynwind_free (c_domain); if (SCM_UNBNDP (category)) { @@ -131,7 +131,7 @@ SCM_DEFINE (scm_gettext, "gettext", 1, 2, 0, else result = scm_from_locale_string (c_result); - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME @@ -152,13 +152,13 @@ SCM_DEFINE (scm_ngettext, "ngettext", 3, 2, 0, const char *c_result; SCM result; - scm_frame_begin (0); + scm_dynwind_begin (0); c_msgid = scm_to_locale_string (msgid); - scm_frame_free (c_msgid); + scm_dynwind_free (c_msgid); c_msgid_plural = scm_to_locale_string (msgid_plural); - scm_frame_free (c_msgid_plural); + scm_dynwind_free (c_msgid_plural); c_n = scm_to_ulong (n); @@ -172,7 +172,7 @@ SCM_DEFINE (scm_ngettext, "ngettext", 3, 2, 0, char *c_domain; c_domain = scm_to_locale_string (domain); - scm_frame_free (c_domain); + scm_dynwind_free (c_domain); if (SCM_UNBNDP (category)) { @@ -197,7 +197,7 @@ SCM_DEFINE (scm_ngettext, "ngettext", 3, 2, 0, else result = scm_from_locale_string (c_result); - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME @@ -213,14 +213,14 @@ SCM_DEFINE (scm_textdomain, "textdomain", 0, 1, 0, char *c_domain; SCM result = SCM_BOOL_F; - scm_frame_begin (0); + scm_dynwind_begin (0); if (SCM_UNBNDP (domainname)) c_domain = NULL; else { c_domain = scm_to_locale_string (domainname); - scm_frame_free (c_domain); + scm_dynwind_free (c_domain); } c_result = textdomain (c_domain); @@ -229,7 +229,7 @@ SCM_DEFINE (scm_textdomain, "textdomain", 0, 1, 0, else if (!SCM_UNBNDP (domainname)) SCM_SYSERROR; - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME @@ -246,18 +246,18 @@ SCM_DEFINE (scm_bindtextdomain, "bindtextdomain", 1, 1, 0, char const *c_result; SCM result; - scm_frame_begin (0); + scm_dynwind_begin (0); if (SCM_UNBNDP (directory)) c_directory = NULL; else { c_directory = scm_to_locale_string (directory); - scm_frame_free (c_directory); + scm_dynwind_free (c_directory); } c_domain = scm_to_locale_string (domainname); - scm_frame_free (c_domain); + scm_dynwind_free (c_domain); c_result = bindtextdomain (c_domain, c_directory); @@ -268,7 +268,7 @@ SCM_DEFINE (scm_bindtextdomain, "bindtextdomain", 1, 1, 0, else result = SCM_BOOL_F; - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME @@ -285,18 +285,18 @@ SCM_DEFINE (scm_bind_textdomain_codeset, "bind-textdomain-codeset", 1, 1, 0, char const *c_result; SCM result; - scm_frame_begin (0); + scm_dynwind_begin (0); if (SCM_UNBNDP (encoding)) c_encoding = NULL; else { c_encoding = scm_to_locale_string (encoding); - scm_frame_free (c_encoding); + scm_dynwind_free (c_encoding); } c_domain = scm_to_locale_string (domainname); - scm_frame_free (c_domain); + scm_dynwind_free (c_domain); c_result = bind_textdomain_codeset (c_domain, c_encoding); @@ -307,7 +307,7 @@ SCM_DEFINE (scm_bind_textdomain_codeset, "bind-textdomain-codeset", 1, 1, 0, else result = SCM_BOOL_F; - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME diff --git a/libguile/list.c b/libguile/list.c index addb6f8a7..9799dabee 100644 --- a/libguile/list.c +++ b/libguile/list.c @@ -103,7 +103,7 @@ SCM_DEFINE (scm_make_list, "make-list", 1, 1, 0, "Create a list containing of @var{n} elements, where each\n" "element is initialized to @var{init}. @var{init} defaults to\n" "the empty list @code{()} if not given.") -#define FUNC_NAME s_scm_srfi1_count +#define FUNC_NAME s_scm_make_list { unsigned nn = scm_to_uint (n); unsigned i; diff --git a/libguile/load.c b/libguile/load.c index 8527ac93f..74b4a84dc 100644 --- a/libguile/load.c +++ b/libguile/load.c @@ -88,8 +88,8 @@ SCM_DEFINE (scm_primitive_load, "primitive-load", 1, 0, 0, { /* scope */ SCM port = scm_open_file (filename, scm_from_locale_string ("r")); - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_i_frame_current_load_port (port); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_i_dynwind_current_load_port (port); while (1) { @@ -109,7 +109,7 @@ SCM_DEFINE (scm_primitive_load, "primitive-load", 1, 0, 0, scm_primitive_eval_x (form); } - scm_frame_end (); + scm_dynwind_end (); scm_close_port (port); } return SCM_UNSPECIFIED; @@ -316,11 +316,11 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, if (SCM_UNBNDP (extensions)) extensions = SCM_EOL; - scm_frame_begin (0); + scm_dynwind_begin (0); filename_chars = scm_to_locale_string (filename); filename_len = strlen (filename_chars); - scm_frame_free (filename_chars); + scm_dynwind_free (filename_chars); /* If FILENAME is absolute, return it unchanged. */ #ifdef __MINGW32__ @@ -334,7 +334,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, if (filename_len >= 1 && filename_chars[0] == '/') #endif { - scm_frame_end (); + scm_dynwind_end (); return filename; } @@ -371,7 +371,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, buf.buf_len = 512; buf.buf = scm_malloc (buf.buf_len); - scm_frame_unwind_handler (stringbuf_free, &buf, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (stringbuf_free, &buf, SCM_F_WIND_EXPLICITLY); /* Try every path element. */ @@ -424,7 +424,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, scm_wrong_type_arg_msg (NULL, 0, path, "proper list"); end: - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME diff --git a/libguile/modules.c b/libguile/modules.c index 05b4dcff6..086f214a4 100644 --- a/libguile/modules.c +++ b/libguile/modules.c @@ -92,9 +92,9 @@ scm_c_call_with_current_module (SCM module, } void -scm_frame_current_module (SCM module) +scm_dynwind_current_module (SCM module) { - scm_frame_fluid (the_module, module); + scm_dynwind_fluid (the_module, module); } /* diff --git a/libguile/modules.h b/libguile/modules.h index abfe69765..5834ba1c1 100644 --- a/libguile/modules.h +++ b/libguile/modules.h @@ -69,7 +69,7 @@ SCM_API SCM scm_set_current_module (SCM module); SCM_API SCM scm_c_call_with_current_module (SCM module, SCM (*func)(void *), void *data); -SCM_API void scm_frame_current_module (SCM module); +SCM_API void scm_dynwind_current_module (SCM module); SCM_API SCM scm_c_lookup (const char *name); SCM_API SCM scm_c_define (const char *name, SCM val); diff --git a/libguile/net_db.c b/libguile/net_db.c index 0785f604e..58d64cd9e 100644 --- a/libguile/net_db.c +++ b/libguile/net_db.c @@ -351,10 +351,10 @@ SCM_DEFINE (scm_getserv, "getserv", 0, 2, 0, return scm_return_entry (entry); } - scm_frame_begin (0); + scm_dynwind_begin (0); protoname = scm_to_locale_string (protocol); - scm_frame_free (protoname); + scm_dynwind_free (protoname); if (scm_is_string (name)) { @@ -372,7 +372,7 @@ SCM_DEFINE (scm_getserv, "getserv", 0, 2, 0, if (!entry) SCM_SYSERROR_MSG("no such service ~A", scm_list_1 (name), eno); - scm_frame_end (); + scm_dynwind_end (); return scm_return_entry (entry); } #undef FUNC_NAME diff --git a/libguile/null-threads.h b/libguile/null-threads.h index a691a68fd..c4808e082 100644 --- a/libguile/null-threads.h +++ b/libguile/null-threads.h @@ -93,7 +93,7 @@ SCM_API int scm_i_pthread_key_create (scm_i_pthread_key_t *key, /* Convenience functions */ #define scm_i_scm_pthread_mutex_lock scm_i_pthread_mutex_lock -#define scm_i_frame_pthread_mutex_lock scm_i_pthread_mutex_lock +#define scm_i_dynwind_pthread_mutex_lock scm_i_pthread_mutex_lock #define scm_i_scm_pthread_cond_wait scm_i_pthread_cond_wait #define scm_i_scm_pthread_cond_timedwait scm_i_pthread_cond_timedwait diff --git a/libguile/ports.c b/libguile/ports.c index 88817992a..f582620b6 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -436,38 +436,38 @@ SCM_DEFINE (scm_set_current_error_port, "set-current-error-port", 1, 0, 0, #undef FUNC_NAME void -scm_frame_current_input_port (SCM port) +scm_dynwind_current_input_port (SCM port) #define FUNC_NAME NULL { SCM_VALIDATE_OPINPORT (1, port); - scm_frame_fluid (cur_inport_fluid, port); + scm_dynwind_fluid (cur_inport_fluid, port); } #undef FUNC_NAME void -scm_frame_current_output_port (SCM port) +scm_dynwind_current_output_port (SCM port) #define FUNC_NAME NULL { port = SCM_COERCE_OUTPORT (port); SCM_VALIDATE_OPOUTPORT (1, port); - scm_frame_fluid (cur_outport_fluid, port); + scm_dynwind_fluid (cur_outport_fluid, port); } #undef FUNC_NAME void -scm_frame_current_error_port (SCM port) +scm_dynwind_current_error_port (SCM port) #define FUNC_NAME NULL { port = SCM_COERCE_OUTPORT (port); SCM_VALIDATE_OPOUTPORT (1, port); - scm_frame_fluid (cur_errport_fluid, port); + scm_dynwind_fluid (cur_errport_fluid, port); } #undef FUNC_NAME void -scm_i_frame_current_load_port (SCM port) +scm_i_dynwind_current_load_port (SCM port) { - scm_frame_fluid (cur_loadport_fluid, port); + scm_dynwind_fluid (cur_loadport_fluid, port); } diff --git a/libguile/ports.h b/libguile/ports.h index 90c3c9df4..c8e89950e 100644 --- a/libguile/ports.h +++ b/libguile/ports.h @@ -237,9 +237,9 @@ SCM_API SCM scm_current_load_port (void); SCM_API SCM scm_set_current_input_port (SCM port); SCM_API SCM scm_set_current_output_port (SCM port); SCM_API SCM scm_set_current_error_port (SCM port); -SCM_API void scm_frame_current_input_port (SCM port); -SCM_API void scm_frame_current_output_port (SCM port); -SCM_API void scm_frame_current_error_port (SCM port); +SCM_API void scm_dynwind_current_input_port (SCM port); +SCM_API void scm_dynwind_current_output_port (SCM port); +SCM_API void scm_dynwind_current_error_port (SCM port); SCM_API SCM scm_new_port_table_entry (scm_t_bits tag); SCM_API void scm_remove_from_port_table (SCM port); SCM_API void scm_grow_port_cbuf (SCM port, size_t requested); @@ -306,7 +306,7 @@ SCM_API SCM scm_pt_member (SCM member); /* internal */ SCM_API long scm_i_mode_bits (SCM modes); -SCM_API void scm_i_frame_current_load_port (SCM port); +SCM_API void scm_i_dynwind_current_load_port (SCM port); #endif /* SCM_PORTS_H */ diff --git a/libguile/posix.c b/libguile/posix.c index 140976be2..982815049 100644 --- a/libguile/posix.c +++ b/libguile/posix.c @@ -933,20 +933,20 @@ SCM_DEFINE (scm_execl, "execl", 1, 0, 1, char *exec_file; char **exec_argv; - scm_frame_begin (0); + scm_dynwind_begin (0); exec_file = scm_to_locale_string (filename); - scm_frame_free (exec_file); + scm_dynwind_free (exec_file); exec_argv = scm_i_allocate_string_pointers (args); - scm_frame_unwind_handler (free_string_pointers, exec_argv, + scm_dynwind_unwind_handler (free_string_pointers, exec_argv, SCM_F_WIND_EXPLICITLY); execv (exec_file, exec_argv); SCM_SYSERROR; /* not reached. */ - scm_frame_end (); + scm_dynwind_end (); return SCM_BOOL_F; } #undef FUNC_NAME @@ -964,20 +964,20 @@ SCM_DEFINE (scm_execlp, "execlp", 1, 0, 1, char *exec_file; char **exec_argv; - scm_frame_begin (0); + scm_dynwind_begin (0); exec_file = scm_to_locale_string (filename); - scm_frame_free (exec_file); + scm_dynwind_free (exec_file); exec_argv = scm_i_allocate_string_pointers (args); - scm_frame_unwind_handler (free_string_pointers, exec_argv, + scm_dynwind_unwind_handler (free_string_pointers, exec_argv, SCM_F_WIND_EXPLICITLY); execvp (exec_file, exec_argv); SCM_SYSERROR; /* not reached. */ - scm_frame_end (); + scm_dynwind_end (); return SCM_BOOL_F; } #undef FUNC_NAME @@ -999,24 +999,24 @@ SCM_DEFINE (scm_execle, "execle", 2, 0, 1, char **exec_env; char *exec_file; - scm_frame_begin (0); + scm_dynwind_begin (0); exec_file = scm_to_locale_string (filename); - scm_frame_free (exec_file); + scm_dynwind_free (exec_file); exec_argv = scm_i_allocate_string_pointers (args); - scm_frame_unwind_handler (free_string_pointers, exec_argv, + scm_dynwind_unwind_handler (free_string_pointers, exec_argv, SCM_F_WIND_EXPLICITLY); exec_env = scm_i_allocate_string_pointers (env); - scm_frame_unwind_handler (free_string_pointers, exec_env, + scm_dynwind_unwind_handler (free_string_pointers, exec_env, SCM_F_WIND_EXPLICITLY); execve (exec_file, exec_argv, exec_env); SCM_SYSERROR; /* not reached. */ - scm_frame_end (); + scm_dynwind_end (); return SCM_BOOL_F; } #undef FUNC_NAME @@ -1147,10 +1147,10 @@ SCM_DEFINE (scm_mkstemp, "mkstemp!", 1, 0, 0, char *c_tmpl; int rv; - scm_frame_begin (0); + scm_dynwind_begin (0); c_tmpl = scm_to_locale_string (tmpl); - scm_frame_free (c_tmpl); + scm_dynwind_free (c_tmpl); SCM_SYSCALL (rv = mkstemp (c_tmpl)); if (rv == -1) @@ -1160,7 +1160,7 @@ SCM_DEFINE (scm_mkstemp, "mkstemp!", 1, 0, 0, SCM_INUM0, scm_string_length (tmpl), tmpl, SCM_INUM0); - scm_frame_end (); + scm_dynwind_end (); return scm_fdes_to_port (rv, "w+", tmpl); } #undef FUNC_NAME @@ -1361,7 +1361,7 @@ SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0, char *clocale; char *rv; - scm_frame_begin (0); + scm_dynwind_begin (0); if (SCM_UNBNDP (locale)) { @@ -1370,7 +1370,7 @@ SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0, else { clocale = scm_to_locale_string (locale); - scm_frame_free (clocale); + scm_dynwind_free (clocale); } rv = setlocale (scm_i_to_lc_category (category, 1), clocale); @@ -1383,7 +1383,7 @@ SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0, SCM_SYSERROR; } - scm_frame_end (); + scm_dynwind_end (); return scm_from_locale_string (rv); } #undef FUNC_NAME @@ -1505,17 +1505,17 @@ SCM_DEFINE (scm_crypt, "crypt", 2, 0, 0, SCM ret; char *c_key, *c_salt; - scm_frame_begin (0); - scm_i_frame_pthread_mutex_lock (&scm_i_misc_mutex); + scm_dynwind_begin (0); + scm_i_dynwind_pthread_mutex_lock (&scm_i_misc_mutex); c_key = scm_to_locale_string (key); - scm_frame_free (c_key); + scm_dynwind_free (c_key); c_salt = scm_to_locale_string (salt); - scm_frame_free (c_salt); + scm_dynwind_free (c_salt); ret = scm_from_locale_string (crypt (c_key, c_salt)); - scm_frame_end (); + scm_dynwind_end (); return ret; } #undef FUNC_NAME @@ -1831,8 +1831,8 @@ SCM_DEFINE (scm_gethostname, "gethostname", 0, 0, 0, char *const p = scm_malloc (len); const int res = gethostname (p, len); - scm_frame_begin (0); - scm_frame_unwind_handler (free, p, 0); + scm_dynwind_begin (0); + scm_dynwind_unwind_handler (free, p, 0); #else @@ -1858,8 +1858,8 @@ SCM_DEFINE (scm_gethostname, "gethostname", 0, 0, 0, p = scm_malloc (len); - scm_frame_begin (0); - scm_frame_unwind_handler (free, p, 0); + scm_dynwind_begin (0); + scm_dynwind_unwind_handler (free, p, 0); res = gethostname (p, len); while (res == -1 && errno == ENAMETOOLONG) @@ -1878,7 +1878,7 @@ SCM_DEFINE (scm_gethostname, "gethostname", 0, 0, 0, const int save_errno = errno; // No guile exceptions can occur before we have freed p's memory. - scm_frame_end (); + scm_dynwind_end (); free (p); errno = save_errno; @@ -1890,7 +1890,7 @@ SCM_DEFINE (scm_gethostname, "gethostname", 0, 0, 0, const SCM name = scm_from_locale_string (p); // No guile exceptions can occur before we have freed p's memory. - scm_frame_end (); + scm_dynwind_end (); free (p); return name; diff --git a/libguile/pthread-threads.h b/libguile/pthread-threads.h index b6a820ada..cc4c6179f 100644 --- a/libguile/pthread-threads.h +++ b/libguile/pthread-threads.h @@ -79,7 +79,7 @@ extern pthread_mutexattr_t scm_i_pthread_mutexattr_recursive[1]; /* Convenience functions */ #define scm_i_scm_pthread_mutex_lock scm_pthread_mutex_lock -#define scm_i_frame_pthread_mutex_lock scm_frame_pthread_mutex_lock +#define scm_i_dynwind_pthread_mutex_lock scm_dynwind_pthread_mutex_lock #define scm_i_scm_pthread_cond_wait scm_pthread_cond_wait #define scm_i_scm_pthread_cond_timedwait scm_pthread_cond_timedwait diff --git a/libguile/ramap.c b/libguile/ramap.c index 12d4890d6..5d603ffc9 100644 --- a/libguile/ramap.c +++ b/libguile/ramap.c @@ -308,10 +308,10 @@ scm_ramapc (int (*cproc)(), SCM data, SCM ra0, SCM lra, const char *what) plvra = SCM_CDRLOC (*plvra); } - scm_frame_begin (0); + scm_dynwind_begin (0); vinds = scm_malloc (sizeof(long) * SCM_I_ARRAY_NDIM (ra0)); - scm_frame_free (vinds); + scm_dynwind_free (vinds); for (k = 0; k <= kmax; k++) vinds[k] = SCM_I_ARRAY_DIMS (ra0)[k].lbnd; @@ -340,7 +340,7 @@ scm_ramapc (int (*cproc)(), SCM data, SCM ra0, SCM lra, const char *what) } while (k >= 0); - scm_frame_end (); + scm_dynwind_end (); return 1; } } @@ -1011,10 +1011,10 @@ SCM_DEFINE (scm_array_index_map_x, "array-index-map!", 2, 0, 0, if (kmax < 0) return scm_array_set_x (ra, scm_call_0 (proc), SCM_EOL); - scm_frame_begin (0); + scm_dynwind_begin (0); vinds = scm_malloc (sizeof(long) * SCM_I_ARRAY_NDIM (ra)); - scm_frame_free (vinds); + scm_dynwind_free (vinds); for (k = 0; k <= kmax; k++) vinds[k] = SCM_I_ARRAY_DIMS (ra)[k].lbnd; @@ -1046,7 +1046,7 @@ SCM_DEFINE (scm_array_index_map_x, "array-index-map!", 2, 0, 0, } while (k >= 0); - scm_frame_end (); + scm_dynwind_end (); return SCM_UNSPECIFIED; } else if (scm_is_generalized_vector (ra)) diff --git a/libguile/root.c b/libguile/root.c index 1ec315b6d..688ec8712 100644 --- a/libguile/root.c +++ b/libguile/root.c @@ -116,14 +116,14 @@ scm_internal_cwdr (scm_t_catch_body body, void *body_data, old_winds = scm_i_dynwinds (); scm_dowinds (SCM_EOL, scm_ilength (old_winds)); - scm_frame_begin (SCM_F_FRAME_REWINDABLE); - scm_frame_current_dynamic_state (scm_make_dynamic_state (SCM_UNDEFINED)); + scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); + scm_dynwind_current_dynamic_state (scm_make_dynamic_state (SCM_UNDEFINED)); my_handler_data.run_handler = 0; answer = scm_i_with_continuation_barrier (body, body_data, cwdr_handler, &my_handler_data); - scm_frame_end (); + scm_dynwind_end (); /* Enter caller's dynamic state. */ diff --git a/libguile/simpos.c b/libguile/simpos.c index d1fcd81c8..3d5d0feb7 100644 --- a/libguile/simpos.c +++ b/libguile/simpos.c @@ -127,12 +127,12 @@ SCM_DEFINE (scm_system_star, "system*", 0, 0, 1, int pid; char **execargv; - scm_frame_begin (0); + scm_dynwind_begin (0); /* allocate before fork */ execargv = scm_i_allocate_string_pointers (args); - scm_frame_unwind_handler (free_string_pointers, execargv, - SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (free_string_pointers, execargv, + SCM_F_WIND_EXPLICITLY); /* make sure the child can't kill us (as per normal system call) */ sig_ign = scm_from_long ((unsigned long) SIG_IGN); @@ -148,7 +148,7 @@ SCM_DEFINE (scm_system_star, "system*", 0, 0, 1, execvp (execargv[0], execargv); SCM_SYSERROR; /* not reached. */ - scm_frame_end (); + scm_dynwind_end (); return SCM_BOOL_F; } else @@ -165,7 +165,7 @@ SCM_DEFINE (scm_system_star, "system*", 0, 0, 1, scm_sigaction (sigint, SCM_CAR (oldint), SCM_CDR (oldint)); scm_sigaction (sigquit, SCM_CAR (oldquit), SCM_CDR (oldquit)); - scm_frame_end (); + scm_dynwind_end (); return scm_from_int (status); } } diff --git a/libguile/socket.c b/libguile/socket.c index 84517863d..7e296d467 100644 --- a/libguile/socket.c +++ b/libguile/socket.c @@ -828,10 +828,10 @@ scm_fill_sockaddr (int fam, SCM address, SCM *args, int which_arg, int addr_size; char *c_address; - scm_frame_begin (0); + scm_dynwind_begin (0); c_address = scm_to_locale_string (address); - scm_frame_free (c_address); + scm_dynwind_free (c_address); /* the static buffer size in sockaddr_un seems to be arbitrary and not necessarily a hard limit. e.g., the glibc manual @@ -847,7 +847,7 @@ scm_fill_sockaddr (int fam, SCM address, SCM *args, int which_arg, strcpy (soka->sun_path, c_address); *size = SUN_LEN (soka); - scm_frame_end (); + scm_dynwind_end (); return (struct sockaddr *) soka; } #endif diff --git a/libguile/stime.c b/libguile/stime.c index 591b20c8c..c6ed7c2eb 100644 --- a/libguile/stime.c +++ b/libguile/stime.c @@ -525,14 +525,14 @@ SCM_DEFINE (scm_mktime, "mktime", 1, 1, 0, char **oldenv; int err; - scm_frame_begin (0); + scm_dynwind_begin (0); bdtime2c (sbd_time, <, SCM_ARG1, FUNC_NAME); #if HAVE_STRUCT_TM_TM_ZONE - scm_frame_free ((char *)lt.tm_zone); + scm_dynwind_free ((char *)lt.tm_zone); #endif - scm_frame_critical_section (SCM_BOOL_F); + scm_dynwind_critical_section (SCM_BOOL_F); oldenv = setzone (zone, SCM_ARG2, FUNC_NAME); #ifdef LOCALTIME_CACHE @@ -589,7 +589,7 @@ SCM_DEFINE (scm_mktime, "mktime", 1, 1, 0, if (zname) free (zname); - scm_frame_end (); + scm_dynwind_end (); return result; } #undef FUNC_NAME diff --git a/libguile/strings.c b/libguile/strings.c index fd6be5065..49a92542d 100644 --- a/libguile/strings.c +++ b/libguile/strings.c @@ -964,11 +964,11 @@ scm_i_allocate_string_pointers (SCM list) if (len < 0) scm_wrong_type_arg_msg (NULL, 0, list, "proper list"); - scm_frame_begin (0); + scm_dynwind_begin (0); result = (char **) scm_malloc ((len + 1) * sizeof (char *)); result[len] = NULL; - scm_frame_unwind_handler (free, result, 0); + scm_dynwind_unwind_handler (free, result, 0); /* The list might be have been modified in another thread, so we check LIST before each access. @@ -979,7 +979,7 @@ scm_i_allocate_string_pointers (SCM list) list = SCM_CDR (list); } - scm_frame_end (); + scm_dynwind_end (); return result; } diff --git a/libguile/threads.c b/libguile/threads.c index 16c6962e9..7d5aa8aa0 100644 --- a/libguile/threads.c +++ b/libguile/threads.c @@ -998,12 +998,12 @@ SCM_DEFINE (scm_lock_mutex, "lock-mutex", 1, 0, 0, #undef FUNC_NAME void -scm_frame_lock_mutex (SCM mutex) +scm_dynwind_lock_mutex (SCM mutex) { - scm_frame_unwind_handler_with_scm ((void(*)(SCM))scm_unlock_mutex, mutex, - SCM_F_WIND_EXPLICITLY); - scm_frame_rewind_handler_with_scm ((void(*)(SCM))scm_lock_mutex, mutex, - SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler_with_scm ((void(*)(SCM))scm_unlock_mutex, mutex, + SCM_F_WIND_EXPLICITLY); + scm_dynwind_rewind_handler_with_scm ((void(*)(SCM))scm_lock_mutex, mutex, + SCM_F_WIND_EXPLICITLY); } static char * @@ -1403,10 +1403,10 @@ unlock (void *data) } void -scm_frame_pthread_mutex_lock (scm_i_pthread_mutex_t *mutex) +scm_dynwind_pthread_mutex_lock (scm_i_pthread_mutex_t *mutex) { scm_i_scm_pthread_mutex_lock (mutex); - scm_frame_unwind_handler (unlock, mutex, SCM_F_WIND_EXPLICITLY); + scm_dynwind_unwind_handler (unlock, mutex, SCM_F_WIND_EXPLICITLY); } int @@ -1579,15 +1579,15 @@ scm_i_thread_sleep_for_gc () scm_i_pthread_mutex_t scm_i_critical_section_mutex; int scm_i_critical_section_level = 0; -static SCM framed_critical_section_mutex; +static SCM dynwind_critical_section_mutex; void -scm_frame_critical_section (SCM mutex) +scm_dynwind_critical_section (SCM mutex) { if (scm_is_false (mutex)) - mutex = framed_critical_section_mutex; - scm_frame_lock_mutex (mutex); - scm_frame_block_asyncs (); + mutex = dynwind_critical_section_mutex; + scm_dynwind_lock_mutex (mutex); + scm_dynwind_block_asyncs (); } /*** Initialization */ @@ -1645,7 +1645,7 @@ scm_init_threads () guilify_self_2 (SCM_BOOL_F); threads_initialized_p = 1; - framed_critical_section_mutex = + dynwind_critical_section_mutex = scm_permanent_object (scm_make_recursive_mutex ()); } diff --git a/libguile/threads.h b/libguile/threads.h index 11c5512a0..3b999ce01 100644 --- a/libguile/threads.h +++ b/libguile/threads.h @@ -158,7 +158,7 @@ SCM_API SCM scm_join_thread (SCM t); SCM_API SCM scm_make_mutex (void); SCM_API SCM scm_make_recursive_mutex (void); SCM_API SCM scm_lock_mutex (SCM m); -SCM_API void scm_frame_lock_mutex (SCM mutex); +SCM_API void scm_dynwind_lock_mutex (SCM mutex); SCM_API SCM scm_try_mutex (SCM m); SCM_API SCM scm_unlock_mutex (SCM m); @@ -175,7 +175,7 @@ SCM_API SCM scm_all_threads (void); SCM_API int scm_c_thread_exited_p (SCM thread); SCM_API SCM scm_thread_exited_p (SCM thread); -SCM_API void scm_frame_critical_section (SCM mutex); +SCM_API void scm_dynwind_critical_section (SCM mutex); #define SCM_I_CURRENT_THREAD \ ((scm_i_thread *) scm_i_pthread_getspecific (scm_i_thread_key)) @@ -195,7 +195,7 @@ SCM_API scm_i_pthread_mutex_t scm_i_misc_mutex; #if SCM_USE_PTHREAD_THREADS SCM_API int scm_pthread_mutex_lock (pthread_mutex_t *mutex); -SCM_API void scm_frame_pthread_mutex_lock (pthread_mutex_t *mutex); +SCM_API void scm_dynwind_pthread_mutex_lock (pthread_mutex_t *mutex); SCM_API int scm_pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex); SCM_API int scm_pthread_cond_timedwait (pthread_cond_t *cond, |