v0.19: Small bug fixes before gxdoc PR #1513
No reviewers
Labels
No labels
UX
active development
backlog
blocker
bootstrap
bounty
bug
dependencies
discussion
documentation
duplicate
enhancement
flaky test
help wanted
invalid
javascript
question
release
tendentious
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mighty-gerbils/gerbil!1513
Loading…
Reference in a new issue
No description provided.
Delete branch "jay/gerbil:gxdoc-pr0-fixes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
These are small, independent fixes for problems found while building the new documentation tool for Gerbil.
Changes
std/list/list: Keep append-map's results in order.append-mapreversed the elements of each result before appending them, so e.g.(append-map (lambda (x) [x (* x 10)]) [1 2])gave(10 1 20 2)instead of(1 10 2 20). The fix appends each result as returned (foldl append).std/sync/channel: Pass timeouts tomutex-unlock!as times.timeout->abs-timeoutgave the deadline as a real number, whichmutex-unlock!reads as seconds from now, so a timedchannel-puton a full channel or a timedchannel-geton an empty one waited for decades instead of timing out. The deadline is now converted withseconds->time.build: Memoize completed library dependencies.find-depsrevisited each shared dependency once per path, so a graph with many repeated acyclic imports took exponential time, and a clean build stalled before compiling libgerbil. Each traversal now records the modules it has completed, separately fromvisited-modules, which holds the final order. Phases, exclusions and dependency order are unchanged.gxpkg: Normalize path-normalize's argument, not the current directory*.path-normalize*ignored its argument and returned the normalized current directory, sogerbil pkg uninstall PKGranrm -rfon the caller's working directory instead of PKG's checkout. The function now normalizes its argument.pkg-newpasses the current directory and is unaffected.build: Do not install tool test modules as commands.build_toolslinked everytools/gx*.ssintobinas a command, sogxtags-test,gxhttpd-test,gxhttpd-ensemble-testandgxensemble-testwere installed as commands. To reproduce, build and listbuild/bin. The loop now skips*-test.ssand quotes the file names.thank you!