Commit Graph

38705 Commits

Author SHA1 Message Date
Matthew Flatt
1d74c214a1 racket/HISTORY.txt: update for v6.10
Merge to v6.10
2017-07-19 08:00:32 -06:00
Matthew Flatt
0f549823c4 call-with-immediate-continuation-mark: fix docs
Closes #1747
2017-07-18 06:42:53 -06:00
Matthew Flatt
808bd1b897 raco setup: adjust --clean mode
Make `raco setup` propagate the original value of
`use-compiled-file-paths` in case it's reset to avoid loading bytecode
files. Then, `--clean` mode can remove bytecode relevant to that
setting, instead of always clearing "compiled" subdirectories.

There's no external way to initialize `use-compiled-file-paths` right
now, other than forcing it to `null` with the `-c` flag at the
`racket` level, but the current "racket7" implementation uses
different `use-compiled-file-paths` settings for different build
modes, and it seems to make sense in general.

Also, make `--clean` sensitive to `-D` and `-d`, so that it's easy to
clean just bytecode.
2017-07-17 14:45:43 -06:00
Robby Findler
5ecbc54fff fix recursive-contract's name patch up code 2017-07-16 16:52:14 -05:00
Ryan Culpepper
83540d1ae6 fix literal-set test
Merge to release branch.
2017-07-14 13:28:21 -04:00
Matthew Flatt
ac43a93a13 fix arg order in errors for JIT-inlined {string,bytes}=?
Closes #1741
2017-07-14 09:16:39 -06:00
Matthew Flatt
d081586959 fix immutability of some syntax-e results
Internally, when scopes are propagated to nested syntax objects,
vectors and boxes were not reconstructed as immutable.

Closes #1745
2017-07-14 07:37:55 -06:00
Matthew Flatt
2e77279be0 syntax: fix guard for multiple pattern variables under ...
Fix the part of `syntax`/`datum` that determines whether an exception
handler is needed to convert an error from `map` to one from
`syntax`/`datum`.
2017-07-14 06:58:58 -06:00
Matthew Flatt
a22a3852c6 remove unused code in "foreign.c" 2017-07-14 06:58:58 -06:00
Leif Andersen
cca6db4ff0
Add links for examples to contracted functions.
is-a?/c -> is-a?
implementation?/c -> implementation?
subclass?/c -> subclass?
2017-07-11 12:30:45 -04:00
Ben Greenman
5c382d7162 doc: typos in file/gif and file/unzip contracts
- missing `for-label` in `file/gif`
- typo in `file/unzip`
2017-07-10 16:52:06 -05:00
Ben Greenman
1a81f205cc doc: add missing 'for-label' to 'syntax/srcloc' 2017-07-10 16:52:06 -05:00
Vincent St-Amour
0f5e95ea33 Use actual contracts in json docs.
Closes #1725
2017-07-07 14:55:18 -05:00
Vincent St-Amour
5f740ffcac Fix typesetting of inpersonator-of docs. 2017-07-07 14:55:18 -05:00
Vincent St-Amour
73e08a2aa9 Post-release version for the v6.10 release 2017-07-07 14:19:46 -05:00
Matthew Flatt
f0fe0a4635 remove copy of startup code in racket/private/collect
The copy was made in c1c427a281 to help get "racket7" started, but
it's no longer needed. Using the copy had an unintended consequence of
duplicating the collection-search cache for phases other than phase 0,
so this change repairs that consequence.
2017-07-05 07:36:03 -06:00
Matthew Flatt
6d58b11af9 add racket/private/check
The `racket/private/check` module is dead code in this repo, but
having it simplifies the "racket7" bootstrap when "racket7" goes so
wrong that it can't rebuild itself.
2017-07-05 07:36:03 -06:00
Ben Greenman
5917f92ac1 typo: remove extra period in vectorof docs 2017-07-04 13:03:22 -04:00
Matthew Flatt
c082d77c97 raco exe: fix stripping of signature from Mach-O executables
To strip a signature, the old implementation effectively guessed
at the padding that was added to the original linkedit segment
to acommodate 16-byte alignment of the signature. The repaired
stripping works out the actual end of the linkedit segment based
on the various load commands that refer to it.
2017-07-03 09:33:17 -06:00
Matthew Butterick
442c2fdfaf Correct typo
`bust be an` → `must be a`
2017-07-02 22:58:33 -04:00
Matthew Flatt
b2b53d61a1 fix test that uses IPv6
Closes #1738
2017-07-02 20:07:55 -06:00
Matthew Flatt
340b878981 udp-send-to: fix deallocation bug related to rktio refactoring
The bug caused an attempt to free NULL as an addrinfo, which is
apparently ok on many OSes, but not all.
2017-07-02 14:27:59 -06:00
Matthew Flatt
ed8145e0d2 fix doc typo 2017-07-02 14:26:59 -06:00
Matthew Flatt
af7a520102 rktio: header and extraction improvements for FFI 2017-06-29 14:36:43 -06:00
Matthew Flatt
63146e5451 ffi/unsafe/custodian: handle already-shutdown custodians 2017-06-29 14:36:42 -06:00
Matthew Flatt
eb24c1e0b1 find-relative-path: correct contract in docs
Also, avoid a test on Windows that can't work there.
2017-06-29 13:26:24 -06:00
Matthew Flatt
7939e32a57 docs: fix {read,peek}-{byte,char}-or-special argument order 2017-06-29 13:20:57 -06:00
Daniel Feltey
e289750b03 Fix box/c typo/bug
Previously non-flat box/c contracts would always use the `write` contract to
check the contents of the box rather than the `read` contract.
2017-06-28 14:48:35 -05:00
Ben Greenman
04c1c15d89 bug: add guard against string-paths in 'find-relative-path'
Add guard, if first argument to `find-relative-path` is not a path,
 then don't call `path-convention-type` on it.

Thanks to Jack Firth for reporting:
https://github.com/racket/rackunit/pull/46
2017-06-28 10:19:50 -04:00
Sam Tobin-Hochstadt
f9a39531e9 Fix a very old race condition in this test.
Probably exposed by the rktio changes.
2017-06-26 17:56:23 -04:00
Matthew Flatt
76711dfb50 net/git-checkout: adjust ADLER32 check to work with streaming
Don't for an inflated stream to be held completely in memory.
2017-06-26 13:49:18 -06:00
Lehi Toskin
d7db2aff59 net/git-chckout: check ADLER32 after inflate
Check ADLER32 after inflate, instead of assuming that the inflated bytes
are correct.
2017-06-26 13:48:10 -06:00
Matthew Flatt
06a6d290fd rktio: fix bug merging fd sets when poll() is not available 2017-06-25 11:08:53 -06:00
Matthew Flatt
3e8ad02334 rktio: add some missing #includes in some configurations 2017-06-25 08:39:05 -06:00
catull
95ddfa4972 Typo: (fir l) was probably meant to be (fist l). 2017-06-25 01:18:50 -04:00
Matthew Flatt
7a8145875c rktio: configure adjustment intended to fix OpenIndiana build 2017-06-24 17:07:33 -06:00
Ryan Culpepper
44eb5532ad syntax/parse: add ~or* and ~alt, like ~or{S,H} and ~or{EH}, respectively 2017-06-24 17:07:55 -04:00
Alexander McLin
113049607a Changed the code to pass through the prep-status to the outer HANDLE so
error reporting is uniformly handled and any SQL_BUSY errors are properly identified.
2017-06-24 17:06:42 -04:00
Alexander McLin
ed481865cf Based on PR #1704 feedback, rename copy-buffer to trim-and-copy-buffer and
adjust `string-trim` to only perform right-wise trimming of the buffer.
2017-06-24 17:06:42 -04:00
Alexander McLin
dfd585db33 Any well-formed single statement query which is terminated by a semi-colon and has extra space after the semi-colon raises 'multiple statements given' error.
The cause is any extra space after a terminating semi-colon in a SQL string passed to sqlite3_prepare_v2 procedure in the prepare1* method of `db` Sqlite3 connection% implementation will result in non-false tail and zero prep-status values being returned. The checking code sees the non-false tail value and raises the "multiple statements given" exception.

The easy fix is to trim any trailing whitespace by calling string-trim on the buffer string before its converted to a byte string in the copy-buffer procedure used by sqlite3_prepare_v2 to initialize the sql-buffer.

See Issue #1702
2017-06-24 17:06:42 -04:00
Alexander McLin
31d7dd0317 Certain malformed queries such as "SELECT ,* FROM SomeTable" (which has an incorrect extra comma) raise "multiple statements given" error while Sqlite3 actually generates a syntax error that doesn't get returned as a raised exception.
The same problem is encountered when executing a DDL statement such as "Create Table" more than once after the table had already been created by the first execution.

The cause is when sqlite3_prepare_v2 encounters a bad statement, it aborts the preparation, sets prep-status flag to non-zero and also sets tail? to be non-false.

The previous code ignored the prep-status flag and only checked tail? and raises "multiple statements given" exception when tail? is non-false.

The new code takes prep-status into account and extracts the actual Sqlite3 error message by evaluating get-error-message and raising it as an exception.

See Issue #1702
2017-06-24 17:06:42 -04:00
Matthew Flatt
5dbeb39a01 rktio: fix configure detection of iconv 2017-06-24 07:37:40 -06:00
Matthew Flatt
c5022c5d4f rktio: fix small header problems 2017-06-24 07:35:07 -06:00
Matthew Flatt
990a1d7154 rktio: further improve header declarations
Also, add variants of `rktio_read` and `rktio_write` that can be more
convenient to use through an FFI.
2017-06-23 19:50:19 -06:00
Matthew Flatt
316df0af7a rktio: add standalone build mode
Also, add a script to extract the "rktio.h" header information to an
S-expression form suitable for FFI use, and refine the "rktio.h"
information to improve that output.
2017-06-23 13:08:02 -06:00
Matthew Flatt
81f1c90ee0 small corrections reader docs
Fixes inaccuracies discovered when reimplementing
the reader in Racket.
2017-06-22 15:00:00 -06:00
Matthew Flatt
3c07250db4 fix printer for (unquote @d)
Avoid printing `(unquote @d)` or `(unsyntax @d)` as `,@d` or `#,@d`,
which would mean `(unquote-splicing @d)` or `(unsyntax-splicing @d)`
to the reader, by adding an extra space before the `@`.
2017-06-22 15:00:00 -06:00
Matthew Flatt
4bbe7a241d doc clarification for parameterize-break 2017-06-22 12:59:02 -06:00
Matthew Flatt
8473c1d4a8 raco pkg install: error message improvement
When a package to be installed has a module that conflicts with an
existing installed module, but the existing module isn't in a package,
then say so explicitly in the error message. Also report the current
collection and links paths.

Error reporting could do even more work to figure out which path is
relevant, but reporting a list of paths is relatively easy. Listing
paths also seems likely to give a user enough hints for this rare
case, especially if the user just needs to be reminded that collection
links exist.
2017-06-22 12:40:09 -06:00
Matthew Flatt
0d2908f824 regexp docs: minor corrections
Fixes inaccuracies discovered when reimplementing
regexp matching in Racket.
2017-06-22 12:25:43 -06:00