Ticket #867: patch867

File patch867, 1022 bytes (added by megane, 13 years ago)

possible patch

Line 
1Index: coops.scm
2===================================================================
3--- coops.scm (revision 26776)
4+++ coops.scm (working copy)
5@@ -372,21 +372,23 @@
6 (lambda (%before-method)
7 (apply %before-method %args))
8 %applicable-before-methods)
9- (let ((%res
10+ (call-with-values
11+ (lambda ()
12 (apply
13 (let
14 ((m (car %applicable-primary-methods)))
15 (set! %applicable-primary-methods
16- (cdr %applicable-primary-methods))
17+ (cdr %applicable-primary-methods))
18 m)
19 %next-method?
20 %call-next-method
21- %args)))
22- (for-each
23- (lambda (%after-method)
24- (apply %after-method %args))
25- %applicable-after-methods)
26- %res))))))
27+ %args))
28+ (lambda (#!rest %res)
29+ (for-each
30+ (lambda (%after-method)
31+ (apply %after-method %args))
32+ %applicable-after-methods)
33+ (apply values %res))))))))
34 (%call-next-method))))))
35 (cond-expand
36 (no-cache