Commit Graph

3953 Commits

Author SHA1 Message Date
Matthew Flatt
d47d036239 cs: fix dynamic-wind on chaperoned procedure 2018-11-17 15:58:46 -07:00
Matthew Flatt
64069a5792 cs: initialize error-value->string-handler per place
Closes #2377
2018-11-17 15:15:23 -07:00
Matthew Flatt
f6eb956199 cs: fix error with a single symbol argument
Closes #2379
2018-11-17 15:06:55 -07:00
Matthew Flatt
c1c110f662 makefile: accomodate current Mingw-64
As of version 5.0.5, Mingw-64 adds an ".exe" extension even if it's
not in the `-o` argument. Adjust the makefiles to consistently use
".exe".
2018-11-17 15:03:15 -07:00
Matthew Flatt
c44c8b9cc0 cs: implement best-effort-ordered hash table traversal 2018-11-16 16:53:54 -07:00
Matthew Flatt
a6e37fc947 racket/fasl: improve determinism of output
When traversing hash tables, try to sort the keys.
2018-11-16 16:36:56 -07:00
Matthew Flatt
624918d399 expander: remove obsolete and broken to-source? compile mode
Source mode was a leftover from early iterations of the expander. A
bootstrapping mode that uses replacement `compile-linklet`, etc.,
turned out better.
2018-11-16 16:21:28 -07:00
Matthew Flatt
709258d88c reorganize and update "README.txt"s about sources and builds
Integrate Racket-on-Chez information better and reorganize information
to reflect the way that the makefiles and build scripts have evolved.
2018-11-16 07:49:53 -07:00
Matthew Flatt
337aec3436 cs: fix -C flag to set (system-type 'cross) 2018-11-15 18:17:05 -07:00
Matthew Flatt
7c1326a120 io: fix subprocess waiting for Windows 2018-11-15 14:57:09 -07:00
Caner Derici
331b383103 fasl: make sure every write-bytes know where to write (#2373)
adding tests that fail without this fix
2018-11-15 16:53:53 -05:00
Matthew Flatt
06101ffb89 cs & io: fix current-directory initialization 2018-11-15 10:02:57 -07:00
Matthew Flatt
6d1b287467 io: fix (find-system-path 'orig-dir) 2018-11-15 09:37:28 -07:00
Matthew Flatt
a6cc19648f cs: allow Racket framework to find itself not in "CS"
The installer-signing process can copy the framework to an application
directory that does not have "CS" in its name.
2018-11-15 06:35:03 -07:00
Matthew Flatt
a9b02d5956 schemify: fix some function names when saving "bytecode" 2018-11-15 05:29:36 -07:00
Matthew Flatt
3e480f1c93 io: fix current-directory and related parameters
For consistency with traditional Racket, the guards need to be
implemented through derived parameters instead of chaperones.
2018-11-15 05:29:36 -07:00
Matthew Flatt
caf28648e3 cs: fix schemify of non-rator call-with-values 2018-11-15 05:29:36 -07:00
Matthew Flatt
4068b9097d io: fix some test failures 2018-11-15 05:29:36 -07:00
Matthew Flatt
1e726581ef io: TCP port does not count as a file-stream port 2018-11-15 05:29:36 -07:00
Matthew Flatt
bf7eee0f65 thread: fix atomic-timeout-callback implementation
Closes racket/drracket#238
2018-11-14 16:59:16 -07:00
Sam Tobin-Hochstadt
cf34c22380
fasl: find shared values in hash tables. (#2371)
Also, add test to check sharing of uninterned symbols.
2018-11-14 18:45:54 -05:00
Matthew Flatt
c51616ecfd cs: fix typo in Windows build script 2018-11-14 15:47:57 -07:00
Matthew Flatt
60a6dc1796 setup: adjust command-name hack for case-insensitive Windows 2018-11-12 14:58:30 -08:00
Matthew Flatt
0b7072eed3 cs: communicate DLL directory to rktio
rktio needs the DLL directory path to load iconv.
2018-11-12 15:50:14 -07:00
Paulo Matos
28a28e4244 Use constant defined in header 2018-11-12 15:34:44 -07:00
Matthew Flatt
ccbef59e96 io: print: handle paths that don't convert cleanly to a string 2018-11-12 14:33:09 -08:00
Matthew Flatt
7abfdab35e io: repair directory-list for Windows 2018-11-12 14:25:44 -08:00
Matthew Flatt
9e4ebd9196 rktio Windows: fix truncate-file to not move file position
A call intended to restore the position was in place, but it
was wrong.
2018-11-12 09:37:02 -08:00
Matthew Flatt
8e4cecf215 io: flush before performing file truncate
For consistency with traditional Racket and currently matters on
Windows. The Windows implementation of file-truncate should probably
not move the file position as it does, though.
2018-11-12 09:59:35 -07:00
Matthew Flatt
0d4674a6e1 cs Windows: fix manifest on GRacket 2018-11-11 07:18:34 -08:00
Matthew Flatt
7ab69142f4 cs: fix exec-file and run-file setup
Allow embedded command-line argument to adjust exec-file, for
example.
2018-11-11 08:11:17 -07:00
Matthew Flatt
f10e6d43bf rktio: avoid triggering console when starting a place 2018-11-11 05:57:03 -08:00
Matthew Flatt
67b721e5b7 Windows: move on-demand console to rktio
In GUI-application mode (e.g., running GRacket), a console is allocated
on demand if a program tries to use the original ports. Move that
on-demand handling into rktio, where it's simpler and works for
RacketCS.
2018-11-11 06:14:22 -07:00
Matthew Flatt
7fa31684e9 io: show a string as a port name 2018-11-10 15:18:09 -07:00
Matthew Flatt
d0fab4027b net/win32-ssl: repairs for CS 2018-11-10 14:17:07 -08:00
Matthew Flatt
350ecf3d49 expander: don't duplicate properties in 'origin handling
One more take on the problem addressed by 990e1f1e30. This adjustment
avoids copying properties from the original form to the identifier
that is preserved in 'origin.
2018-11-10 07:52:04 -07:00
Paulo Matos
fca1c430af Fix typo 2018-11-10 08:43:12 -03:00
Matthew Flatt
90aac96cde expander: fix taint problem with 'origin handling
Repairs a problem with commit 990e1f1e30.
2018-11-09 20:50:10 -07:00
Matthew Flatt
990e1f1e30 expander: fix origin tracking for int-defn contexts
Closes #2346
2018-11-09 13:51:16 -07:00
Alexis King
bc34ba884b Reinstate the stop list after #%module-begin performs partial expansion 2018-11-08 19:13:03 -06:00
Matthew Flatt
b7c2359026 compiler/cm: adapt as intended to old .dep files
Try again on 1293674ddb.
2018-11-03 17:05:34 -04:00
Matthew Flatt
1293674ddb compiler/cm: don't misue old .dep files
The `get-compiled-file-sha1` function assumed that a ".dep" file is
up-to-date when present. That may not be consistent with all uses,
including in `file-stamp-in-paths` as used by DrRacket for "populate
compiled", and an old file can go wrong with the recent ".dep" format
change. Make `get-compiled-file-sha1` at least check the version on
the ".dep" content before trying to use it.

Relevant to #2354
2018-11-02 20:28:08 -06:00
Alexis King
93def1f753 Fix stream contracts to work with impersonator contracts 2018-11-02 11:24:39 -05:00
Matthew Flatt
62a674fa80 io: exn:fail:network for TCP-port errors 2018-11-02 05:00:16 -07:00
Matthew Flatt
6a7f9773d1 cs: fix _stdbool 2018-11-01 16:49:10 -06:00
Kevin Robert Stravers
22cf2750a7 cmdline: three/four items -> three items 2018-11-01 14:48:20 -05:00
Leif Andersen
209a90d281
Make racket/private/serialize-struct cross-phase (#2270)
This makes sense because a serializable struct should probably remain
serializable, even if it was inserted into a bit o' 3d syntax.
2018-10-30 15:41:08 -04:00
Matthew Flatt
c0fac954e1 windows: declare Windows 10 compatibility in manifest 2018-10-30 09:55:33 -07:00
Matthew Flatt
7e926d1d86 raco exe: fix alignment in PE resource writer 2018-10-30 09:55:33 -07:00
Matthew Flatt
b9c042329b cs makefiles: fix a make that should be $(MAKE)
Relevant to #2344
2018-10-29 20:42:03 -06:00
Matthew Flatt
0242a46396 cs: more portable approach to errno
Have the main Racket executable export a function to get errno, which
avoids portability problems trying to access it via the FFI.

Related to #2344
2018-10-29 20:39:01 -06:00
Matthew Flatt
063fa65872 cs: add (system-type 'machine)
Closes #2343
2018-10-29 20:10:13 -06:00
Ryan Culpepper
ec406dd301 cs: fix lookup-errno 2018-10-29 11:12:58 +01:00
Matthew Flatt
933e3c14b5 bytecode: fix "preserves marks" annotation w.r.t call/immediate-mark
A function that uses `call-with-immediate-continuation-mark` in tail
position should not be flagged as "preserves marks", because the JIT
needs to bump the mark stack if the function is called in non-tail
position.

Closes #2333
2018-10-28 18:52:41 -06:00
Matthew Flatt
d1fe6a6e3e repair allocation bug in delimited continuations
The repair is more precisely a repait to xform, which incorrectly
parsed a C function definition that starts "struct" as a struct
declaration. (The function starts "struct" because the return type is
"struct Scheme_Overflow_Jmp *".) Since the function wasn't recognized,
xform didn't convert it to cooperate with the garbage collector.

Closes #2341
2018-10-28 17:09:45 -06:00
DarrenN
2dc96b365a Implement hash/c random generate and exercise 2018-10-28 14:37:59 -05:00
Matthew Flatt
dbcc9dddc3 xform: updates for recent MinGW 2018-10-28 13:14:14 -06:00
Matthew Flatt
b5084977c0 cs Windows: fill in GUI mode for GRacket
Still need to create console on demand.
2018-10-28 13:14:14 -06:00
Matthew Flatt
a24c6fe4f9 cs Windows: move kernel and boot files to DLL 2018-10-28 11:37:04 -06:00
Matthew Flatt
c6a3d4629d cs: register a nul-terminated byte string for WM_CLASS 2018-10-27 15:22:00 -06:00
Matthew Flatt
a08aed7dde configure help: clarification on --enable-sgcdebug
Closes #2340
2018-10-27 13:43:38 -06:00
Paulo Matos
c6a2843ba2 Fix simple typo in configure help message 2018-10-27 13:42:24 -06:00
Paulo Matos
071406d10d Mark variables as used so they are not removed by LTO
Fixes #2324
2018-10-27 13:39:12 -06:00
Matthew Flatt
de53dc3c5e cs: add Windows GRacket.exe 2018-10-27 13:23:40 -06:00
Matthew Flatt
c128c5aad6 cs: support ptr-ref and ptr-set! on string types 2018-10-27 11:14:42 -06:00
Matthew Flatt
3f6a7b3e06 cs: add icon and other resources to RacketCS.exe 2018-10-27 11:14:42 -06:00
Matthew Flatt
457a673506 Windows: avoid environment variables with empty name 2018-10-26 13:42:16 -07:00
Matthew Flatt
29a80fd7e5 io: repairs for Windows environment variables 2018-10-26 14:19:54 -06:00
Matthew Flatt
23648ba165 cs: repairs relevant to running `racket/gui/ programs on Unix 2018-10-26 14:05:33 -06:00
Matthew Flatt
3b9bc21304 cs: repairs to Windows build client 2018-10-26 11:04:45 -06:00
Matthew Flatt
7d86fddbdc cs: add strip on install for CS executables 2018-10-25 11:30:17 -06:00
Matthew Flatt
c0f14373ab cs: on Linux record embedded boot relative to ".rackboot" section 2018-10-24 21:06:11 -06:00
Matthew Flatt
8c3956a272 cs: update Windows build
Support non-"CS"-suffix mode, and avoid installing bytecode for
traditional Racket when builing a bootstrap traditional Racket.
2018-10-24 18:44:23 -07:00
Alexis King
af554933ef Fix arity mask upper bound calculation in curry
fixes #2332
2018-10-24 12:16:09 -05:00
Matthew Flatt
fce5554695 io: fix tcp-abandon-port so that the socket gets closed 2018-10-24 09:53:00 -06:00
Ryan Culpepper
e8832fbcc7 cs: remove plumber flush callback when custodian closes fd output port
Previously, the following program would print "error writing to
stream port" on program exit.

  (define cust (make-custodian))
  (define out
    (parameterize ((current-custodian cust))
      (open-output-file "test.data" #:exists 'truncate)))
  (write-string "This needs flushing...\n" out)
  (custodian-shutdown-all cust)
  (exit 0)
2018-10-24 17:46:29 +02:00
Ryan Culpepper
ddba2812ba cs: fix unsafe-file-descriptor->port mode 2018-10-24 17:46:29 +02:00
AlexKnauth
df19625c6c syntax/parse: fix Check-Syntax arrows within syntax classes 2018-10-24 17:45:30 +02:00
Matthew Flatt
23f6d2b43f cs: setup compiled subdirectory for gracket like racket 2018-10-23 21:38:43 -06:00
Sam Tobin-Hochstadt
423ce5e5a2 This file doesn't need match. 2018-10-23 11:56:49 -04:00
Matthew Flatt
8473666af3 cs install: remove old file before coying new files into place 2018-10-23 09:45:53 -06:00
Ryan Culpepper
d4691fb219 fix flush-output when write-out is port indirection 2018-10-23 12:00:31 +02:00
Matthew Flatt
31d35ebe88 cs: another fix for racketcs linking configure on Linux 2018-10-22 20:38:29 -06:00
Matthew Flatt
76f868f287 cs: fix racketcs linking configure for Linux 2018-10-22 20:32:07 -06:00
Matthew Flatt
f8e6b22544 cs: fix makefile chaining for bootstrap Racket variant 2018-10-22 20:14:50 -06:00
Matthew Flatt
7481eb6fed update another test for the VM identifier in bytecode 2018-10-22 19:53:21 -06:00
Matthew Flatt
cbd195201a cs: disable use of ncurses when building Chez Scheme
RacketCS doesn't currently access the Chez Scheme expeditor, and
avoiding curses make the build work in a more mininal environment.
2018-10-22 19:18:35 -06:00
Matthew Flatt
aa6ec1f0cd comiler/compile-file: adapt to use-compiled-file-paths setting 2018-10-22 17:14:49 -06:00
Matthew Flatt
9498c521cf cs: make build without "cs" suffix use "compiled" directly
When building RacketCS as just "racket", put compiled files in
"compiled" instead of a platform-specific subdirectory.
2018-10-21 18:27:00 -06:00
Matthew Flatt
8bed64f44f add virtual-machine identifier to bytecode and ".dep" files
So far, bytecode for traditional Racket has been kept separate from
RacketCS bytecode by using a different "compiled" subdirectory for
RacketCS. That makes sense for development work to allow the
implementations to coexist, but it creates trouble for packaging and
distributions, and it (hopefully) won't seem necessary in the long
run. Treating the different virtual machines like different versions
seems more generally in line with our current infrastructure.
2018-10-21 17:33:24 -06:00
Matthew Flatt
e3f25a6159 reorder configure scripts
Run last one of the scripts that can show the
installation-directory information correctly.
2018-10-21 08:07:45 -06:00
Matthew Flatt
3c4fa62e28 cs: configure and makefile corrections for --prefix installation 2018-10-21 07:40:18 -06:00
Matthew Flatt
abc5c9cdef cs: propagate CC, etc., to Chez Scheme configure 2018-10-21 06:38:12 -06:00
Matthew Flatt
51258bc77c cs: add support for -A 2018-10-21 05:59:00 -06:00
Matthew Flatt
de98529c13 cs configure: support SDK options
For example, enable a 32-bit Mac OS build.
2018-10-21 05:59:00 -06:00
Matthew Flatt
3591a685fc reorganize configure to better support racketcs
Rearrange the configure scripts so that it will be possible to build
RacketCS from a source distribution and have it installed in the right
place. Also, when building Racket3m just to bootstrap RacketCS, don't
install Racket3m.
2018-10-20 20:19:36 -06:00
Matthew Flatt
0f18df2c1a makefile: set up for cs client build 2018-10-20 20:19:36 -06:00
Matthew Flatt
18f7b96828 makefile: add way to build RacketCS as racket 2018-10-19 11:19:44 -06:00
Matthew Flatt
8f7a5b6dd5 Add Racket HISTORY.txt note for v7.1 2018-10-19 07:42:55 -06:00
Matthew Flatt
b1dfb61223 racocs exe: fill in implementation 2018-10-17 12:55:53 -06:00