1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 22:10:21 +02:00

*** empty log message ***

This commit is contained in:
Marius Vollmer 2001-05-15 15:00:31 +00:00
parent 296ff5e78b
commit f3f9dcbc5d
6 changed files with 246 additions and 1 deletions

26
NEWS
View file

@ -660,6 +660,12 @@ If you have old code using the old syntax, import
(use-modules (oop goops old-define-method) (oop goops))
** Deprecated function: builtin-variable
Removed function: builtin-bindings
There is no longer a distinction between builtin or other variables.
Use module system operations for all variables.
* Changes to the gh_ interface
* Changes to the scm_ interface
@ -880,6 +886,26 @@ Use scm_object_to_string instead.
Use scm_wrong_type_arg, or another appropriate error signalling function
instead.
** Explicit support for obarrays has been deprecated.
Use `scm_str2symbol' and the generic hashtable functions instead.
** The concept of `vcells' has been deprecated.
The data type `variable' is now used exclusively. `Vcells' have been
a low-level concept so you are likely not affected by this change.
*** Deprecated functions: scm_sym2vcell, scm_sysintern,
scm_sysintern0, scm_symbol_value0, scm_intern, scm_intern0.
Use scm_c_define or scm_c_lookup instead, as appropriate.
*** New functions: scm_c_module_lookup, scm_c_lookup,
scm_c_module_define, scm_c_define, scm_module_lookup, scm_lookup,
scm_module_define, scm_define.
These functions work with variables instead of with vcells.
Changes since Guile 1.3.4:

View file

@ -22,6 +22,10 @@ After signal handling and threading have been fixed:
=== In release 1.8.0:
- remove vcell and obarray support.
Remove all code bracketed by `#if SCM_ENABLE_VCELLS'.
Also remove `variable-set-name-hint' completely.
- remove compatability module (ice-9 and-let*). It
has been replaced by (ice-9 and-let-star) and/or (srfi srfi-2).

View file

@ -1,3 +1,10 @@
2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
* readline.c (completion_function): Use SCM_VARIABLE_REF to access
scm_readline_completion_function_var.
(scm_init_readline): Use scm_c_define instead of scm_sysintern to
create scm_readline_completion_function_var.
2001-04-09 Marius Vollmer <mvo@zagadka.ping.de>
* readline.c (scm_clear_history): New function.

View file

@ -1,3 +1,39 @@
2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
Merge from mvo-vcell-clenaup-1-branch.
* session.scm (apropos): Do not use `builtin-bindings', always use
the module obarray.
(apropos-fold): Likewise.
* optargs.scm (bound?): Removed. We should not play games with
the magical undefined value.
(let-o-k-template): Use `#f' instead of the undefined value as
the default default for bindings.
* boot-9.scm (module-make-local-var!): Do not pass name hint to
make-undefined-variable, use `variable-set-name-hint!' instead.
(root-module-closure): Removed.
(make-root-module): Set the obarray of the module to the
`pre-modules-obarray'. Do not use a lazy binder.
(scm-module-closure): Removed.
(make-root-module): Set the obarray of the module to the
`pre-modules-obarray'. Do not use a lazy binder. Set the
eval-closure to a `standard-interface-eval-closure'.
(module-define!): Do not pass name hint to make-variable, use
`variable-set-name-hint!' instead.
(make-modules-in, beautify-user-module, resolve-module): Moved
towards the beginning of boot-9.scm, across the call to
set-current-module that boots the module system. These
definitions need to be visible at the time of the first
`set-current-module' call.
(try-module-autoload): Define a `#f' before the call to
set-current-module. It is redefined later.
* debug.scm: Use `module-set!' instead of `variable-set!' to set
insert `debug-options' into the-root-module.
* format.scm: Likewise, for `format'.
2001-05-15 Marius Vollmer <mvo@zagadka.ping.de>
* boot-9.scm (error-catching-repl): Call the E
@ -23,7 +59,7 @@
* boot-9.scm (resolve-module): Abstraction maintenance: Use
`module-public-interface'.
(resolve-module): Extend to handle selection and renaming in spec.
(resolve-interface): Extend to handle selection and renaming in spec.
Arg is now `spec' which can be a simple module name (list of symbols)
or a interface spec.
(symbol-prefix-proc): New proc.

View file

@ -1,3 +1,169 @@
2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
Merge from mvo-vcell-clenaup-1-branch.
The concept of vcells has been removed from Guile. With it,
explicit obarrays and associated operations are gone. Use
hashtables instead of obarrays.
Throughout: use scm_sym2var instead of scm_sym2vcell and treat
result as variable instead of vcell. Glocs no longer point to a
vcell but to a variable. Use scm_c_define instead of
scm_sysintern and treat the result as a variable (which it is),
not a vcell.
* variable.c, variable.h (SCM_VARVCELL, SCM_UDVARIABLEP,
SCM_DEFVARIABLEP): Deprecated.
(SCM_VARIABLE_REF, SCM_VARIABLE_SET, SCM_VARIABLE_LOC): New.
(variable_print): Do not print name of variable.
(variable_equalp): Compare values, not vcells.
(anonymous_variable_sym): Removed.
(make_vcell_variable): Removed.
(make_variable): New, as replacement.
(scm_make_variable, scm_make_undefined_variable): Do not take name
hint parameter.
(scm_variable_ref): Check for SCM_UNDEFINED and throw "unbound"
error in that case.
(scm_builtin_variable): Deprecated.
* symbols.c, symbols.h (scm_sym2vcell, scm_sym2ovcell_soft,
scm_sym2ovcell, scm_intern_obarray_soft, scm_intern_obarray,
scm_intern, scm_intern0, scm_sysintern0_no_module_lookup,
scm_sysintern, scm_sysintern0, scm_symbol_value0,
scm_string_to_obarray_symbol, scm_intern_symbol,
scm_unintern_symbol, scm_symbol_binding, scm_symbol_interned,
scm_symbol_bound_p, scm_symbol_set_x, scm_gentmp, gentmp_counter):
Deprecated and moved to "symbols-deprecated.c".
(copy_and_prune_obarray, scm_builtin_bindings): Removed.
(scm_init_symbols): Call scm_init_symbols_deprecated.
* symbols-deprecated.c: New file.
* Makefile.am: Added symbols-deprecated.c and related files in all
the right places.
* snarf.h (SCM_VCELL, SCM_GLOBAL_VCELL, SCM_VCELL_INIT,
SCM_GLOBAL_VCELL_INIT): Deprecated.
(SCM_VARIABLE, SCM_GLOBAL_VARIABLE, SCM_VARIABLE_INIT,
SCM_GLOBAL_VARIABLE_INIT): New, as replacement. Changed all uses.
* print.c (scm_iprin1): Use scm_module_reverse_lookup instead of
SCM_GLOC_SYM.
* evalext.c, filesys.c, fports.c, gdbint.c, gh_data.c, gsubr.c,
hooks.c, load.c, numbers.c, objects.c, ports.c, posix.c, procs.c,
ramap.c, random.c, read.c, regex-posix.c, scmsigs.c, script.c,
socket.c, srcprop.c, stacks.c, stime.c, struct.c, tag.c, throw.c:
Changed according to the `throughout' comments.
* modules.h, modules.c (scm_module_system_booted_p): Changed type
to `int'.
(scm_module_type): Removed.
(the_root_module): Renamed to the_root_module_var. Now points to
a variable instead of a vcell. Updated all uses.
(scm_the_root_module): Return SCM_BOOL_F when module systems
hasn't been booted yet.
(SCM_VALIDATE_STRUCT_TYPE): Removed.
(scm_post_boot_init_modules): Made static.
(scm_set_current_module): Call scm_post_boot_init_modules on first
call.
(make_modules_in, beautify_user_module_x, resolve_module,
try_module_autoload, module_make_local_var_x): Tacked on "_var"
suffix. Now point to variables instead of vcells. Updated all
uses.
(scm_module_lookup_closure): Deal with the module being SCM_BOOL_F
and return SCM_BOOL_F in that case.
(scm_module_transformer): Likewise.
(sym_module, scm_lookup_closure_module, scm_env_module): New.
(SCM_F_EVAL_CLOSURE_INTERFACE, SCM_EVAL_CLOSURE_INTERFACE_P): New.
(scm_eval_closure_lookup): Do not allow new definitions when
`interface' flag is set.
(scm_standard_interface_eval_closure): New.
(scm_pre_modules_obarray, scm_sym2var, scm_module_lookup,
scm_lookup, scm_module_define, scm_define, scm_c_module_lookup,
scm_c_lookup, scm_c_module_define, scm_c_define,
scm_module_reverse_lookup, scm_get_pre_modules_obarray,
scm_modules_prehistory): New.
(scm_post_boot_init_modules): Use scm_c_define and scm_c_lookup
instead of scm_intern0.
* macros.c (scm_make_synt): Return SCM_UNSPECIFIED instead of the
symbol.
* keywords.c (s_scm_make_keyword_from_dash_symbol): Use a regular
hashtable operations to maintain the keywords, not obarray ones.
* init.c (scm_load_startup_files): Do not call
scm_post_boot_init_modules. This is done by
scm_set_current_module now.
(scm_init_guile_1): Call scm_modules_prehistory. Call
scm_init_variable early on.
* goops.c (s_scm_sys_goops_loaded): Get
var_compute_applicable_methods from scm_sym2var, not from a direct
invocation of scm_goops_lookup_closure.
* gh_funcs.c (gh_define): Return SCM_UNSPECIFIED instead of vcell.
* gc.c: Added simple debugging hack to mark phase of GC: When
activated, do not tail-call scm_gc_mark. This gives nice
backtraces.
(scm_unhash_name): Removed.
* feature.c (features): Renamed to features_var. Now points to a
variable instead of a vcell. Updated all uses.
* eval.h (SCM_TOP_LEVEL_LOOKUP_CLOSURE): Use
`scm_current_module_lookup_closure' which will do the right thing
when the module system hasn't been booted yet.
(SCM_GLOC_SYM): Removed.
(SCM_GLOC_VAR, SCM_GLOC_SET_VAL): New.
(SCM_GLOC_VAL, SCM_GLOC_LOC): Reimplemented in terms of variables.
* eval.c (scm_lookupcar, scm_lookupcar1): Deal with variables
instead of with vcells. Do not overwrite `var' with the result of
the lookup, use the new `real_var' instead. Remove `var2' in
exchange (which was only used with threads).
(sym_three_question_marks): New.
(scm_unmemocar): Use `scm_module_reverse_lookup' instead of
`SCM_GLOC_SYM'.
(scm_lisp_nil, scm_lisp_t): Directly define as symbols.
(scm_m_atfop): Expect the function definition to be a variable
instead of a vcell.
(scm_macroexp): Do not use `unmemocar', explicitely remember the
symbol instead.
(scm_unmemocopy): Removed thoughts about anti-macro interface.
(scm_eval_args): Use more explicit code in the gloc branch of the
atrocious struct ambiguity test. The optimizer will sort this
out.
(scm_deval_args): Likewise.
(SCM_CEVAL): Likewise. Also, do not use unmemocar, explicitely
remember the symbol instead. Added some comments where
scm_tc3_cons_gloc really exclusively refers to structs.
(scm_init_eval): Use scm_define to initialize "nil" and "t" to
scm_lisp_nil and scm_lisp_t, respectively. Use scm_define instead
of scm_sysintern in general.
* dynwind.c (scm_swap_bindings): Use SCM_GLOC_SET_VAL instead of
explicit magic.
* debug.c (s_scm_make_gloc): Only allow proper variables, no
pairs. Put the variable directly in the gloc.
(s_scm_gloc_p): Use `scm_tc3_cons_gloc' instead of the magic `1'.
(scm_init_debug): Use scm_c_define instead scm_sysintern.
* cpp_cnvt.awk: Emit "scm_c_define" instead of "scm_sysintern".
* backtrace.h, backtrace.c (scm_the_last_stack_fluid): Renamed to
scm_the_last_stack_fluid_var. It now points to a variable instead
of a vcell. Updated all uses.
(scm_has_shown_backtrace_hint_p_var): Now points to a variable
instead of a vcell. Updated all uses.
* _scm.h: Include "variables.h" and "modules.h" since almost
everybody needs them now.
* root.h (scm_symhash, scm_symhash_vars): Removed.
* gc.c (scm_init_storage): Do not initialize them.
2001-05-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
* eval.c (scm_init_eval): Initialize scm_undefineds and

View file

@ -1,3 +1,9 @@
2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
* goops/compile.scm (compile-method): Insert comment that
`procedure-source' can not be guaranteed to be reliable or
efficient.
2001-05-05 Marius Vollmer <mvo@zagadka.ping.de>
* goops.scm (initialize-object-procedure): Use