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)

This commit is contained in:
Georges Dupéron 2018-03-26 00:43:00 +02:00
parent 2d866bec01
commit f2585febff
22 changed files with 225 additions and 1 deletions

View File

@ -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

14
generate-dispatch-6-11--6-12.sh Executable file
View File

@ -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

View File

@ -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

25
my-include.rkt Normal file
View File

@ -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)))])))

10
parse/debug.rkt Normal file
View File

@ -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")])

View File

@ -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)])

View File

@ -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")])

View File

@ -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")])

View File

@ -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")])

View File

@ -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")])

View File

@ -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")])

10
parse/pre.rkt Normal file
View File

@ -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")])

10
parse/private/lib.rkt Normal file
View File

@ -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")])

View File

@ -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)])

10
parse/private/parse.rkt Normal file
View File

@ -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")])

10
parse/private/rep.rkt Normal file
View File

@ -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")])

View File

@ -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")])

View File

@ -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")])

View File

@ -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")])

10
parse/private/runtime.rkt Normal file
View File

@ -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")])

10
parse/private/sc.rkt Normal file
View File

@ -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")])

View File

@ -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")])