Matthew Flatt
d8dce77984
input-port-append: add #:name
argument
2018-03-06 20:01:47 -07:00
Matthew Flatt
9d77ffe6d5
avoid crashes while reading ill-formed bytecode
2018-03-06 18:33:49 -07:00
Matthew Flatt
c29e072f7e
identifier-binding: don't lose nominals
...
Repairs ebef94435c
2018-03-06 13:33:24 -07:00
Matthew Flatt
ebef94435c
identifier-binding: bias nominal to most recent require
...
The `identifier-binding` function doesn't promise to give back any
particular `require` as the nominal binding site, but some tests rely
on the most recent `require` as the binding site. Also, the arrows
in DrRacket look nicest that way.
2018-03-06 13:12:57 -07:00
Matthew Flatt
dffcbc1cb2
thread & io: code clean-ups
...
Remove unused `require`s and fix some indentation.
2018-03-06 13:04:27 -07:00
Matthew Flatt
82b5ec8d18
expander: fix registry-lock retry path
...
Provoking the retry path is extremely difficult, so it's unlikely to
have caused any problem so far.
2018-03-06 09:47:22 -07:00
Paulo Matos
80ae3394aa
Update function name
...
Function reference `supervise-named-dynamic-place-at` should be `supervise-place-at`.
2018-03-06 09:19:49 -07:00
Matthew Flatt
be371aa2cc
doc repair
...
Closes #1954
2018-03-06 09:12:48 -07:00
Matthew Flatt
050cdb5983
xform: avoid problems with __signbitf128
...
Closes #1962 and uses the suggested patch there, among other changes.
2018-03-06 09:05:08 -07:00
Matthew Flatt
efb9a919fc
ffi docs: clarification on unsafe-socket->port
...
Thanks to Hong Feng for suggesting the clarification.
2018-03-06 08:51:49 -07:00
Matthew Flatt
c5653b5bdd
expander: code clean-ups
...
Use `define/who` consistently, remove some unused `require`s, and fix
some bad indentation.
2018-03-05 19:34:41 -07:00
Matthew Flatt
bbefc9ed50
expander: fix taint propagation
...
A taint on a syntax object without scopes to propagate was propagated
incorrectly to a nested syntax object that also has pending scopes to
propagate.
2018-03-05 18:08:42 -07:00
Milo Turner
275d7974cd
Added #:cut pattern directive
2018-03-05 15:03:45 +01:00
Matthew Flatt
112aa6eb07
fix -m
command-line flag for new expander
2018-03-04 11:44:00 -07:00
Matthew Flatt
fc1da5f037
reader: fix quoting in some error messages
2018-03-04 11:22:18 -07:00
Matthew Flatt
c6579bbdcf
expander: fix provide of prop:exn:missing-module
2018-03-04 07:21:18 -07:00
Matthew Flatt
983a35a024
expander: repair handling of non-interned provide
s
2018-03-03 16:46:53 -07:00
Matthew Flatt
77028b9c95
fix potential error misreporting on a file-open failure
2018-03-03 10:02:12 -07:00
Matthew Flatt
ea7f973102
expander: repairs for top-level define-values
and begin-for-syntax
2018-03-02 18:00:02 -07:00
Matthew Flatt
88b066e1b2
expander: correct scope of added #%module-begin
wrapper
...
Also, fix a problem rendering module path indexes.
2018-03-02 15:17:37 -07:00
Robby Findler
34189b38f7
attmpet to clarify define/contract's boundary a bit more
2018-03-02 14:44:46 -06:00
Matthew Flatt
e78eb0563a
expander: fix shadowing require
after shadowing define
...
Refines the repair in 11fd70c3dd
to properly handle a `require` that
should be allowed to shadow the initial require.
2018-03-02 13:37:48 -07:00
Matthew Flatt
2104d02a23
reduce non-determinism in serialized syntax
2018-03-02 13:37:47 -07:00
Matthew Flatt
f439ab6b4e
add some missing checks in the bytecode reader
2018-03-02 13:37:46 -07:00
Robby Findler
081b1cc3f3
add for-label require; closes #1967
2018-03-02 07:42:56 -06:00
Matthew Flatt
11fd70c3dd
expander: fix require
after shadowing define
2018-03-01 14:14:24 -07:00
Matthew Flatt
7069510d67
expander: bind U+3BB as a macro, not a core form
2018-03-01 11:55:35 -07:00
Matthew Flatt
ae0ce206f8
reader: source location for #lang
language
2018-03-01 09:40:33 -07:00
Matthew Flatt
a668a6a674
expander: fix compilation of top-level begin-for-syntax
2018-03-01 08:22:22 -07:00
Matthew Flatt
618d362f09
load, ...: make sure load handlers receive paths
2018-03-01 07:56:44 -07:00
Matthew Flatt
c59c961ebc
read: restore some lost source-location reporting
2018-03-01 07:54:03 -07:00
Matthew Flatt
82d761aef0
at-exp: use "...
" for literals in error messages
...
Match the corresponding change in the Racket reader.
2018-03-01 07:00:11 -07:00
Matthew Flatt
57b6a1402f
fix evaluation of #%variable-reference
variants
2018-03-01 06:00:21 -07:00
Matthew Flatt
e6bab71e8a
unbreak namespace-variable-value
...
Repair a mistake in b4f0499256
.
2018-02-28 20:33:43 -07:00
Matthew Flatt
7bdc3d626b
adjust test that depends on keyword-argument expansion
...
Revert the test to go along with the "kw.rkt" reversion.
2018-02-28 20:12:04 -07:00
Matthew Flatt
8f9fcb02f3
expander: fix sealed initial parameterization
2018-02-28 19:36:28 -07:00
Matthew Flatt
9cd4f44d42
vector*-set!: repair to disallow an impersonator
2018-02-28 18:57:48 -07:00
Matthew Flatt
6fc9368d5c
revert a keyword-argument expansion that confuses TR
...
A change in keyword-argument expansion was intended to avoid
copy-propagation wrok in later passes. That saving does not appear to
be worthwhile, so revert it.
Reverting the change exposed weakness in the expander flattener and an
unsoundness in its simplification pass. That unsoundness has to do
with the assumption that variables are defined before use. The unsound
assumption is likely to be fine for code that is flattened --- all the
more considering that flattened code is routinely run in unsafe mode
--- but it's a departure from the intended safety of the simplifier.
Improving the analysis to so that it's sound and good enough will
require sometimes inferring when a structure-type property guard (for
`prop:evt`, at least) will succeed.
2018-02-28 18:49:58 -07:00
Matthew Flatt
b4f0499256
expander: add 'protected property to protected references
...
As documented and as implemented by the old expander.
2018-02-28 17:14:06 -07:00
Matthew Flatt
24a4882e5d
linklet evaluation: correctly install prompt in a no-JIT build
2018-02-28 16:23:51 -07:00
Matthew Flatt
6018dcfdf6
expander: propagate module properties to #%module-begin
...
Closes #1968
2018-02-28 14:23:22 -07:00
Matthew Flatt
de27be536d
expander: propagate srcloc on rename-transformer expansion
2018-02-28 13:59:13 -07:00
Matthew Flatt
3c69a1296a
expander: pay more attention to (error-print-source-location)
...
When source locations are disabled, don't include a source location in
an error message from `raise-syntax-error`.
2018-02-28 13:08:22 -07:00
Matthew Flatt
25b0c23db7
expander: adjust bindings in module->namespace
...
Make the module path index for bindings in a `module->namespace` be a
"self" MPI (with #f for path and base), instead of the MPI associated
with bindings as view from the outside of the module instance. That
makes interactive evalaution in the namespace more closely approximate
expansion within the original module.
Example use: ASL detects a "self" MPI to determine when it should
allow assignment to module-defined variables in the REPL.
2018-02-28 10:30:24 -07:00
Matthew Flatt
a6e585a72e
racket/unit: update expected error messages in tests
2018-02-28 07:02:11 -07:00
Matthew Flatt
4eacbbd296
change makefile to be more helpful for "seletc-startup.rkt" failure
2018-02-28 06:56:16 -07:00
Matthew Flatt
e4296f5c1e
add stdout logging in the same style as stderr logging
...
Use stdout log reporting instead of stderr log reporting for status
reporting during the build, so that the status report is not
misinterpreted as an error.
2018-02-28 06:52:55 -07:00
Ryan Culpepper
19df146ccf
expand and expand-to-top-form unset observer parameter
...
This change means that if a macro transformer calls expand (not
local-expand, but top-level expand), the macro debugger won't
receive the inner expand's events. Previously, the macro debugger
tried to parse and then discard the inner expand, but that was
brittle and complicated the grammar.
2018-02-28 06:11:00 -07:00
Ryan Culpepper
ceee75b5ce
make symbols consistent with macro debugger, send events as symbols
2018-02-28 05:37:22 -07:00
Ryan Culpepper
2f7c0dd9fa
fix/simplify logging for main expand and expand-to-top-form
2018-02-28 05:36:52 -07:00