~ 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