Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Catch up recent Gauche.

git-svn-id: svn+ssh://svn.kahua.org/var/local/repos/kahua/Kahua/trunk@3569 4e392e78-dc3f-dc11-8fd5-00188bfc9ac4
  • Loading branch information...
commit 45a719b1b83ac2004c7a688a00c0941e66ac1174 1 parent 16abb7a
@bizenn bizenn authored
View
17 ChangeLog
@@ -1,3 +1,20 @@
+2012-04-23 Tatsuya BIZENN <bizenn@kahua.org>
+
+ * Change: test/index-slots.scm, test/persistence.scm
+ Recently, Gauche check the arity of generic functions. So
+ some method add to bypass-arity-check list, and some tests
+ fail on Gauche before 3982bd1399fef1a206ad1e3bc2d527e37a10f6ab.
+ Watch out!!
+
+ * Change: test/plugin.scm
+ Recently, Gauche supports "filter" as built-in procedure. So
+ use xcons instead of filter for some plugin tests.
+
+ * Fix: src/kahua/server.scm
+ Fixed the code depending on the bug of Gauche that map accept
+ improper lists and ignore a trailing element. This fix is
+ suggested by Shiro Kawai.
+
2011-09-26 Shiro Kawai <shiro@acm.org>
* Fix: src/kahua/persistence.scm (on-key-cache?):
View
13 src/kahua/server.scm
@@ -773,10 +773,11 @@
;; ((arg1 <class1>) G93 arg3 ...)
;; => (arg1 G93 arg3 ...)
(define (gen-lambda-args specs)
- (map (lambda (spec)
- (cond ((pair? spec) (car spec))
- (else spec)))
- specs))
+ (map* (lambda (spec)
+ (cond ((pair? spec) (car spec))
+ (else spec)))
+ (^x'())
+ specs))
;; ((arg1 <class1>) "str1" "str2" ...)
;; => ((1 . "str1") (2 . "str2") ...)
@@ -819,7 +820,7 @@
(define-macro (define-method-rule name args . body)
(let* ((rarg (if (dotted-list? args) (cdr (last-pair args)) '()))
- (args (map identity args))
+ (args (map* identity (^x'()) args))
(specs (append (gen-specializers args) (if (null? rarg) rarg 'rarg)))
(rules (append (gen-rules args) rarg))
(method-args (append (gen-method-args args) rarg))
@@ -836,7 +837,7 @@
'())
(define-method ,name ,method-args
(let1 rules (hash-table-get (ref ,name 'rules) ',specs)
- (,apply-rule rules (append (list ,@(map identity lambda-args)) ,rarg)))))))
+ (,apply-rule rules (append (list ,@(map* identity (^x '()) lambda-args)) ,rarg)))))))
;;
;; kahua-call-with-current-context
View
2  test/index-slots.scm
@@ -11,7 +11,7 @@
(test-start (format "index slots (~a)" ((#/^(\w+):/ *dbname*) 1)))
(use kahua.persistence)
-(test-module 'kahua.persistence)
+(test-module 'kahua.persistence :bypass-arity-check '(read-kahua-instance))
(test-section "Prologue")
View
2  test/persistence.scm
@@ -27,7 +27,7 @@
;; kahua.persistentceがロードでき、またそのインタフェースに
;; 齟齬がないことを確認する。
(use kahua.persistence)
-(test-module 'kahua.persistence)
+(test-module 'kahua.persistence :bypass-arity-check '(read-kahua-instance))
;;----------------------------------------------------------
;; 基本的なテスト
View
10 test/plugin.scm
@@ -45,17 +45,17 @@
(define *sandbox* (make-sandbox-module))
-;; プラグイン srfi-1 をロードする前には filter 手続きがないので、
+;; プラグイン srfi-1 をロードする前には xcons 手続きがないので、
;; テストに失敗することを確認する。
(test* "no plugin loads yet"
*test-error*
- (eval '(filter odd? '(1 2 3 4 5)) *sandbox*))
+ (eval '(xcons 1 2) *sandbox*))
-;; プラグイン srfi-1 をロードしたあとに filter 手続きを使えることを
+;; プラグイン srfi-1 をロードしたあとに xcons 手続きを使えることを
;; 確認する。
(test* "load srfi-1 plugin"
- '(1 3 5)
- (eval '(begin (use srfi-1) (filter odd? '(1 2 3 4 5))) *sandbox*))
+ '(2 . 1)
+ (eval '(begin (use srfi-1) (xcons 1 2)) *sandbox*))
;; プラグイン srfi-1 の filter 手続きであることを確認する。
(test* "this is srfi-1's filter"
Please sign in to comment.
Something went wrong with that request. Please try again.