fix bug in namespace-require/constant that caused a Check Syntax bug; fix DrScheme's source location for module forms; tweak help output to use right font for class names
svn: r10113
This commit is contained in:
parent
4654408229
commit
2a728cdf3c
|
@ -416,15 +416,29 @@
|
|||
;; if the file has been saved
|
||||
(define (transform-module filename stx)
|
||||
(syntax-case* stx (module) (λ (x y) (eq? (syntax-e x) (syntax-e y)))
|
||||
[(module name lang bodies ...)
|
||||
(let ([v-name (syntax name)])
|
||||
(when filename
|
||||
(check-filename-matches filename
|
||||
(syntax->datum (syntax name))
|
||||
stx))
|
||||
;; rewrite the module to use the scheme/base version of `module'
|
||||
(values v-name
|
||||
#`(#,(datum->syntax #'here 'module) name lang bodies ...)))]
|
||||
[(module . rest)
|
||||
(syntax-case stx ()
|
||||
[(form name . _)
|
||||
(let ([v-name (syntax name)])
|
||||
(when filename
|
||||
(check-filename-matches filename
|
||||
(syntax->datum (syntax name))
|
||||
stx))
|
||||
(values v-name
|
||||
;; rewrite the module to use the scheme/base version of `module'
|
||||
(datum->syntax stx
|
||||
(cons (datum->syntax #'here
|
||||
'module
|
||||
#'form)
|
||||
#'rest)
|
||||
stx)))]
|
||||
[_
|
||||
(raise-syntax-error 'module-language
|
||||
"module form is missing a name"
|
||||
stx)])]
|
||||
[module (raise-syntax-error 'module-language
|
||||
"bad syntax"
|
||||
stx)]
|
||||
[else
|
||||
(raise-syntax-error 'module-language
|
||||
"only module expressions are allowed"
|
||||
|
|
|
@ -5,9 +5,10 @@
|
|||
|
||||
This is a simple variant of Rummy.
|
||||
|
||||
Put all cards in your hand into straights (3 or more cards) and 3- or
|
||||
4-of-a-kind sets to win. Each card counts for only one set. Aces can
|
||||
be used in both A-2-3 sequences and Q-K-A sequences.
|
||||
Put all cards in your hand into straights (3 or more cards in the same
|
||||
suit) and 3- or 4-of-a-kind sets to win. Each card counts for only
|
||||
one set. Aces can be used in both A-2-3 sequences and Q-K-A
|
||||
sequences.
|
||||
|
||||
When all of your cards fit into sets (the game detects this
|
||||
automatically), you win.
|
||||
|
|
|
@ -80,9 +80,13 @@
|
|||
[e (if (method-index-desc? desc)
|
||||
`(,@e ,(make-element "smaller"
|
||||
`(" (method of "
|
||||
,(make-element "schemevaluelink"
|
||||
(list (symbol->string
|
||||
(exported-index-desc-name desc))))
|
||||
,(make-element
|
||||
"schemesymbol"
|
||||
(list
|
||||
(make-element
|
||||
"schemevaluelink"
|
||||
(list (symbol->string
|
||||
(exported-index-desc-name desc))))))
|
||||
")")))
|
||||
e)]
|
||||
[e (make-link-element "indexlink" e tag)]
|
||||
|
|
|
@ -56,14 +56,6 @@ get all cross-reference information for installed documentation.}
|
|||
symbol?
|
||||
(one-of/c 0 1)
|
||||
(or/c exact-integer? false/c)
|
||||
(or/c exact-integer? false/c))
|
||||
(list/c (or/c module-path?
|
||||
module-path-index?
|
||||
path?
|
||||
resolved-module-path?)
|
||||
symbol?
|
||||
(one-of/c 0 1)
|
||||
(or/c exact-integer? false/c)
|
||||
(or/c exact-integer? false/c)))]
|
||||
[mode (or/c exact-integer? false/c)])
|
||||
(or/c tag? false/c)]{
|
||||
|
|
|
@ -7952,10 +7952,10 @@ void add_single_require(Scheme_Module_Exports *me, /* from module */
|
|||
|
||||
if (do_copy_vars && (j < var_count)) {
|
||||
Scheme_Env *menv;
|
||||
Scheme_Object *val;
|
||||
Scheme_Object *val, *modname;
|
||||
Scheme_Bucket *b;
|
||||
modidx = scheme_module_resolve(modidx, 1);
|
||||
menv = scheme_module_access(modidx, orig_env, 0);
|
||||
modname = scheme_module_resolve(modidx, 1);
|
||||
menv = scheme_module_access(modname, orig_env, 0);
|
||||
val = scheme_lookup_in_table(menv->toplevel, (char *)exsns[j]);
|
||||
b = scheme_global_bucket(iname, orig_env);
|
||||
scheme_set_global_bucket(((copy_vars == 2)
|
||||
|
|
Loading…
Reference in New Issue
Block a user