Commit Graph

621 Commits

Author SHA1 Message Date
Matthew Flatt
408031a01d launcher: fix "extreg.rktd" in user's space
Closes PR 14176
2013-11-19 18:07:07 -07:00
Asumu Takikawa
8323e679eb Add channel contracts 2013-11-19 01:41:05 -05:00
Robby Findler
d2fd37c251 attempt to add a little more information
to help diagnose this (and related) failures:

http://drdr.racket-lang.org/27793/pkgs/drracket-pkgs/drracket-test/tests/drracket/easter-egg.rkt
2013-11-18 21:49:30 -06:00
Robby Findler
62615f492d quote a name in an error message 2013-11-18 21:49:30 -06:00
Matthew Flatt
a88aa3c428 fix JIT slow path for bitwise-bit-set?
I'm having trouble producing a small test that triggers the bug, but
I'll keep trying.
2013-11-18 17:41:04 -07:00
Ryan Culpepper
ff19b9a74d fix custom deserialize-info
The deserialize fallback fails on modules that contain both custom
deserialize-info definitions and uses of serializable-struct.
2013-11-17 17:58:03 -05:00
Matthew Flatt
b520b66c4e restore old Scribble default style, but make new style default for manuals
Using
 #lang scribble/base
produces HTML output in the old style, while
 #lang scribble/manual
uses the new style.

To get the new style without switching to `#lang scribble/manual`,
use `manual-doc-style`.

Related changes include the addition of `css-style-addition` and
`js-style-addition`.
2013-11-16 14:38:59 -07:00
Matthew Flatt
38752b2aa2 fix build for platforms with disabled threads + inline allocation 2013-11-14 07:43:21 -07:00
Matthew Flatt
6e983482bb add flrandom and unsafe-flrandom 2013-11-13 13:40:15 -07:00
Matthew Flatt
8039f8177d make random slightly faster on 64-bit machines in integer mode
Exploit the fact that a 32-bit range fits in a fixnum.
2013-11-12 20:17:03 -07:00
Matthew Flatt
c81a468bc4 annotate some primitives as "immediate"
This annotation is useful mainly for functions that might be called
frequently from JIT-generated code.
2013-11-12 20:17:03 -07:00
Matthew Flatt
13a3c6c5c8 raco pkg: adjust error messages that include command-line flags
A new `#:from-command-line?` argument to various functions indicates
whether error messages should try to suggest command line flags (since
the suggested flags do not make sense for other contexts, such as the
GUI package manager).
2013-11-12 09:12:56 -07:00
Matthew Flatt
cb943909e4 raco pkg update: implies package dependencies are always updated
.. where "always" means "unless `--ignore-implies` is specified".
2013-11-12 09:12:56 -07:00
Matthew Flatt
9afa50b459 fix runtime-require duplicate path registration 2013-11-11 05:27:08 -07:00
Matthew Flatt
abe3647b67 fix deserialize submodule fallback
Fallback checked original module only if `deserialize-info` was
missing, but it's possible to have a mixture of `deserialize-info`
and original-module exports.
2013-11-08 20:15:26 -07:00
Matthew Flatt
90142edc5b serializable-struct, etc.: export deserialization info in submodule
This change is slightly incompatible, because `serializable-struct`,
`define-serializable-struct`, and `define-serializable-class` no
longer `provide` and identifier that they used to. Instead, the identifier
is provided by a `deserialize-info` submodule.

The deserializer looks for a `deserialize-info` submodule, and then
falls back to using a module if the submodule is not available.
2013-11-08 18:13:43 -07:00
Matthew Flatt
846c247aa3 raco exe: fix problem with dynamically resolved relative submodules 2013-11-08 18:13:43 -07:00
Matthew Flatt
ae941ac9d8 racket/runtime-path: add runtime-require
The `runtime-require` form is especially useful for ensuring
that a submodule will be pulled along with its enclosing module.
2013-11-08 18:13:42 -07:00
Matthew Flatt
8722653664 fix some misleading error messages
The misleading message that dropped submodule paths.
2013-11-08 18:13:42 -07:00
Vincent St-Amour
1bf4429e49 Add `module*' to syntax/parse's kernel-literals. 2013-11-08 16:43:08 -05:00
John Clements
63194b4229 adjusted arg to raise-argument-error to produce sensible error msg 2013-11-07 20:05:51 -08:00
Matthew Flatt
ab1e54ff4a raco pkg: repairs for SQLite-based catalogs 2013-11-06 15:55:50 -07:00
Matthew Flatt
2872f83a17 raco pkg: use a download cache
Downloaded files are keyed on the source URL and checksum, and the
cache is used only when a checksum is known.

The cache addresses two situations:

 * when installing many packages over an unreliable connection,
   the cache effectively lets a retry pick up where a previous
   attempt failed

 * when creating clean builds frequently, the downloads from a
   previous build can be reused (as long as the package's checksum
   does not change)

The cache location and limits are configurable, and they default to
a subdirectory in the user's add-ons directory (not version-specific),
1024 files, and 64 MB.

If a failure happens during staging (checksum and unpackaging) of a
package that has an entry in the cache, the entry is removed. The
file-cache library, meanwhile, implements a limit on the cache size
and defends against uncooperative filesystems.
2013-11-06 15:15:56 -07:00
Matthew Flatt
0ac601db66 add file/cache
In base, so it can be used by the package manager.
2013-11-06 14:36:43 -07:00
Matthew Flatt
02bbccc200 call-with-file-lock: fix port leak on error escape 2013-11-06 14:36:43 -07:00
Jay McCarthy
3d15fb3c1d Fix PR14142 by allowing 'tolerant' line endings acording to Appendix B of the HTTP spec 2013-11-05 11:03:06 -07:00
Jay McCarthy
b61198ec3f Fix PR 14140 2013-11-04 15:50:03 -07:00
Matthew Flatt
d23d2f8c5b path-replace-suffix: raise exception when result should be an empty path 2013-11-03 10:04:00 -07:00
Matthew Flatt
afcecc73f1 {string,bytes}->path-element: error on empty [byte] string 2013-11-03 09:57:26 -07:00
Matthew Flatt
f6cfd14c5e shutdown custodian-managed subprocesses on exit 2013-11-03 09:25:15 -07:00
Matthew Flatt
b431d8fea1 launcher ".desktop" handling: preserve existing Exec= content 2013-11-02 20:37:36 -06:00
Matthew Flatt
31d6b02d92 configure: DragonFly is like OpenBSD 2013-11-02 20:37:36 -06:00
Matthew Flatt
97d92ddb97 xform: more intrinsics to ignore 2013-11-02 20:37:35 -06:00
Matthew Flatt
fec1c8c115 avoid some compiler warnings 2013-11-02 20:37:35 -06:00
Juan Francisco Cantero Hurtado
39bcfb5871 drop unneeded #include
The "sys/param.h" header was used to check the OpenBSD version.
It's not needed, anymore.
2013-11-02 12:33:12 -06:00
Matthew Flatt
a5c655c716 guide: small edits to concurrency chapter
Also, split sections on futures and places into a "parallelism" chapter.
2013-11-02 12:32:46 -06:00
Robby Findler
40f7ab2ba4 Sorry all; stupid mistake
This reverts commit 90fc899b36.
This reverts commit 780fb37c0d.
This reverts commit 9e54b2bc1b.
This reverts commit 43a584f710.
2013-11-02 09:51:10 -05:00
Robby Findler
9e54b2bc1b IN PROGRESS: working on rect support for error messages for 2d cond 2013-11-02 09:04:14 -05:00
Robby Findler
43a584f710 IN PROGRESS: enable opt/c on provide/contract and define/contract (via with-contract) 2013-11-02 09:04:14 -05:00
Matthew Flatt
7f947d7b14 db/sqlite3: fix memory-management problem
The sqlite3_prepare[_v2]() function takes a byte-string pointer
for a query and returns a pointer into the byte string. That
pointer can be odd-valued, in which case the GC doesn't treat
the pointer as a reference to the byte string (even when the
string is allocated with 'atomic-interior), so arrange for the
original pointer to be retained.
2013-11-01 22:27:42 -06:00
Asumu Takikawa
90bfbcbec8 Update HISTORY 2013-11-01 13:50:27 -04:00
Asumu Takikawa
1f700947d4 Add channel chaperones
These chaperones only protect the "put" end of the
channel and use evt chaperones to protect the "get"
end.
2013-11-01 13:31:17 -04:00
Matthew Flatt
fac247d340 Mac OS X: support Retina mode
Seems to work for Mac OS X 10.9 (Mavericks), at least.

In Retina mode, a drawing unit corresponds to two pixels on
the screen or in a bitmap created by `make-screen-bitmap'.
In particular, a bitmap created by `make-screen-bitmap' is
actually twice as big in each dimension as requested, and the
bitmap is scaled when transferring to other drawing contexts.
When transferring onto the screen, scalings cancel so that the
result looks right.

Adds `get-display-backing-scale` to `racket/gui/base`, and
also `get-backing-scale` to `bitmap%`.

To do: add a way to set the backing scale of a bitmap. That
option will provide a way to give controls higher-resolution
bitmaps as labels.
2013-10-31 08:50:22 -06:00
Matthew Flatt
d80e6fac7f update GMP for x86 and clang 2013-10-31 08:43:00 -06:00
Matthew Flatt
d07bd11495 Makefile: make PLT_SETUP_ARGS work more sensibly
Make sure it's at the end of the `raco setup` command line, and set
the executable name to "raco" instead of "raco setup" so that the `-l`
flag is effectively implied.
2013-10-25 15:59:53 -06:00
Ryan Culpepper
016d6849fc tests, doc edits, and minor changes for unix sockets 2013-10-23 19:32:11 -04:00
Jan Dvořák
408a0a35a4 unix sockets: reworked to support abstract namespace
Rewritten to read sligthly easier while adding support for abstract
namespaces on Linux.

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
2013-10-23 19:32:11 -04:00
Jan Dvořák
9f883436e4 unix sockets: Linux is fine on any architecture
No need to limit ourselves to x86.
Regardless of architecture, sun_path is always 108 bytes long on Linux.

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
2013-10-23 19:32:11 -04:00
Sam Tobin-Hochstadt
f9616959e9 add #:when to match 2013-10-22 15:30:14 -04:00
Ryan Culpepper
4993c085af fix missing sqlite3.dll with raco distribute
closes PR 14025
2013-10-22 00:02:46 -04:00
Ryan Culpepper
e3d7c5a22c improve wording of "expected more terms" messages 2013-10-21 23:02:11 -04:00
Ryan Culpepper
454234cfc9 add "within:" line for stxparse errors
related to PR 13806
2013-10-21 23:02:11 -04:00
Sam Tobin-Hochstadt
ec77a48d23 Add access to the failure continuation in match. 2013-10-21 17:04:10 -04:00
Sam Tobin-Hochstadt
d6610289b8 Check that all in-repository packages have description and authors. 2013-10-20 11:08:03 -04:00
Matthew Flatt
64b1b1037e Mac OS X: make updated frameowrk paths a multiple of 8
Needed for code-signing (on 64-bit builds, at least)
2013-10-19 07:56:00 -06:00
Asumu Takikawa
3264a7fd61 Better error messages for class/object contracts 2013-10-17 17:57:40 -04:00
Sam Tobin-Hochstadt
8ef9b98d59 Use #:usage-help to describe the behavior of raco pkg install.
In particular, specify the new behavior when no pkg-sources are given.
2013-10-16 10:01:45 -04:00
Sam Tobin-Hochstadt
ac1a6ecda7 Add #:usage-help option to command-line.
This allows specifying additional help text at the
top of the auto-generated help, before the options
specification.
2013-10-16 10:01:45 -04:00
Matthew Flatt
44ee51f22f raco setup: add --unused-pkg-deps flag
This flag may be useful for checking for unnecessary dependencies, but
beware that it reports many false negatives, either because relevant
files are not compiled, because the dependency is dynamic, or because
unused packages are intentially listed as dependencies as a
convenience (as is the case for "main-distribution").
2013-10-15 17:50:32 -06:00
Matthew Flatt
833a368c66 document pkg/name
Also, tighten contracts and add `package-source-format?`.
2013-10-15 12:40:54 -06:00
Matthew Flatt
bbf446b0f4 raco setup: fix dependency checker to distinguish package name from source
Closes PR 14095
2013-10-15 12:40:41 -06:00
Jay McCarthy
0182e3ff33 Fixing broken build and improving error message 2013-10-15 10:53:59 -06:00
Jay McCarthy
38b2a08295 Fixing PR14088 by showing entire path 2013-10-15 10:38:27 -06:00
Jay McCarthy
8b08258c34 Another friendly error message for weak sauce users 2013-10-15 10:38:27 -06:00
Jay McCarthy
add6166fad Adding noun re PR13885 2013-10-15 10:38:27 -06:00
Jay McCarthy
9cba5e6e90 Fixing PR14062 2013-10-15 10:38:26 -06:00
Jay McCarthy
0a336024a9 Restoring old decoding behavior of net/url and allowing future compatibility by parameterizing what is accepted 2013-10-15 10:38:26 -06:00
Jay McCarthy
f8d3d6c81b Fixing PR14098 2013-10-15 10:38:26 -06:00
Matthew Flatt
3a9ad7746b OpenBSD: another approach to finding stack bounds
OpenBSD provides pthread_stackseg_np(), which directly reports
the stack-bounds information that Racket needs, so we can use
that instead of the approach used on other Unix variants. The
approach used for other Unix variants seems not to work for OpenBSD
because the stack location at the point that main() is called
is already significantly far from the stack base (on the order
of 100k on a 32-bit system in my test using OpenBSD 5.2).
2013-10-15 08:59:06 -06:00
Matthew Flatt
91ac5138ca raco pkg: fix access of 'default version info
Includes repair to `raco pkg catalog-show` to use the 'version table
in a package description.
2013-10-15 07:22:31 -06:00
Jay McCarthy
243533ba61 Give a more friendly message 2013-10-15 07:19:36 -06:00
Matthew Flatt
eb42f25a4e Windows: pass current directory CreateProcess instead of setting
Avoids races setting/using a process-wide current directory,
and avoids locking the directory that was most recently used to
start a subprocess.
2013-10-14 21:28:08 -06:00
Matthew Flatt
304d72fc6f raco pkg install: work around un-deletable directories
When installing a package "P" and the usual directory already exists
and cannot be deleted, then use the path "P+1", etc., and record the
alternate path in the package database.
2013-10-14 21:06:49 -06:00
Matthew Flatt
a2e75d1ff2 {copy/delete}-directory/files: raise "not dir or file" as exn:fail:filesystem
When a bad path is encountered, the problem should count as a filesystem
exception so that it can be caught with other filesystem exceptions.
2013-10-14 18:18:33 -06:00
Matthew Flatt
b83373d6a4 fix error typo 2013-10-14 18:18:33 -06:00
Matthew Flatt
e0c143ff33 fix problems with pipe limits
A pipe's limit is supposed to apply only to unpeeked bytes, but
there were problems related to triggering further writes after
a peek, and also triggering further reads after a partial
write.
2013-10-14 14:46:09 -06:00
Sam Tobin-Hochstadt
4a542969c7 Make 'raco pkg install' with no arguments install the current directory.
This is useful for telling people how to install a new pkg, from
GitHub or elsewhere: just get the files, and then do
`raco pkg install` in the relevant directory.

Also, both cabal (the Haskell package manager) and npm (the node.js
package manager) behave this way.

To explicitly get the old behavior, specify the sources as
`--pkgs pkg-srcs ...`.  This is useful in scripts, when `pkg-srcs`
might be empty.
2013-10-14 14:06:47 -04:00
Matthew Flatt
2a79377c60 further tighten eq-hash code generation
Avoids including the bit thet indicates whether the object
is GCable in the eq hash code (in a configuration where
bits are available in the GC header for hashing).
2013-10-12 08:37:15 -06:00
Matthew Flatt
8b7b96215b equal hash code: avoid dropping useful bits
Closes PR 14059

Symbols in the PR were mapped to coliding hashes in
groups of 4 because the low 2 bits of the `eq?` hash
code were begin dropped to generate an `equal?` hash
code. Those two bits got lost due to a refectoring
a while back that moved the dropping of two useless
bits to a more centralized place, but the 2-bit shift
did not get removed from the `equal` hash code comparision.

The PR's example program will still generate groups of 2
when hashing around 10k symbols (which used to be groups of 8).
That's because there's a bit in the hash-code counter that
turns out to be forced to 1.
2013-10-12 08:37:15 -06:00
Jay McCarthy
acedb0e02a New URLs for S3 hosted catalogs 2013-10-11 16:37:25 -06:00
Jay McCarthy
0371ade45e S3 doesn't give up HTTPS, so turn it off 2013-10-11 16:37:24 -06:00
baoti
d9f0d52c8a Fix path-replace-suffix' and path-add-suffix' on path for some system 2013-10-11 16:09:30 -06:00
Matthew Flatt
7e42ee2003 fix custodian-related memory-management problem
The problem mainly affected `register-custodian-shutdown`
from `ffi/unsafe/custodian`, which is used by `math/bigfloat`
and `ffi/unsafe/com`.

When a value is registered with a custodian, the value is held
weakly, but the shutdown procedure is intended to be held
strongly. At the C API level, the data associated with a shutdown
function pointer is intended to be held strongly.

A custodian itself, however, is retained weakly by other custodians
in its family, so that custodians can be GCed and their elements
transferred to a parent custodian. Since the custodian itself may
be held only weakly, the callback & data in a custodian was effectively
held weakly --- which, in turn, can break assumptions in code such
as `ffi/unsafe/custodian` that expects strong references to prevent
finalizers from running.

Fix the problem by registering a reference to callback data as
data in a custodian's finalizer, which makes the data strongly
retained no matter how the custodian is retained.
2013-10-11 13:11:13 -06:00
Matthew Flatt
23f4a8e56e racket/runtime-path: fix ".ss" vs. ".rkt" search for lib paths
The package split exposed another place where searching
is needed, because the fallback in `collection-file-path`
to `collection-path` didn't work after the split.
2013-10-11 13:11:13 -06:00
Matthew Flatt
e8605a7181 avoid internal error on misconfigured executable 2013-10-11 13:11:12 -06:00
Matthew Flatt
ca002494e3 fix an inconsistency in free-identifier=?
Closes PR 13982
2013-10-10 18:16:47 -06:00
Matthew Flatt
9a74e633ae macro expander: restore a minor shortcut lost in a previous commit
The commit c352ef8f lost a shortcut that is used for looking up
certain bindings in an environment during expansion/compilation.
2013-10-10 18:16:46 -06:00
Matthew Flatt
70b6f6464f fix .zo marshal of a syntax object containing a hash table in a list
Also, fix `zo-parse` unmarshaling of syntax-object hash tables.

Closes PR 14087
2013-10-09 07:09:36 -06:00
Matthew Flatt
f649599681 repair for 5eee14032f
This repair needs a test case, but I think the test will require a lot
of scaffolding to set up a package configuration, so I'm leaving that
part on my todo list for now.
2013-10-08 16:48:31 -06:00
Asumu Takikawa
8df734048c Fix error message for misuse of #:methods
Closes PR 14069
2013-10-08 14:32:34 -04:00
Ryan Culpepper
c4ba293c7e better "expected more terms" messages in some cases
Still need docs, make constant stxclass descriptions available
2013-10-07 09:23:11 -04:00
Ryan Culpepper
a086943b7c fix typo 2013-10-07 09:23:11 -04:00
Matthew Flatt
5eee14032f raco setup et al.: fix problem with relative paths that exit a collection
Closes PR 14063
2013-10-06 17:23:51 -06:00
Robby Findler
a13aed7420 fix name of struct constructor built by struct-out
closes PR 14073
2013-10-06 08:21:40 -05:00
Ryan Culpepper
007d563a41 fix attr check for ~optional defaults
closes PR 14076
2013-10-05 15:20:04 -04:00
Ryan Culpepper
383c363c68 fix dict-empty?
closes PR 14075
2013-10-05 15:20:04 -04:00
Robby Findler
1742545640 fix printing for vector contracts 2013-10-02 10:03:00 -05:00
J. Ian Johnson
b32697bd88 Conservative extension to match so that app patterns may produce and consume multiple values. 2013-10-01 16:25:20 -04:00
Matthew Flatt
68df43ac16 raco setup: fix command-line argument handling 2013-09-30 09:19:52 -06:00
Matthew Flatt
413985eeb4 fix treatment of an old-style ".plt" file as a package 2013-09-30 09:15:26 -06:00
Matthew Flatt
6d4ff30909 fix JIT bug related to unboxed arguments in self tail calls 2013-09-28 17:57:06 -04:00
Matthew Flatt
af7dcf0dd0 JIT: improve configuration dependency 2013-09-28 17:57:05 -04:00
Sam Tobin-Hochstadt
9f2755116d Remove units in parts of compiler, dynext, setup and create the cext-lib package.
`cext-lib` contains much of the contents of `dynext`, which
is no longer very widely used.

Also moved the implementation of the `mzc` executable
to a more appropriate package.

Also, used `lazy-require` consistently for dynamically
loading implementations.
2013-09-26 14:53:51 -04:00
Matthew Flatt
162edd099d box-cas!: less JIT-generated work if the boolean result is ignored 2013-09-26 14:21:39 -04:00
Robby Findler
a53c69e725 add #:omit-constructor option to struct form of contract-out 2013-09-20 14:38:35 -05:00
Matthew Flatt
6f1588fcac fix custodian-limit checking for phantom byte strings
Closes PR 14036
2013-09-19 16:56:01 -05:00
Matthew Flatt
5ccc6fb289 raco setup: allow an installer only in bytecode form 2013-09-19 10:51:55 -05:00
Matthew Flatt
68c4b0590d fix local-expand on module body with phase-2 binding 2013-09-19 07:27:57 -05:00
Matthew Flatt
10a931d688 fixup for showing dependencies during update 2013-09-17 13:30:21 -06:00
Matthew Flatt
b2f76bd8cc fixes for binary-package stripping
Avoid duplicate `assume-virtual-sources` definitions, add
`assume-virtual-sources` as needed in top-level collections
within a package.
2013-09-17 13:30:21 -06:00
Matthew Flatt
007f7d5992 raco setup: fix several triggers for building a doc index
In particular, fix various triggers that affect installing and
uninstalling packages.
2013-09-17 13:30:21 -06:00
Matthew Flatt
7016d3ab58 raco pkg {install,update}: guard against ill-formed arguments
Parsing a package source/name for scope inference should
report errors in the source/name syntax.

Closes PR 14026
2013-09-17 13:30:21 -06:00
Juan Francisco Cantero Hurtado
bb5323e448 Fix a crash of racket on OpenBSD systems, when pixman is compiled with SSE support and racket tries to load cairo using libffi.
Bug found initially by Juan Francisco Cantero Hurtado. Reported by many.

Mark Kettenis (from the OpenBSD Project) found the real reason of the
crash and created this patch for libffi. Patch taken from OpenBSD Ports.
2013-09-16 10:04:12 -06:00
Ryan Culpepper
ff06f0c8a7 delete unused code 2013-09-15 13:49:35 -04:00
Ryan Culpepper
954d6c764c move more db modules to db-lib 2013-09-15 13:49:35 -04:00
Ryan Culpepper
adc2ccbbd9 prepare to move more db modules to db-lib pkg 2013-09-15 13:49:35 -04:00
Ryan Culpepper
d2841d1113 add db/private/pre for pre-pkg clients 2013-09-15 13:49:35 -04:00
Matthew Flatt
e7090b8365 work around problem with ".ico" file handling 2013-09-13 21:17:43 -06:00
Ryan Culpepper
c596ec604f sync thread dynamic-place contract with builtin 2013-09-13 18:48:36 -04:00
David Vanderson
fb66c419de fix up error message 2013-09-13 18:21:11 -04:00
David Vanderson
fd68db2c7b make 'hex-string->bytes' public 2013-09-13 18:21:10 -04:00
Ryan Culpepper
23f77a6054 fix sqlite lib runtime-path 2013-09-13 13:54:07 -04:00
Ryan Culpepper
5258ffd8ca raco distribute should include sqlite dll on Windows 2013-09-13 13:07:58 -04:00
Robby Findler
e74b26fdbc adjust the planet resolver to explicitly ask for no
compression so that it gets a Content-Length field that
it can use back from the server

this may or may not be the right long-term fix but
for now it at least gets things working again
2013-09-13 10:38:47 -05:00
Matthew Flatt
160e5d3579 remove unused field 2013-09-11 08:34:27 -06:00
Kalimehtar
88d8a2a9f8 Added to _bitmask auto increment bit numbers
Now (_bitmask '(a b)) == (_bitmask '((a 1) b)) == (_bitmask '((a 1) (b 2))

Or (_bitmask '((a 8) b)) == (_bitmask '((a 8) (b 16)))
2013-09-10 08:25:22 -06:00
Matthew Flatt
24fc16674b repair for uri-decode
Certain inputs could cause `uri-decode` to go into a loop.

Patch and supplied by Doug Williams.

Closes PR 14010
2013-09-10 07:51:31 -06:00
Matthew Flatt
df2e2d76c7 JIT: fix slow path branch patch for structure-field assignment
The broken branch patch caused the slow path to be taken on
PPC.
2013-09-09 20:45:29 -06:00
Matthew Flatt
fc9b23e550 JIT: fix slow path for inlined structure-field assignment 2013-09-09 20:45:29 -06:00
Matthew Flatt
cb612245c7 raco pkg install: report useful error when GitHub checksum is "" 2013-09-09 20:45:29 -06:00
Matthew Flatt
41477ab7eb ARM JIT: make calls & returns visible for branch prediction
This improvement makes `inflate` about 5% faster on
one test platform (with no change on a much older one).
2013-09-06 20:02:06 -06:00
Matthew Flatt
fb80ac7385 minor JIT instruction improvement 2013-09-06 20:02:06 -06:00
Matthew Flatt
300e81cb65 fix some variable-initialization problems/warnings 2013-09-06 20:02:05 -06:00
Matthew Flatt
7969eea3a2 raco pkg install: drop redundant "COPYING.txt" and "COPYING_LESSER.txt"
When adding a package installation-wide, drop redundant "COPYING.txt"
and "COPYING_LESSER.txt" files (i.e., ones that are the same as the
ones the "share" directory of a Racket installation).

This rule is ad hoc, but it avoids almost 150 copies of the file in
the main distribution.
2013-09-06 20:02:05 -06:00
Matthew Flatt
e2ee051adc raco setup: avoid duplicate "scribble.css" files, improve style customization
Arrange for documentation added through an installation-wide package to
use the installation's "scribble.css", etc., files. Also, add "doc-site.css"
and "doc-site.js" files (both empty) to allow installation-specific customization
that will not get overwritten by document installs or builds.
2013-09-06 20:02:05 -06:00
Stephen Chang
6ba7834169 syntax/for-transform -> syntax/unsafe/for-transform 2013-09-06 19:01:19 -04:00
Sam Tobin-Hochstadt
23814ec5b3 Reimplement in-directory to not use call/cc.
`in-directory` definition by mflatt.
See mailing list thread at http://lists.racket-lang.org/dev/archive/2013-September/013277.html
for more details. Also includes sequence syntax version.
2013-09-06 18:14:42 -04:00
Stephen Chang
a84cf6b61d add syntax/for-transform
- provides expand-clause (as expand-for-clause) from racket/private/for.rkt
2013-09-06 16:46:41 -04:00
Jay McCarthy
54a75a4031 Print a summary of auto installs/updates rather than as we go 2013-09-05 08:51:05 -06:00
Jay McCarthy
5a7ce6d60a Support gzip encoded HTTP responses 2013-09-04 09:05:09 -06:00
Matthew Flatt
b5fe0203e2 remove bad return 2013-09-04 08:44:49 -06:00
Matthew Flatt
c38d1fabf9 raco pkg {install,update,migrate}: add --all-platforms
The `--all-platforms` flag causes the package manager to follow all
package dependencies, even for dependencies that are specific to
platforms other than the current one.
2013-09-04 08:44:49 -06:00
Matthew Flatt
16c0b385de raco setup: add install-platform to "info.rkt"
The `install-platform` value determines whether files are
copied to "lib" and "share" directories.
2013-09-04 08:44:49 -06:00
Matthew Flatt
6391fe4ed0 raco pkg create: extend --from-install mode so it can unmove files
This adjustment to packing allows a native-library package to
be converted back from installed to installable.
2013-09-04 08:44:49 -06:00
Robby Findler
85770c3cf2 add immutable hash constructors and selectors to #lang info 2013-09-03 15:59:14 -05:00
Sam Tobin-Hochstadt
b69e909f13 Use case instead of cond 2013-09-03 13:53:16 -04:00
Sam Tobin-Hochstadt
101d441fe2 This file is only needed for file/gif. 2013-09-03 13:53:16 -04:00
Vincent St-Amour
01c846ee5e Error message typo. 2013-09-03 11:31:35 -04:00
Matthew Flatt
62f7731c36 paco pkg: allow a commit id to be used in a GitHub reference
Allow a commit id in place of a branch or tag.
2013-09-02 10:10:31 -06:00
Matthew Flatt
61e6279c49 raco pkg: work with git tags as well as branches 2013-09-02 10:10:31 -06:00
Matthew Flatt
6530062120 raco pkg {install,update}: add --checksum argument
The `--checksum` argument's main use is that it lets you pick a specific
commit from a GitHub repository. More generally, it lets you simulate
a package-catalog result, which includes a checksum.

Also, adjust checking of downloaded checksums to ensure that they
match the expected checksum, as predicted by a package catalog or
by the `--checksum` argument.
2013-09-02 10:10:31 -06:00
Matthew Flatt
e0385f36c3 raco setup: fix info-domain, first
That way, if you interrupt a `raco setup`, then programs that rely
on a directory of "info.rkt" mappings are more likely to work.
2013-09-02 10:10:31 -06:00
Matthew Flatt
95368d238e raco pkg: handle bad collection strings
Also, add `setup/collection-name`, which provides functions for
checking collection-name syntax.

Closes PR 13886
2013-09-02 10:10:31 -06:00
Matthew Flatt
a30d80a9c4 move stray rackunit module 2013-09-02 10:10:31 -06:00
Robby Findler
864cc28341 add custom writers for a bunch of contracts 2013-09-01 07:57:09 -05:00
Matthew Flatt
0dcaa5e19f net/url: fix problems with new implementation on net/http-client
Various `net/url` operations need to request a close of the
connection after the operation completes, and `het/http-client`
needs to actually close the input-port half of a connection.

Also, add `http-conn-abandon!`.

Also also, add limits on internal pipes, so that data doesn't pile
up in a connection-processing thread, and fix POST/PUT by adding
a needed CRLF after posted data.
2013-08-30 10:37:09 -06:00
Matthew Flatt
701aa9ce0a openssl: allow ssl-abandon-port on input ports
Make `ssl-abandon-port` consistent with the docs and with
`tcp-abandon-port`.
2013-08-30 10:34:56 -06:00
Stephen Chang
6e42423a2c fix use of in-producer outside of for loops
- make-do-sequence was giving producer fn an argument when none was expected

Closes PR 13986
2013-08-29 17:25:18 -04:00
Ryan Culpepper
5c462eee2b remove uses of scheme/* in src
Fixes windows snapshot builds.
2013-08-28 21:48:53 -04:00
Carl Eastlund
ec5a9616e0 Renamed set-immutable? to set?. 2013-08-28 01:33:33 -04:00
Carl Eastlund
6665f42e33 Changed set? to generic-set?. 2013-08-28 00:10:18 -04:00
Carl Eastlund
899d57f687 Fixed define-generics so that predicate definitions follow method definitions.
I'm not sure that #:defaults and #:fast-defaults predicates should ever refer to
methods from the same generic interface, but the behavior should be divergence
rather than an undefined variable error.
2013-08-27 22:26:59 -04:00
Matthew Flatt
49e6a71f72 add "collects/realm/README.txt"
Guide readers of _Realm of Racket_ to the new location of
the "realm" directory.
2013-08-27 18:00:58 -06:00
Matthew Flatt
0b6f24e3b5 ffi/unsafe: unbreak _list-struct
Broken by 0b1f96ab3d (specifically one of my changes to
Tobias's patch).
2013-08-27 17:29:33 -06:00
Matthew Flatt
3d91b6b77f raco pkg: add a missing `close-input-port' on network connection 2013-08-27 15:20:58 -06:00
Matthew Flatt
10e2db7025 move "ffi/examples" from base to "racket-doc" 2013-08-27 15:20:58 -06:00
Matthew Flatt
d175c3949c move "scheme" collection to a "scheme-lib" package
Also, move remaining "srfi" libraries to "srfi-lite-lib".

In principle, "base" should depend on "scheme-lib" and
"srfi-lite-lib", and a new "base2" package would represent the new,
smaller base. But I don't think the window has yet closed on
determining the initial "base" package.

The "srfi" libraries moved to "srfi-lite-lib", instead of "srfi-lib",
to avoid creating many extra dependencies on "srfi-lib" and all of its
dependencies. The SRFIs in "srfi-lite-lib" depend only on "base",
and they are used relatively widely.
2013-08-27 15:19:24 -06:00
Tobias Hammer
0b1f96ab3d Add missing fender to define-cstruct
prevents internal error from libffi for
(define-cstruct _S ())
2013-08-27 10:15:25 -06:00
Jay McCarthy
a2b780abee note 2013-08-27 09:16:16 -06:00
Jay McCarthy
dc8f52dbb1 Do not send Host or Content-Length if user has 2013-08-27 09:16:16 -06:00
Jay McCarthy
41901397a7 Allow different HTTP versions 2013-08-27 09:16:16 -06:00
Jay McCarthy
fbccbd8ad3 Parse HTTP responses more generously 2013-08-27 09:16:15 -06:00
Tobias Hammer
e6886e4213 Fix missing initialization in filesystem-change-evt 2013-08-27 07:27:54 -06:00
Matthew Flatt
392a8219ae futures: fix rest-arg list creation
Also, make rest-arg list creation safe for futures (and slightly
faster in general).

Closes PR 13832
2013-08-26 20:17:52 -06:00
Matthew Flatt
44e324db12 ARM JIT: fix test for VFP
Having `__VFP_FP__` defined does not mean that VFP instructions are
available; it just means that floating-point is native-endian.

According to

 https://wiki.debian.org/ArmEabiPort

the absence of `__SOFTFP__` combined with the precense of `__VFP_FP__`
can mean VFP, though.
2013-08-25 12:54:04 -06:00
Matthew Flatt
100cc0f84e fix `{put,head}-[im]pure-port'
Connection wasn't converted to a port, and included a repeated
layer of chunk decoding.
2013-08-24 15:21:06 -06:00
Matthew Flatt
7e0d3beb67 ARM JIT: avoid direct use of __aeabi_... for software fp 2013-08-24 12:28:25 -06:00
Matthew Flatt
0b8e764e99 ARM JIT: fix soft-float `round'
Use our own implementation of round(), since the round()
function might be missing.
2013-08-24 10:39:09 -06:00
Jay McCarthy
e8bafbd9b9 Adding net/http-client and using it underneath net/url 2013-08-23 12:41:37 -06:00
Matthew Flatt
e1efd2d98f package system: change syntax of a GitHub package source to "git://..."
Besides changing the URL scheme, the tag or branch is optional and
specified as a fragment (inspired by npm). Also, any subpath is expressed
as a "path=..." query (which similarly avoids giving a different meaning
to URLs than `git' itself would). The repository name can have a ".git"
suffix.

The "github://..." format is still supported for compatibility, but
`--type github' adds "git://..." instead of "github://..." if
neither is already present (which is incompatible, since branches
and tags are handled differently for the two forms).

Closes PR 13656

(See the PR for a discussion and my rationale for this choice.)
2013-08-23 07:40:45 -06:00
Matthew Flatt
52da62a956 setup/dirs: fix "config.rktd" reader 2013-08-22 10:44:26 -06:00
Matthew Flatt
e7d300d238 raco pkg: improve package-source checking and error reporting 2013-08-22 07:58:49 -06:00
Matthew Flatt
d901504174 allow hash-table chaperones to support efficient hash-clear[!] 2013-08-22 07:50:42 -06:00
Matthew Flatt
3201f1330a raco pkg install: make --force override scope-conflict errors
It's possible that an installation will have a package X already and
a user wants to install a different X. To make it all work out,
the user may have to also install a new Y for every installation-scoped
Y that refers to X --- maybe not easy, but at least possible as
a last resort.
2013-08-20 20:53:58 -06:00
Matthew Flatt
f371032a34 protect package-source parsing against non-path strings 2013-08-20 15:48:15 -06:00
Matthew Flatt
c0af1fe4bd pkg: allow path string as `#:scope' argument 2013-08-20 15:27:33 -06:00
Matthew Flatt
ccead82841 raco pkg install: add --update-deps flag
This option makes install and update even more consistent, also
`--auto` still implies `--update-deps` only in update mode.

Make `--update-deps' consult the user in `search-ask' mode,
make it ignored in `fail' or `force' mode.
2013-08-20 15:27:33 -06:00
Matthew Flatt
21d3c168a0 support file:// URLs as package sources 2013-08-20 15:27:33 -06:00
Matthew Flatt
e02e04ff2a fix `hash-clear!' on impersonated hash tables
Closes PR 13977
2013-08-20 05:52:47 -06:00
Matthew Flatt
a4b994c3cb Revert "Revert "make user PLaneT install path use installation name instead of version""
This reverts commit de230bc1ef.

Now that path computatons are built in, and now that the sandbox allows
reading the configuration file, using the installation name doesn't
break with sandboxing.
2013-08-19 17:54:20 -06:00
Matthew Flatt
220b284175 find-collects-dir' and find-config-dir' as built-in, cache values
The computations already existed in the built-in code, so moving
the functions reduces code duplication. Caching the values will
save a little time, but mostly it will avoid sandbox interactions
with the task of locating the main "collects" and "etc" directories.
2013-08-19 17:54:20 -06:00
Matthew Flatt
31c7101ec7 raco pkg: make search-ask mode work for Windows (CRLF)
More generally, trim leading an dtrailing whitespace from answers.
2013-08-19 07:17:48 -06:00
Matthew Flatt
5efab46f5a net/win32-ssl: handle eof (connection closed by server) 2013-08-19 06:58:19 -06:00
Matthew Flatt
1b7819dcd5 Windows: disable message box from system errors
For example, disable a message box for DLL links errors.
2013-08-19 06:34:18 -06:00
Matthew Flatt
e4a4a52ea9 raco pkg install: fix problem with version-triggered updates 2013-08-18 13:38:48 -06:00
Matthew Flatt
884c0bef02 fix problem with inferred package scope
When the user-scope package database hasn't been created, a
parameter to avoid changing the database without a lock
was interfering with other scopes.
2013-08-18 13:23:58 -06:00
Matthew Flatt
d9e226824f net/win32-ssl: a native Windows SSL layer
This implementation of SSL ports is less complete than `openssl', but
it's complete enough to drive HTTPS, and so it can be used to download
a package that provides the DLLs needed for the `openssl' library.

The `net/url' library uses `net/win32-ssl' on Windows when `openssl'
is not available (due to the absence of the OpenSSL DLLs).
2013-08-18 10:57:04 -06:00
Matthew Flatt
f93f488a5a add PLT_DUMP_JIT_RANGES
This variable is intended to support machine-code tracing
experiments. To enable a dump of ranges on exit, both
define PLT_DUMP_JIT_RANGES at compile time and as an environment
variable at run time.
2013-08-17 08:42:15 -06:00
Matthew Flatt
72a4191aa9 raco pkg update: allow packages sources as replacements
When an argument to `raco pkg update` is a package source,
use it to place the currently installed package.

Also, make the set of available command-line arguments more
consistent, especially for `raco pkg install` and `raco pkg update`.

Finally, fix the `--update-deps` flag, including checking
the dependencies of each updated packages based on then update,
instead of the pre-updated package.
2013-08-17 06:03:10 -06:00
Matthew Flatt
6baf90e3be Documentation and adjustments to `clear'-related hash and set operations
Document and adjust `hash-clear!', `hash-clear', and `hash-empty?'.

Also, add `hash-copy-clear'.

The clear operations are constant-time for a non-impersonated
hash table, otherwise they always remove keys one-by-one to
trigger the impersonator's interpositions.

The `hash-clear' operation works only on immutable hash tables,
in contrast to the original implementation. The new `hash-copy-clear'
works on both immutable and mutable hash tables. The "copy"
in its name is meant to suggest a difference with `hash-clear',
even on immutable hash tables: any chaperone on the input
is not on the outpue.

Change `set-clear' to be like `hash-clear', and add
`set-copy-clear'.

(Changes are in consultation with Carl.)
2013-08-17 06:03:10 -06:00