[NTG-context] No error when loading a non-existent module

Hans Hagen j.hagen at freedom.nl
Fri Aug 26 07:40:30 CEST 2022

On 8/26/2022 3:00 AM, Max Chernoff wrote:
> Hi Hans,
> On Thu, 2022-08-25 at 08:57 +0200, Hans Hagen wrote:
>> On 8/25/2022 2:19 AM, Max Chernoff via ntg-context wrote:
>> But ... you can already do
>> \enabledirectives[logs.errors=*]
>> or
>> \enabledirectives[logs.errors=missing modules]
> Didn't know about that, thanks.
> However, this still continues processing the document and produces a PDF
> at the end. All that that seems to do is make ConTeXt exit with a non-
> zero status code, which is fairly easy to ignore if you're not paying
> attention.

If someone doesn't pay that kind of attention one can wonder about the 
quality of the document.

> Is there a way to make this produce a nice little "error" PDF as soon as
> the error occurs just like using "\undefined" does?

Only If I add it as option (directive driven, must find some good name 
for it).

Most modules add commands and that shows immediately. Modules that kick 
in without some command that needs to enable something are sort of 
not-done or rare and experimental only and comparable to when some 
module patches or overloads core functionality withoutr mentioning it.

Also, keep in mind that styles can also be modules and that normally 
shows in ta different output.

>> and if needed can add that line to a local cont-loc.mkxl file so that it
>> always kicks in.
> Didn't know about that either.

Ah, that's one of the oldest features: cont-new (for patched before 
updates), cont-loc (for local preferences) and cont-exp (for wolfgang 
and me)

> But wouldn't it make sense for this to be an error by default? Nothing
> good can happen if a user loads a non-existent (or misspelled) module.
> Loading a non-existent file is a fatal error even in Plain TeX
> \nonstopmode. I think that making this an error by default would break
> very few working documents. In exchange, most users would get much more
> helpful error messages.
It would never be default because it is quite possible to have cases 
where a module became redundant or is optional. There arte very few 
cases where we are not downward 'command and file' compatible (the most 
noticeable exceptions are when font, language and encoding subsystems 
fundamentally change).


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl

More information about the ntg-context mailing list