relative to some default settings instead of saving
the actual values
so changes to the default imply changes to everyone's actual
values for the prefs
closes PR 13810
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.
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.
Needs to do it when the relevant stderr is in effect.
Fixes PR 13744, except that something like this is still bad:
(with-output-to-file "/tmp/foo" #:exists 'append
(lambda ()
(parameterize ([current-error-port (current-output-port)])
(/ 1 0))))
But I think that it's a bad idea for the error display handler to be
called with the locally set port -- described in PR 13974.
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).
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.
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.
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.)
Otherwise, imagine uninstalling packages without `--auto', using `raco
pkg show' to confirm that none are left, and be surprised by a later
error about installed packages.
Pre 6.0, the teachpacks were found using collection-path, but that doesn't
work anymore. Pre this commit, they were found by using
(collection-file-path "image.rkt" "teachpack" "htdp")
and
(collection-file-path "image.rkt" "teachpack" "2htdp")
and then looking for files in the same directory. This worked, but is
a total hack.
This commit changes to an info.rkt-based setup, but the changes ended up
percolating around the teachpack & teaching languages implementation more
than I would have liked (specifically because the internal
datastructure for a teachpack references was an sexp of the form:
`(lib ,(? string-without-slashes?) ...)
but now teachpack references can be arbitrary results of
path->module-path, which never seems to be the above (instead using
the slash-based `lib' module paths)).
So a bunch of places in the teaching langauges code changed to
recognize the right slashes for the teachpacks that have always been
there to preseve the DrRacket API and fall back to just showing the
module path otherwise. There may be places I've missed, tho, that
are expecting the simple lib form and may now be surprised.
On the upside, 3rd parties (via new packages) can now add things
to the teachpack menu item. On the downside (beyond the likely
bugs I've just introduced in this commit), we're supposed to be
getting rid of this dialog, not making it more extensible.
When an existing entry in the AVL tree for an immutable hash
is replaced with a new one, the new one did not always get
the right depth, which could throw off the tree balance.