Skip to content

Instantly share code, notes, and snippets.

View shirok's full-sized avatar

Shiro Kawai shirok

View GitHub Profile
diff --git a/ext/termios/test.scm b/ext/termios/test.scm
index 390b83f..0e4260f 100644
--- a/ext/termios/test.scm
+++ b/ext/termios/test.scm
@@ -65,17 +65,24 @@
(define iport #f)
(define oport #f)
+ (define pty-used #f)
+
diff --git a/ext/termios/test.scm b/ext/termios/test.scm
index 0e4260f..10d502d 100644
--- a/ext/termios/test.scm
+++ b/ext/termios/test.scm
@@ -65,8 +65,6 @@
(define iport #f)
(define oport #f)
- (define pty-used #f)
-
diff --git a/ChangeLog b/ChangeLog
index 6487bf4..ab6422d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2012-03-10 Shiro Kawai <[email protected]>
+
+ * src/vm.c (Scm_VMCallCC, throw_continuation): Be a bit clever to
+ extract arity of the captured continuation if possible. The info
+ may be lost by valid program transformation (e.g.
diff --git a/lib/gauche/test.scm b/lib/gauche/test.scm
index ab34e40..af082ad 100644
--- a/lib/gauche/test.scm
+++ b/lib/gauche/test.scm
@@ -361,6 +361,10 @@
[proc (global-variable-ref
(slot-ref gref 'module)
(slot-ref gref 'name))]
+ ;; We exclude <generic> with no methods. Such "placeholder"
+ ;; generic function may be used in the base module, expecting
diff --git a/src/Makefile.in b/src/Makefile.in
index 7b74d53..90507ff 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -420,7 +420,7 @@ install : all install-dirs install-aux install-core
install-dirs :
$(MKINSTDIR) $(INSTALL_DIRS)
-install-core : relink
+install-core : all install-dirs install-aux relink
diff --git a/ChangeLog b/ChangeLog
index 6b06cc3..344d74f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-31 Shiro Kawai <[email protected]>
+
+ * ext/threads/thread.c (Scm_ThreadTerminate): Fixed SEGV bug when
+ thread-terminate! is called on a thread that's not running.
+
diff --git a/src/Makefile.in b/src/Makefile.in
index 7b74d53..5ab5b9e 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -415,12 +415,20 @@ INSTALL_DIRS = $(DESTDIR)$(HEADER_INSTALL_DIR) \
@CROSS_COMPILING_no@GAUCHE_INSTALL = ./gosh -ftest $(srcdir)/gauche-install.in
@CROSS_COMPILING_yes@GAUCHE_INSTALL = gosh $(srcdir)/gauche-install.in
-install : all install-dirs install-aux install-core
+install : install-core
diff --git a/ext/peg/peg.scm b/ext/peg/peg.scm
index dec9d65..dd968d8 100644
--- a/ext/peg/peg.scm
+++ b/ext/peg/peg.scm
@@ -246,12 +246,13 @@
(define (peg-parser->generator parser src)
(let1 s (%->lseq src)
(generate (^[yield]
- (let loop ([s s])
+ (let loop ()
module Main where
import Ratio
stream :: (b->c) -> (b->c->Bool) -> (b->c->b) -> (b->a->b) -> b -> [a] -> [c]
stream next safe prod cons z (x:xs)
= if safe z y
then y : stream next safe prod cons (prod z y) (x:xs)
else stream next safe prod cons (cons z x) xs
where y = next z
(use gauche.lazy)
(use util.match)
(define-syntax define*
(syntax-rules ()
[(_ (fn . pats) . body) (define fn (match-lambda* [pats . body]))]))
(define (stream next safe prod kons seed xs)
(^[] (let loop ([y (next seed)])
(cond [(safe seed y) (set! seed (prod seed y)) y]