guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-12-216-g4


From: Michael Gran
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-12-216-g45dc6b3
Date: Fri, 15 Oct 2010 01:24:51 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=45dc6b347d81a580bbcaefe25007cbbe8bb9841d

The branch, master has been updated
       via  45dc6b347d81a580bbcaefe25007cbbe8bb9841d (commit)
      from  4ad7f6cf9ffeb4b3499898755bf36c1091b3da7e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 45dc6b347d81a580bbcaefe25007cbbe8bb9841d
Author: Michael Gran <address@hidden>
Date:   Thu Oct 14 18:27:41 2010 -0700

    Unresolved var errors don't work for top-level vars
    
    * libguile/vm-i-system.c (toplevel_ref, long_toplevel_ref): modified

-----------------------------------------------------------------------

Summary of changes:
 libguile/vm-i-system.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 62b5e1a..bc0c962 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -330,19 +330,20 @@ VM_DEFINE_INSTRUCTION (26, variable_bound, 
"variable-bound?", 0, 1, 1)
 VM_DEFINE_INSTRUCTION (27, toplevel_ref, "toplevel-ref", 1, 0, 1)
 {
   unsigned objnum = FETCH ();
-  SCM what;
+  SCM what, resolved;
   CHECK_OBJECT (objnum);
   what = OBJECT_REF (objnum);
 
-  if (!SCM_VARIABLEP (what)) 
+  if (!SCM_VARIABLEP (what))
     {
       SYNC_REGISTER ();
-      what = resolve_variable (what, scm_program_module (program));
-      if (!VARIABLE_BOUNDP (what))
+      resolved = resolve_variable (what, scm_program_module (program));
+      if (!VARIABLE_BOUNDP (resolved))
         {
           finish_args = scm_list_1 (what);
           goto vm_error_unbound;
         }
+      what = resolved;
       OBJECT_SET (objnum, what);
     }
 
@@ -352,22 +353,23 @@ VM_DEFINE_INSTRUCTION (27, toplevel_ref, "toplevel-ref", 
1, 0, 1)
 
 VM_DEFINE_INSTRUCTION (28, long_toplevel_ref, "long-toplevel-ref", 2, 0, 1)
 {
-  SCM what;
+  SCM what, resolved;
   unsigned int objnum = FETCH ();
   objnum <<= 8;
   objnum += FETCH ();
   CHECK_OBJECT (objnum);
   what = OBJECT_REF (objnum);
 
-  if (!SCM_VARIABLEP (what)) 
+  if (!SCM_VARIABLEP (what))
     {
       SYNC_REGISTER ();
-      what = resolve_variable (what, scm_program_module (program));
-      if (!VARIABLE_BOUNDP (what))
+      resolved = resolve_variable (what, scm_program_module (program));
+      if (!VARIABLE_BOUNDP (resolved))
         {
           finish_args = scm_list_1 (what);
           goto vm_error_unbound;
         }
+      what = resolved;
       OBJECT_SET (objnum, what);
     }
 


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]