guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.9-136-g306cc


From: Ian Price
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.9-136-g306cc01
Date: Thu, 09 Jan 2014 03:55:35 +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=306cc01d3981feaa11aa0d866ff1d99128f0ace3

The branch, stable-2.0 has been updated
       via  306cc01d3981feaa11aa0d866ff1d99128f0ace3 (commit)
      from  793e8a9317d24298c82389bdf86b8ca17b4ee2f0 (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 306cc01d3981feaa11aa0d866ff1d99128f0ace3
Author: Ian Price <address@hidden>
Date:   Thu Oct 24 05:51:47 2013 +0100

    Fix trap handlers to handle applicable structs.
    
    Reported by Jordy Dickinson <address@hidden>.
    Fixes <http://bugs.gnu.org/15691>.
    
    * module/system/vm/traps.scm (frame-matcher): Extract procedure when
      proc is an applicable struct.

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

Summary of changes:
 module/system/vm/traps.scm |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/module/system/vm/traps.scm b/module/system/vm/traps.scm
index cccd6ea..b65e034 100644
--- a/module/system/vm/traps.scm
+++ b/module/system/vm/traps.scm
@@ -109,15 +109,18 @@
   ((new-disabled-trap vm enable disable) frame))
 
 (define (frame-matcher proc match-objcode?)
-  (if match-objcode?
-      (lambda (frame)
-        (let ((frame-proc (frame-procedure frame)))
-          (or (eq? frame-proc proc)
-              (and (program? frame-proc)
-                   (eq? (program-objcode frame-proc)
-                        (program-objcode proc))))))
-      (lambda (frame)
-        (eq? (frame-procedure frame) proc))))
+  (let ((proc (if (struct? proc)
+                  (procedure proc)
+                  proc)))
+    (if match-objcode?
+        (lambda (frame)
+          (let ((frame-proc (frame-procedure frame)))
+            (or (eq? frame-proc proc)
+                (and (program? frame-proc)
+                     (eq? (program-objcode frame-proc)
+                          (program-objcode proc))))))
+        (lambda (frame)
+          (eq? (frame-procedure frame) proc)))))
 
 ;; A basic trap, fires when a procedure is called.
 ;;


hooks/post-receive
-- 
GNU Guile



reply via email to

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