This change makes document building --- and specially incremental
document building --- more scalable. The global duplicate-definition
check is handled by a database query, for example.
them and use that to order 'raco setup'
The dep-list.rkt file contains code that reads .dep files
and computes the topological sort; this result is expected
to be copied over into setup-unit.rkt
`setup/private/path-utils'.
The API is a little different: instead of getting the alist and the
path, there's a curried function that gets the alist and produces a
function to do the substitutions.
`setup/path-relativize'.
`setup/path-relativize' is freed from a bunch of things that were due to
historical baggage, but some remain. (Also, update its docs.)
--- a reversal of opinion from my earlier commit; the problem
with syntactic simplification is that it may not refer to the
same file, due to soft links; given that true normalization is
impossible, simplify-path and simple-form-path provide a good
compromise between preserving paths as given and exanding
soft links as neede
A mixture of filesystem-insensitive `simplify-path', filesystem-sensitive
`simplify-path', and `normalize-path' was used in different parts
of `raco setup'. This causes a mismatch, for example, when a Planet
hard link uses a path that is a symlink.
In general, I think filesystem-insensitive simplification (i.e., syntactic
simplification) is the right choice for comparing paths, so that is now
used consistently.
Added `update-source-location', which provides keyword-based functional update
for source location representations.
Removed automatic collection-relative printing for source locations.
* unstable/location.ss
Made `quote-srcloc' and its related forms all automatically use source locations
relative to collections and/or planet, where appropriate, and to compute
source locations dynamically if they cannot be made relative.
Removed #:module-source argument from `quote-srcloc'.
Changed `quote-module-path' and `quote-module-name' to use source file name
extensions.
Removed `quote-module-source'. I'm not sure what the use case is for
generating a resolved module path that doesn't correspond to a real module.
* unstable/dirs.ss
Implemented `path->directory-relative-string' for rendering a path to a string
that is relative to one of a list of given directories, with associated
abbreviations for each.
* unstable/scribblings/unstable.scrbl
* unstable/scribblings/srcloc.scrbl
* unstable/scribblings/dirs.scrbl
Documented the above changes.
* scheme/contract/private/provide.ss
* scheme/contract/private/base.ss
Changed contract forms to always blame a module path where appropriate.
Removed use of #:module-source option for `quote-srcloc'.
* setup/private/path-utils.ss
Updated `path->name' to use more general `path->directory-relative-string'.
svn: r18816
considered a library. For now, hacked with the collects and planet
roots (and planet links), with a fixed number of directory sublevels
from them.
* setup/private/omitted-paths is simplified by reusing this code to
get the roots.
* drscheme/private/module-browser uses this to always show requires
from the same library, even for lib or planet requires.
svn: r15058
omitted paths -- including entries from parent directories
* This code automatically includes "compiled", ".*" and "doc" (unless
in the main tree), which nicely unifies the pieces of code that
duplicated this check (compiler/compiler-unit and setup/setup-unit).
svn: r11324