* Make the creation of bindings more straightforward.
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Tue, 12 Dec 2000 14:07:06 +0000 (14:07 +0000)
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Tue, 12 Dec 2000 14:07:06 +0000 (14:07 +0000)
libguile/ChangeLog
libguile/hooks.c
libguile/script.c
libguile/snarf.h

index 9485de2..090653e 100644 (file)
@@ -1,3 +1,11 @@
+2000-12-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * hooks.c (scm_create_hook), script.c
+       (scm_compile_shell_switches), snarf.h (SCM_VCELL,
+       SCM_GLOBAL_VCELL, SCM_VCELL_INIT, SCM_GLOBAL_VCELL_INIT):  Create
+       a binding in one go (instead of first creating a vcell and then
+       setting its cdr).
+
 2000-12-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
        * hash.[ch] (scm_string_hash), symbols.[ch] (scm_string_hash):
index 57fce99..47437f7 100644 (file)
@@ -200,9 +200,8 @@ SCM_SYMBOL (symbol_name, "name");
 SCM
 scm_create_hook (const char* name, int n_args)
 {
-  SCM vcell = scm_sysintern0 (name);
   SCM hook = make_hook (SCM_MAKINUM (n_args), "scm_create_hook");
-  SCM_SETCDR (vcell, hook);
+  scm_sysintern (name, hook);
   scm_set_object_property_x (hook, symbol_name, scm_makfrom0str (name));
   scm_protect_object (hook);
   return hook;
index e031991..7bbc51a 100644 (file)
@@ -578,10 +578,7 @@ scm_compile_shell_switches (int argc, char **argv)
   scm_set_program_arguments (argc ? argc - i : 0, argv + i, argv0);
   
   /* If the --emacs switch was set, now is when we process it.  */
-  {
-    SCM vcell = scm_sysintern0_no_module_lookup ("use-emacs-interface");
-    SCM_SETCDR (vcell, SCM_BOOL(use_emacs_interface));
-  }
+  scm_sysintern ("use-emacs-interface", SCM_BOOL (use_emacs_interface));
 
   /* Handle the `-e' switch, if it was specified.  */
   if (!SCM_NULLP (entry_point))
index e3d2d33..4364544 100644 (file)
@@ -169,19 +169,19 @@ SCM_SNARF_INIT(c_name = scm_permanent_object (scm_c_make_keyword (scheme_name)))
 
 #define SCM_VCELL(c_name, scheme_name) \
 SCM_SNARF_HERE(static SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_intern0 (scheme_name)); SCM_SETCDR (c_name, SCM_BOOL_F))
+SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, SCM_BOOL_F));)
 
 #define SCM_GLOBAL_VCELL(c_name, scheme_name) \
 SCM_SNARF_HERE(SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_intern0 (scheme_name)); SCM_SETCDR (c_name, SCM_BOOL_F))
+SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, SCM_BOOL_F));)
 
 #define SCM_VCELL_INIT(c_name, scheme_name, init_val) \
 SCM_SNARF_HERE(static SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_intern0 (scheme_name)); SCM_SETCDR (c_name, init_val))
+SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, init_val));)
 
 #define SCM_GLOBAL_VCELL_INIT(c_name, scheme_name, init_val) \
 SCM_SNARF_HERE(SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_intern0 (scheme_name)); SCM_SETCDR (c_name, init_val))
+SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, init_val));)
 
 #define SCM_CONST_LONG(c_name, scheme_name,value) \
 SCM_VCELL_INIT(c_name, scheme_name, scm_long2num(value))