When last I wrote on my problems with Scriblogify, I attributed them to Windows 7 security... I was way too optimistic, and way too ashamed to bother the community again. I have found a couple smoking guns since then, and found that they, too, had nothing to do with my problem. The following is repeatable in Racket 5.3 and Windows 7:<div>
<br></div><div>The following are all part of a project &quot;ScriblogifyBug&quot;, which contains folders &quot;Private&quot;, where I hide implementation details, and &quot;Blog&quot;, where I boast about my implementation. Like a good little programmer, I use rackunit to create custom tests relevant to my code, and use submodules to implement tests. Like an enthusiastic Racketeer, I blog via</div>
<div>Scribble and Scriblogify.<br><div><br></div><div><div>#lang racket/base</div><div>;; begin Private/my-test-mod.rkt</div><div>(require rackunit)</div><div>(provide (all-defined-out)</div><div>         (all-from-out rackunit))</div>
<div><br></div><div>(define-simple-check</div><div>  (check-my-func f)</div><div>  (procedure? f))</div><div>;; end Private/my-test-mod.rkt</div></div></div><div><br></div><div><div>#lang racket/base</div><div>;; begin Private/my-racket-mod.rkt</div>
<div>(provide f)</div><div><br></div><div>(module+ test</div><div>  (require &quot;my-test-mod.rkt&quot;))</div><div><br></div><div>(define (f x y)</div><div>  (+ x y))</div><div><br></div><div>(module+ test</div><div>  (printf &quot;Tests running.~n&quot;)</div>
<div>  (check-eq? 1 1)</div><div>  (check-my-func f))</div><div>;; end Private/my-racket-mod.rkt</div></div><div><br></div><div><div>#lang scribble/manual</div><div>@; begin Blog/my-scribble-doc.scrbl</div><div>@(require racket/sandbox scribble/eval)</div>
<div>@title{Trapping the Scriblogify Bug}</div><div>@author{Pat}</div><div><br></div><div>I expect this file to render fine via the @italic{Scribble HTML} button within DrRacket,</div><div>and it does. However, I am curious why I must explicitly require &quot;my-test-mod.rkt&quot;, which</div>
<div>is only called from within the test submodule of &quot;my-racket-mod.rkt&quot;.</div><div><br></div><div>Let&#39;s demonstate my nifty new function, @racket[f].</div><div><br></div><div>@(interaction #:eval(make-evaluator &#39;racket/base</div>
<div>                                    (sandbox-output &#39;string)</div><div>                                    (sandbox-error-output &#39;string)</div><div>                                    #:requires &#39;(&quot;../Private/my-racket-mod.rkt&quot;</div>
<div>                                                 &quot;../Private/my-test-mod.rkt&quot;))</div><div>              ;                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^</div><div>              ;                               Why must I explicitly require this?</div>
<div>              (f 1 2))</div><div><br></div><div><br></div><div>I also expect this file to fail to render via @italic{raco scriblogify &quot;my-scribble-doc.scrbl&quot;},</div><div>and it does, yielding the error </div>
<div>@italic{&quot;current-directory: `exists&#39; access denied for ~\ScriblogifyBug\Blog\&quot;}. With different</div><div>tweaks, I&#39;ve gotten</div><div>similar &#39;exists&#39; errors for the files in ../Private, involving current-directory or similar</div>
<div>functions described in @bold{14.2 Filesystem} in the documentation, so I suspect a Windows</div><div>specific path quirk. For instance, if I put all three files in the same directory (modifying</div><div>the @racket{require}s in &quot;my-scribble-doc.scrbl&quot; accordingly), I get the error </div>
<div>@italic{&quot;file-exists?: `exists&#39; access denied for C:\Program Files\Racket\.\racket.exe&quot;}. I</div><div>am not sure how to interpret &quot;\.\&quot;, and C:\Program Files\Racket certainly exists on my system,</div>
<div>as does C:\Program Files\Racket\Racket.exe (so there&#39;s the path issue and the case issue).</div><div>@; end Blog/my-scribble-doc.scrbl</div></div><div><br></div><div>So, in summary, two issues:</div><div><br></div>
<div>a) Scribble needs help finding and interpreting files found within submodules that I would expect to be both findable and irrelevant. When explicitly told every potentially relevant file, it can figure out that it can ignore it, when rendered within DrRacket.</div>
<div><br></div><div>2) Scriblogify doesn&#39;t find the help sufficient, when run from the command line.</div><div><br></div><div>c) One common clue, various path related errors that might be Windows Weirdness.</div><div>
<br></div><div>Ok, me sticking with Windows is an issue, one that I hope to rectify in the next six months as certain work-related constraints are relaxed.</div><div><br></div><div>All thoughts appreciated.</div><div><br>
</div><div>Pat</div>