Commit Graph

574 Commits

Author SHA1 Message Date
Matthew Flatt
df4fed7011 windows: fix `subprocess' for an empty argument
An empty argument must be quoted at the CreateProcess() level.

Merge to v5.3
2012-07-25 20:37:20 -06:00
Matthew Flatt
5a1bc5ad40 normalize module rename info to vector in ".zo" format
This is related to the receent repairs for submodules and
`variable-reference->namespace'.

Merge to v5.3
2012-07-24 07:22:57 -05:00
Matthew Flatt
d95ec4d454 fixes for submodules and `variable-reference->namespace'
Closes PR 12925

Merge to 5.3
2012-07-22 11:54:46 -05:00
Sam Tobin-Hochstadt
16923f4ad9 scheme/base -> racket/base 2012-07-19 10:55:31 -04:00
Matthew Flatt
c8f4ac6ae4 submodules: make .zo path stick for consistent independent loading
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.

The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.
2012-07-17 09:47:05 -06:00
Matthew Flatt
a605183a0a more submodule repairs for `raco exe' 2012-07-16 10:02:13 -06:00
Asumu Takikawa
403aaac7d4 Moved some mzlib library implementations to racket
The libraries moved were:
  - mzlib/control      => racket/control
  - mzlib/date         => racket/date
  - mzlib/deflate      => file/gzip
  - mzlib/inflate      => file/gunzip
  - mzlib/port         => racket/port
  - mzlib/process      => racket/system
  - mzlib/runtime-path => racket/runtime-path
  - mzlib/shared       => racket/shared
  - mzlib/unit         => racket/unit
  - mzlib/unit-exptime => racket/unit-exptime
  - mzlib/zip          => file/zip

The old modules in mzlib are now pointers to the
new modules. These are all modules that were already
redirected in the documentation.
2012-07-11 18:26:10 -04:00
Matthew Flatt
c69ea5569f `raco decompile' fix 2012-07-01 09:25:12 -06:00
Matthew Flatt
577cf4592e fix problems with references to bindings at higher phases 2012-06-27 09:57:50 -06:00
Matthew Flatt
6173b7eb05 fix zo-parse, zo-struct, etc. for context in whole-module import 2012-06-23 05:21:53 -07:00
Matthew Flatt
2fcb635790 raco exe: checks on source and destination paths
Disallow creating a launcher whose source is the launcher itself,
for example.
2012-05-28 20:30:58 -06:00
Matthew Flatt
68029b4ade raco decompile: show `require's 2012-05-16 07:12:26 -06:00
Matthew Flatt
d93f4214a4 fix `compiler/zo-parse', etc. for phase-shift addition 2012-05-13 09:00:28 -06:00
Matthew Flatt
92db2b4fb3 zo-parse update for phase-shift syntax object marshaling 2012-05-13 06:57:44 -06:00
Matthew Flatt
8fc3d25be4 cm: collect dependencies for submodules 2012-05-12 00:55:12 -06:00
Matthew Flatt
dbd940611e allow #f as shift for `syntax-shift-phase-level' 2012-05-12 00:55:12 -06:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Matthew Flatt
5ffb9389ac fix `raco setup' for splicing collections
Closes PR 12676
2012-05-03 11:11:38 -06:00
Eli Barzilay
16d40c3170 Fix command-line for the demodularizer.
Closes PR 12731.
2012-04-28 05:23:43 -04:00
Matthew Flatt
f099eec2af save modidx submodule path in bytecode form
This change should have been part of 9ba663aa77.
2012-04-26 21:45:00 -06:00
Matthew Flatt
16d65ed251 fix `raco demod' for new submodule fields in zo structs 2012-04-04 07:37:30 -06:00
Danny Yoo
8f2ea07ec5 Optimize cpt-table-lookup
(Tweaked by Eli.)
2012-04-04 02:52:51 -04:00
Matthew Flatt
63a4414863 make --run-if-absent' the default mode for raco test'
This convention makes it easier to deal with a set
of ".rkt" files that implement tests, while a `test'
module implements a `main'-like split for some of the
files.
2012-03-29 14:55:14 -06:00
Matthew Flatt
96e4fa0d13 promote raco test'; demote raco unpack' 2012-03-29 14:55:14 -06:00
Matthew Flatt
876bc6f02b doc corrections and improvements related to submodules
In particular, add `module+' to the Guide.
2012-03-22 15:12:55 -06:00
Matthew Flatt
01f1fd56b4 adjust cm to not cmopile when it's not supposed to use source 2012-03-13 18:46:28 -06:00
Matthew Flatt
5dc08cbe03 decompiler repairs related to changes for submodules 2012-03-12 09:04:37 -06:00
Jay McCarthy
f8325776cf racket/slice, expand raco test, remove begin-for-testing 2012-03-09 19:51:42 -07:00
Jay McCarthy
b73444a0f3 Adding module**, when-testing, and raco test 2012-03-09 15:54:18 -07:00
Matthew Flatt
85802f45f2 raco exe' uses a main' submodule, if any 2012-03-09 10:34:57 -07:00
Matthew Flatt
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -07:00
Matthew Flatt
dc1d4e80dd fix incorrect GC decls hard-wired into xform
Closes PR 12602
2012-02-26 03:58:21 +00:00
Matthew Flatt
2c479683d1 add --launcher'/-l' flag to `raco exe' to create launchers
This addition triggered several other changes:

 * -k for a Mac OS X embedding is now relative to the __PLTSCHEME
   segment (which means that executables won't break if you strip
   them, for example)

 * the command-line no longer has a limited size for Mac OS X
   launchers and embedding executables

 * Mac OS X GUI and Windows launchers record the creation-time
   collection path, unless they are created as "relative" launchers
2012-02-13 16:27:51 -07:00
Matthew Flatt
577f38f649 change `raco demod' test to write to temporary drectory
Also add `-o' option to `raco demod'.
2012-02-10 14:02:12 -07:00
Matthew Flatt
937cdf51d7 change `current-write-relative-directory' to support more path conversions
In particular, allow a pair of a relative-to directory and a base
directory. Paths that syntactically extend the base directory are
recorded as relative to the relative-to directory (which must
syntactically extend the base directory).

The compilation manager now sets the parameter to a pair with
the base directory as the main collection directory, if the source
file's path extends that directory's path.

This generalization solves problems created by cross-module inlining,
where the source location of a procedure in bytecode can now be in a
different file than the enclosing module's file.

Also add a test that checks whether the build directory shows up
in any ".zo", ".dep", or documentation ".html" files.

Closes PR 12549
2012-02-10 06:17:18 -07:00
Matthew Flatt
481e061440 adjust `raco ctool --c-mods' and related to work with places
That is, the generated declare_modules() function registers the
module-declaration code so that it is run in any new place, too.

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
6c4cd0e9c2 fix raco ctool --c-mods' for racket'
Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
6b6d281dee document raco make' flags; add --disable-constant' flag 2012-01-19 13:14:02 -07:00
Matthew Flatt
b51b36869e win64: fix `raco dist'
Merge to 5.2.1
2012-01-17 21:07:07 -07:00
Eli Barzilay
3718600125 2011 -> 2012 2011-12-31 15:16:59 -05:00
Matthew Flatt
26c0ef99ef fix executable distribution creation on Unix 2011-12-19 12:36:16 -07:00
Matthew Flatt
b87a7c0ec9 fix `raco make --no-deps' 2011-12-13 06:13:17 -07:00
Matthew Flatt
788e8bb5f4 fix demod for inline-variant 2011-12-03 06:15:58 -07:00
Matthew Flatt
787437223c remove reference to `compiler/cffi'
Closes PR 12413
2011-12-02 19:44:29 -07:00
Matthew Flatt
779b419c03 first cut at cross-module function inlining
Inline only trivial functions, such as `(empty? x)' -> `(null? x)',
to avoid generating too much code.

Bytecode includes a new `inline-variant' form, which records a
version of a function that is suitable for cross-module inlining.
Mostly, the variant let the run-time system to retain a copy
of the bytecode while JITting (and dropping the bytecode of)
the main variant, but it may be different from the main variant
in other ways that make it better for inlining (such a less loop
unrolling).
2011-11-30 07:39:36 -07:00
Matthew Flatt
58fa3dd6d7 fix non-ELF unix starter creation 2011-11-26 19:59:53 -07:00
Matthew Flatt
ea3cabfc45 remove more Racket-to-C compiler leftovers 2011-11-22 05:50:18 -07:00
Matthew Flatt
243332f429 move .ico support from raco exe' internals to file/ico' 2011-11-16 14:45:32 -07:00
Matthew Flatt
3bffcae3c2 fix places & executable interaction
Added `module-predefined?' and changed `racket -k ...'
2011-11-15 18:42:21 -07:00
Matthew Flatt
b377cafdac mark OS jmpbuf as GC-ignored
This change is intended to make the QNX port work, but it
should also future-proof Racket a little for other platforms.
2011-10-09 10:45:24 -06:00
Matthew Flatt
b6a9330bf1 more `raco exe' cycle repairs 2011-10-07 10:32:49 -06:00
Matthew Flatt
add50ab436 cocoa: undo hack of "-64" suffix on app names
Commit 60101618db seems to address the real problem.
2011-10-07 08:05:25 -06:00
Matthew Flatt
7680adf486 fix compiler bug related to lifting and unbox flonums
As variables are dropped for lifted functions, the bitmap
for flonum closure variables was not shifted down by the
number of dropped variables.

Closes PR 12259
2011-10-05 19:25:59 -06:00
Matthew Flatt
902ea5f7a5 fix `raco exe' for ELF starter 2011-10-04 12:59:18 -06:00
Matthew Flatt
e640041dd6 fix raco exe' for cycles created via define-runtime-module-path' 2011-10-03 08:59:30 -06:00
Kevin Tew
a7b0c33896 QNX porting 2011-09-30 17:03:50 -06:00
Matthew Flatt
0ab6637539 remove obsolete and unused Racket-to-C compiler
Removes `raco ctool -e/-c', `mzc -e/-c', `compile-extensions',
`compile-extensions-to-c', `compile-c-extensions', `compiler/cffi',
`compiler/comp-unit', `compiler:inner^', and most options in
`compiler/option'.
2011-09-20 15:26:39 -06:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Kevin Tew
099e89a297 Fix pr 12205 pass --disable-inline and --vv options through to parallel make 2011-09-20 11:10:56 -06:00
Eli Barzilay
623c7493ed Some selective #:when (not ...)' -> #:unless ...'. 2011-09-16 10:48:18 -04:00
Matthew Flatt
28afc4490e cocoa: distinguish CFBundleIdentifier for 64-bit vs. 32-bit apps
This is another attempt at fixing PR 12135
2011-09-10 10:53:43 -06:00
Matthew Flatt
446fb89af1 avoid clang warnings
The main change is to use C99 flexible array declarations
in structs, instead of declaring single-element arrays.
There are still a few -Wtautological-compare warnings
in 3m due to marco expansion.
2011-09-09 20:45:43 -06:00
Matthew Flatt
ca0d7b5ef4 add ++aux' flag to raco exe' 2011-09-09 17:03:18 -06:00
Matthew Flatt
b1eab296f4 fix demod for `begin-for-syntax' changes 2011-09-08 19:19:14 -06:00
Matthew Flatt
d3c56c9f13 generalized `begin-for-syntax' 2011-09-08 14:06:00 -06:00
Robby Findler
bb71539233 remove extraneous path->string conversion 2011-09-05 08:30:48 -05:00
Matthew Flatt
c5588f87e3 fix mach-o updating 2011-09-01 07:14:05 -06:00
Robby Findler
a98fd7f60b fixed a leak in the compile locking protocol implementation and added better logging 2011-08-31 19:05:08 -05:00
Robby Findler
61aaf584c5 adjust the threading protocol for compilings files to be kill safe 2011-08-30 07:59:33 -05:00
Matthew Flatt
ecc058de4a change `raco exe' to disable collection lookup by default 2011-08-25 09:15:30 -06:00
Matthew Flatt
2dbaa45e1b add `raco unpack'
Although the ".plt" format is going to be replaced, the format is
currently viable for distributing collections, and I have wanted
a raw `unpack' command for a while. It was useful today to fix
problems with `raco pack' and collection links.
2011-08-24 20:08:18 -06:00
Matthew Flatt
a7855e20a8 add `raco link'
includes a rewrite the "Module Basics" section of the Guide
2011-08-24 09:07:14 -06:00
Matthew Flatt
bdadc453e0 fix `compile-collection-zos' 2011-08-21 11:43:59 -06:00
Matthew Flatt
7eb2042bd9 fix compiler handling of top-/module-level constants
The JIT and bytecode compiler disagreed on the definition of
"constant". Now there are two levels: "constant" means constant across
all instantiations, and "fixed" means constant for a given instantation.
The JIT uses this distinction to generate direct-primitive calls
or not. (Without the distinction, a direct jump to `reverse' could
be wrong, because `racket/base' might get instantiated with the
JIT disabled or not.)

Also, fixed a bug in the JIT's `vector-set!' code in the case that
the target vector is a top-/module-level reference that is ready,
fixed, or constant.
2011-08-19 06:32:44 -06:00
Matthew Flatt
f46a0e2519 make compile-omit-paths' apply to scribblings' sources 2011-08-13 07:43:56 -06:00
Robby Findler
e043297ef8 use the supplied security guard in one more place where compiler/cm needs write permission 2011-08-10 07:45:14 -05:00
Matthew Flatt
5352d670c4 generalize #%variable-reference' and add variable-reference-constant?'
Use the new functions to make the expansion of keyword applications
to known procedure work  with mutation.
2011-08-09 16:33:17 -06:00
Robby Findler
337dbf8540 try to use the given security guard when deleting files, too 2011-08-03 23:40:51 -07:00
Robby Findler
32becaf860 added a #:security-guard argument to:
managed-compile-zo
  make-caching-managed-compile-zo
  make-compilation-manager-load/use-compiled-handler
that gets used when compiled files, dep files, and compiled/ directories are created.
2011-08-02 16:28:10 -05:00
Robby Findler
a672704e5e add support for thread-safe compilation to compiler/cm (and use it in drracket) 2011-07-30 09:01:46 -04:00
Matthew Flatt
42f41d868a fix compiler/zo-parse for sequence splice
Merge to 5.1.2
2011-07-22 22:19:58 -04:00
Matthew Flatt
8504996862 fix `raco ctool -e' for syntax taints
Merge to 5.1.2
2011-07-20 14:09:38 -06:00
Matthew Flatt
ab0e78122c revert unnecessary refactoring
--- intended to avoid creating a dependency that already exists

 Merge 5.1.2
2011-07-16 21:02:41 -06:00
Matthew Flatt
7af5d490ad fix cm to configure reader when reading .dep files
Merge to 5.1.2
2011-07-16 19:29:28 -06:00
Matthew Flatt
07a9cdd2a8 fix zo-parse of rename tables 2011-07-13 10:45:19 -06:00
Matthew Flatt
5e49e0adea improve decompiler handling of syntax object 2011-07-08 06:22:40 -06:00
Matthew Flatt
5bc8b67eba fix decompile of define-values-for-syntax 2011-07-07 07:25:48 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Matthew Flatt
98740390fa adapt demodularizer to `compiler/zo-struct' change 2011-07-01 22:46:20 -06:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Matthew Flatt
69ad39d45c fix `compiler/zo-parse' & co. 2011-06-30 08:24:41 -06:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Matthew Flatt
c7d86ed3a6 mach-o: fix generating embedding executables
aimed at fixing DrRacket startup on Lion
2011-06-17 08:46:09 -06:00
Eli Barzilay
fc1b974cd2 Fix "zo-parse.rkt" wrt the inclusion of `identity' in mzlib/etc, and
switch to racket (making `begin-with-definitions' redundant).
2011-06-07 13:06:13 -04:00
Matthew Flatt
8ad8d5b7f7 fix tl-map parse & marshal 2011-05-09 12:24:05 -06:00
Matthew Flatt
a4da2a3f4c fix varref' in compiler/zo-structs', etc.
and sync docs better with implementation
2011-05-09 09:43:32 -06:00