~ chicken-core (chicken-5) f36539a31612ad16494e6d17601478bc2e59c3f5
commit f36539a31612ad16494e6d17601478bc2e59c3f5
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Mar 26 09:42:36 2010 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Fri Mar 26 09:42:36 2010 +0100
added -:G runtime option; added feature id #:explicit-renaming
diff --git a/expand.scm b/expand.scm
index 0bd146bd..24d0f678 100644
--- a/expand.scm
+++ b/expand.scm
@@ -38,7 +38,7 @@
(set! ##sys#features
- (append '(#:hygienic-macros #:syntax-rules) ##sys#features))
+ (append '(#:hygienic-macros #:syntax-rules #:explicit-renaming) ##sys#features))
(define (d arg1 . more)
(when (##sys#fudge 13)
@@ -48,7 +48,7 @@
(define dd d)
(define dm d)
-(define dc d)
+(define dx d)
(cond-expand
((not debugbuild)
@@ -60,7 +60,7 @@
(begin
(define-syntax dd (syntax-rules () ((_ . _) (void))))
(define-syntax dm (syntax-rules () ((_ . _) (void))))
- (define-syntax dc (syntax-rules () ((_ . _) (void)))) )
+ (define-syntax dx (syntax-rules () ((_ . _) (void)))) )
;;; Syntactic environments
@@ -212,12 +212,12 @@
"syntax transformer for `" (symbol->string name)
"' returns original form, which would result in endless expansion")
exp))
- (dd `(,name --> ,exp2))
+ (dx `(,name --> ,exp2))
exp2)))
(define (expand head exp mdef)
(dd `(EXPAND:
,head
- ,(cond ((get head '##core#macro-alias) =>
+ ,(cond ((##sys#get head '##core#macro-alias) =>
(lambda (a) (if (symbol? a) a '<macro>)) )
(else '_))
,exp
@@ -228,7 +228,7 @@
(##sys#syntax-error-hook "invalid syntax in macro form" exp) )
((pair? mdef)
(values
- ;; force ref. opaqueness by passing dynamic se [what is this comment meaning? I forgot]
+ ;; force ref. opaqueness by passing dynamic se [what does this comment mean? I forgot ...]
(call-handler head (cadr mdef) exp (car mdef) #f)
#t))
(else (values exp #f)) ) )
diff --git a/manual/Using the compiler b/manual/Using the compiler
index aaff7eb0..97f662d8 100644
--- a/manual/Using the compiler
+++ b/manual/Using the compiler
@@ -240,6 +240,8 @@ compiler itself) accept a small set of runtime options:
; {{-:g}} : Prints information about garbage-collection.
+; {{-:G}} : Force GUI mode (show error messages in dialog box, suitable for platform).
+
; {{-:fNUMBER}} : Specifies the maximal number of currently pending finalizers before finalization is forced.
; {{-:hNUMBER}} : Specifies fixed heap size
diff --git a/runtime.c b/runtime.c
index 13e1f500..fd0e07e1 100644
--- a/runtime.c
+++ b/runtime.c
@@ -1147,6 +1147,7 @@ void CHICKEN_parse_command_line(int argc, char *argv[], C_word *heap, C_word *st
" -:x deliver uncaught exceptions of other threads to primordial one\n"
" -:b enter REPL on error\n"
" -:B sound bell on major GC\n"
+ " -:G force GUI mode\n"
" -:aSIZE set trace-buffer/call-chain size\n"
"\n SIZE may have a `k' (`K'), `m' (`M') or `g' (`G') suffix, meaning size\n"
" times 1024, 1048576, and 1073741824, respectively.\n\n");
@@ -1182,6 +1183,9 @@ void CHICKEN_parse_command_line(int argc, char *argv[], C_word *heap, C_word *st
gc_bell = 1;
break;
+ case 'G':
+ C_gui_mode = 1;
+
case 's':
*stack = arg_val(ptr);
stack_size_changed = 1;
Trap