get-*-source functions raise exception when filename includes a relative path
#228
Closed
opened 4 years ago by otherjoel
·
2 comments
Loading…
Reference in New Issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
In an empty folder, create
example.html.pm
, a foldersub/
and a filesub/another.html.pm
. (The files can be empty, created withtouch
) Then in the base folder, create the followingpollen.rkt
:Expected output:
Actual output:
Important to note, this happens even when there is a
sub/pollen.rkt
that provides a validsetup
module.It looks like this is due to these recent changes in
pollen/setup.rkt
surfacing a possible bug inget-path-to-override
.When
get-path-to-override
is called with a relative path+file, the relative “folders” part is passed unmodified intopath->complete-path
where it raises the above exception because it is not a complete path.The functions generated by
define-settable
call theget-path-to-override
function. Prior to912ba088b
this call was insidewith-handlers
. The bug in this function causes anexn:fail:contract?
exception to be raised even when a validsub/pollen.rkt
exists, but it was caught by the handler so no error surfaced to the user.Thanks! Yes, that
with-handlers
was incorrectly suppressing some legitimate bugs (not all of which I’ve discovered yet, clearly)Thank you!