commit f2585febff2a47ec58ce347f1d6ea55a06e623bd
parent 2d866bec0178e6c6d979624ab25fe41b6f53d06d
Author: Georges Dupéron <georges.duperon@gmail.com>
Date: Mon, 26 Mar 2018 00:43:00 +0200
Merge Racket ≤ 6.11 and Racket ≥ 6.12, using version-case (part 3: add dispatch files which include the 6.11 or 6.12 files)
Diffstat:
22 files changed, 227 insertions(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
@@ -31,6 +31,10 @@ env:
###- RACKET_VERSION=6.5 RECENT=true
###- RACKET_VERSION=6.6 RECENT=true
###- RACKET_VERSION=6.7 RECENT=true
+ - RACKET_VERSION=6.8 RECENT=true
+ - RACKET_VERSION=6.9 RECENT=true
+ - RACKET_VERSION=6.10 RECENT=true
+ - RACKET_VERSION=6.11 RECENT=true
- RACKET_VERSION=6.12 RECENT=true
- RACKET_VERSION=RELEASE RECENT=true
- RACKET_VERSION=HEAD RECENT=true
diff --git a/generate-dispatch-6-11--6-12.sh b/generate-dispatch-6-11--6-12.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+for i in `find -name '*-6-11'`; do echo "$i"; j="$i"; i="$(basename "$i")"; cat > "${j%-6-11}" <<EOF
+$(head -n 1 "$j")
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "$i")]
+ [else
+ $(if test -e "${j%-6-11}-6-12"; then echo "(my-include \"${i%-6-11}-6-12\")"; else echo "(begin)"; fi)])
+EOF
+done
+\ No newline at end of file
diff --git a/info.rkt b/info.rkt
@@ -5,7 +5,8 @@
;; Because scribble/example is not available on v6.3:
"version-case"
"subtemplate" ;; for the documentation only
- "auto-syntax-e"))
+ "auto-syntax-e"
+ "compatibility-lib"))
(define build-deps '("scribble-lib"
"racket-doc"
"at-exp-lib")) ;; for the documentation only
diff --git a/my-include.rkt b/my-include.rkt
@@ -0,0 +1,25 @@
+#lang racket
+(provide my-include)
+(require (for-syntax mzlib/etc))
+
+(define-syntax (my-include stx)
+ (syntax-case stx ()
+ [(_ filename)
+ (string? (syntax-e #'filename))
+ #'(begin
+ (define-syntax (tmp _stx)
+ (my-include2 (this-expression-source-directory filename) filename))
+ (tmp))]))
+
+(define-for-syntax (my-include2 dirname filename)
+ (displayln (list dirname filename))
+ (let ([filename (build-path dirname
+ filename)])
+ (define s
+ (parameterize ([read-accept-reader #t])
+ (read-syntax filename (open-input-file filename))))
+ (syntax-case s ()
+ [(-module name . rest)
+ #'(begin (module name . rest)
+ (require 'name)
+ (provide (all-from-out 'name)))])))
+\ No newline at end of file
diff --git a/parse/debug.rkt b/parse/debug.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "debug.rkt-6-11")]
+ [else
+ (my-include "debug.rkt-6-12")])
diff --git a/parse/experimental/private/substitute.rkt b/parse/experimental/private/substitute.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "substitute.rkt-6-11")]
+ [else
+ (begin)])
diff --git a/parse/experimental/provide.rkt b/parse/experimental/provide.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "provide.rkt-6-11")]
+ [else
+ (my-include "provide.rkt-6-12")])
diff --git a/parse/experimental/reflect.rkt b/parse/experimental/reflect.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "reflect.rkt-6-11")]
+ [else
+ (my-include "reflect.rkt-6-12")])
diff --git a/parse/experimental/specialize.rkt b/parse/experimental/specialize.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "specialize.rkt-6-11")]
+ [else
+ (my-include "specialize.rkt-6-12")])
diff --git a/parse/experimental/splicing.rkt b/parse/experimental/splicing.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "splicing.rkt-6-11")]
+ [else
+ (my-include "splicing.rkt-6-12")])
diff --git a/parse/experimental/template.rkt b/parse/experimental/template.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "template.rkt-6-11")]
+ [else
+ (my-include "template.rkt-6-12")])
diff --git a/parse/pre.rkt b/parse/pre.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "pre.rkt-6-11")]
+ [else
+ (my-include "pre.rkt-6-12")])
diff --git a/parse/private/lib.rkt b/parse/private/lib.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "lib.rkt-6-11")]
+ [else
+ (my-include "lib.rkt-6-12")])
diff --git a/parse/private/parse-aux.rkt b/parse/private/parse-aux.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "parse-aux.rkt-6-11")]
+ [else
+ (begin)])
diff --git a/parse/private/parse.rkt b/parse/private/parse.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "parse.rkt-6-11")]
+ [else
+ (my-include "parse.rkt-6-12")])
diff --git a/parse/private/rep.rkt b/parse/private/rep.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "rep.rkt-6-11")]
+ [else
+ (my-include "rep.rkt-6-12")])
diff --git a/parse/private/residual.rkt b/parse/private/residual.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "residual.rkt-6-11")]
+ [else
+ (my-include "residual.rkt-6-12")])
diff --git a/parse/private/runtime-reflect.rkt b/parse/private/runtime-reflect.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "runtime-reflect.rkt-6-11")]
+ [else
+ (my-include "runtime-reflect.rkt-6-12")])
diff --git a/parse/private/runtime-report.rkt b/parse/private/runtime-report.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "runtime-report.rkt-6-11")]
+ [else
+ (my-include "runtime-report.rkt-6-12")])
diff --git a/parse/private/runtime.rkt b/parse/private/runtime.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "runtime.rkt-6-11")]
+ [else
+ (my-include "runtime.rkt-6-12")])
diff --git a/parse/private/sc.rkt b/parse/private/sc.rkt
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "sc.rkt-6-11")]
+ [else
+ (my-include "sc.rkt-6-12")])
diff --git a/scribblings/stxparse-info.scrbl b/scribblings/stxparse-info.scrbl
@@ -0,0 +1,10 @@
+#lang racket/base
+(#%require version-case
+ (for-syntax (only racket/base version)
+ (only racket/base #%app #%datum))
+ stxparse-info/my-include)
+(version-case
+ [(version< (version) "6.11.0.900")
+ (my-include "stxparse-info.scrbl-6-11")]
+ [else
+ (my-include "stxparse-info.scrbl-6-12")])