~ chicken-core (chicken-5) 6c93e9c95648d6585e3c823df82823fa56608735


commit 6c93e9c95648d6585e3c823df82823fa56608735
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sat Oct 31 14:35:10 2015 +1300
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sat Oct 31 14:35:10 2015 +1300

    Remove the somewhat silly "-main-module" option
    
    Users can just type "-module main" instead.

diff --git a/NEWS b/NEWS
index 2bb0a0c1..5136e67b 100644
--- a/NEWS
+++ b/NEWS
@@ -10,8 +10,7 @@
 - Compiler
   - Fixed an off by one allocation problem in generated C code for (list ...).
   - The "-scrutinize" compiler option has been removed.
-  - The "-module" compiler option (aliased as "-m") now expects a module
-    name, with the new "-main-module" (or "-M") option defaulting to "main".
+  - The "-module" compiler option (aliased as "-m") now expects a module name.
 
 - Core libraries
   - Removed support for memory-mapped files (posix), queues (data-structures),
diff --git a/batch-driver.scm b/batch-driver.scm
index 31de3359..514022d6 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -225,9 +225,8 @@
 	(upap #f)
 	(ssize (or (memq 'nursery options) (memq 'stack-size options)))
 	(module-name
-	 (cond ((memq 'module options) => option-arg)
-	       ((memq 'main-module options) "main")
-	       (else #f))))
+	 (and-let* ((m (memq 'module options)))
+	   (option-arg m))))
 
     (define (cputime) (current-milliseconds))
 
diff --git a/c-platform.scm b/c-platform.scm
index 4089dc73..f30e1d18 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -95,7 +95,7 @@
     compile-syntax tag-pointers accumulate-profile
     disable-stack-overflow-checks raw specialize
     emit-external-prototypes-first release local inline-global
-    analyze-only dynamic main-module
+    analyze-only dynamic
     no-argc-checks no-procedure-checks no-parentheses-synonyms
     no-procedure-checks-for-toplevel-bindings
     no-bound-checks no-procedure-checks-for-usual-bindings no-compiler-syntax
diff --git a/csc.scm b/csc.scm
index 243cfdce..8b8e1b53 100644
--- a/csc.scm
+++ b/csc.scm
@@ -147,7 +147,6 @@
     -check-syntax -case-insensitive -shared -compile-syntax -no-lambda-info
     -dynamic -disable-stack-overflow-checks -local
     -emit-external-prototypes-first -inline -release 
-    -main-module
     -analyze-only -keep-shadowed-macros -inline-global -ignore-repository
     -no-symbol-escape -no-parentheses-synonyms -r5rs-syntax
     -no-argc-checks -no-bound-checks -no-procedure-checks -no-compiler-syntax
@@ -171,7 +170,6 @@
   '((-h "-help")
     (-s "-shared")
     (-m "-module")
-    (-M "-main-module")
     (|-P| "-check-syntax")
     (-f "-fixnum-arithmetic")
     (|-D| "-feature")
@@ -361,7 +359,6 @@ Usage: #{csc} FILENAME | OPTION ...
     -no-module-registration        do not generate module registration code
     -no-compiler-syntax            disable expansion of compiler-macros
     -m -module NAME                wrap compiled code in a module
-    -M -main-module                wrap compiled code in a module called "main"
 
   Translation options:
 
diff --git a/manual/Using the compiler b/manual/Using the compiler
index e57ffca1..79b53c0b 100644
--- a/manual/Using the compiler	
+++ b/manual/Using the compiler	
@@ -90,8 +90,6 @@ the source text should be read from standard input.
 
 ; -lfa2 : Does an additional lightweight flow-analysis pass on the fully optimized program to remove more type checks.
 
-; -main-module : wraps the compiled code in an implicit module named {{main}}, importing the {{scheme}} and {{chicken}} modules.
-
 ; -module NAME : wraps the compiled code in an implicit module of the given {{NAME}}, importing the {{scheme}} and {{chicken}} modules.
 
 ; -no-argc-checks : disable argument count checks
diff --git a/support.scm b/support.scm
index 15d1745f..75537432 100644
--- a/support.scm
+++ b/support.scm
@@ -1654,7 +1654,6 @@ Usage: chicken FILENAME OPTION ...
     -no-module-registration      do not generate module registration code
     -no-compiler-syntax          disable expansion of compiler-macros
     -module NAME                 wrap compiled code in a module
-    -main-module                 wrap compiled code in a module called "main"
 
   Translation options:
 
diff --git a/tests/runtests.bat b/tests/runtests.bat
index 408076d5..9511ca57 100644
--- a/tests/runtests.bat
+++ b/tests/runtests.bat
@@ -335,13 +335,9 @@ echo ======================================== module tests (command line options
 set module="test"
 %compile% test.scm -w -A -j %module% -module %module%
 if errorlevel 1 exit /b 1
-%compile% test.scm -w -A -j main -main-module
-if errorlevel 1 exit /b 1
 %interpret% -e "(import %module%)"
 if errorlevel 1 exit /b 1
-%interpret% -e "(import main)"
-if errorlevel 1 exit /b 1
-del /f /q %module%.import.scm main.import.scm
+del /f /q %module%.import.scm
 
 echo ======================================== module tests (compiled) ...
 %compile% module-tests-compiled.scm
diff --git a/tests/runtests.sh b/tests/runtests.sh
index d366fd9e..05d6c429 100755
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -287,10 +287,8 @@ $interpret -include-path ${TEST_DIR}/.. -s module-tests-2.scm
 echo "======================================== module tests (command line options) ..."
 module="test-$(date +%s)"
 $compile test.scm -A -w -j "$module" -module "$module"
-$compile test.scm -A -w -j main -main-module
 $interpret -e "(import $module)"
-$interpret -e "(import main)"
-rm -f "$module.import.scm" main.import.scm
+rm -f "$module.import.scm"
 
 echo "======================================== module tests (compiled) ..."
 $compile module-tests-compiled.scm
Trap