The Racket repository
![]() 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. |
||
---|---|---|
native-pkgs@f367c0c4b0 | ||
pkgs | ||
racket | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.travis.yml | ||
INSTALL.txt | ||
Makefile | ||
README.txt |
This is the source code for the main Racket distribution. See "INSTALL.txt" for information on building Racket. License ------- Racket Copyright (c) 2010-2013 PLT Design Inc. Racket is distributed under the GNU Lesser General Public License (LGPL). This means that you can link Racket into proprietary applications, provided you follow the rules stated in the LGPL. You can also modify Racket; if you distribute a modified version, you must distribute it under the terms of the LGPL, which in particular means that you must release the source code for the modified software. See doc/release-notes/COPYING_LESSER.txt for more information.