Hi, I uploaded a new version with some new features discussed at the end of this mail. - A next version of luatex will break context (format making etc) but the change is unavoidable because of other macro package demands wrt security (context does that differently). The low level start up command has been adapted so unless you update indepdently thinsg should work ok. Of course this has no consequences for lmtx. - I've done a bit of callback cleanup (like getting rid of some mkiv luatex left-overs). It should have no effect on regular usage. - There again a few improvements wrt math (this time dealing with accents artifacts in some fonts). We check all the free math fonts for potential issues and then try to fix it (read: deal with it). It's a lot of work but we're getting there. - A few reported buglets have been fixed. - The biggest addition is however a new number model. In metapost one can now use 'posit' (positfun instance) as number mode which will use (currently 32 bit but at some point 64 bit) posit unums. It's also bit of a playground because 32 bit posits are not more accurate than 64 bit doubles. It anyhow exposed some potential issues that we'll look into. - There's also a (again currently 32 bit) posit library at the Lua end as playground. - However, 32 bit posits come in handy at the tex end because they pack better accuracy in 32 bits than floats and it makes it possible to have native floats, so we have: \newfloat (uses \floatdef, register like \dimendef is used in \newdimen) \newposit (uses \positdef, like \dimensiondef etc) \floatexpr (like \numexpr) \iffloat (like \ifnum) (also \ifabsfloat and i'll add the others too) Actually it adds an extra range of registers so it bumps memory usage a bit. I'm considering lowering the number of registers (currently 64K per category) because after all, if 64K is not enough then we can as well stick to 32K or 16K (for some even less). There's always Lua for unlimited storage of quantities. So, \newfloat\fooA \scratchdimen=123.456pt\relax [\type{dim:} \the\scratchdimen==123.456pt]\par \fooA =123.456\relax [\type{pos:} \the\fooA ==123.456] \par \fooA =\scratchdimen\relax [\type{pos:} \the\fooA ==123.456] \par \scratchdimen=\fooA\relax [\type{dim:} \the\scratchdimen==123.456pt]\par \scratchdimen\dimexpr\fooA+10pt\relax[\type{dim:} \the\scratchdimen==133.456pt]\par produces [dim: 123.456pt==123.456pt] [pos: 123.45600128173828==123.456] [pos: 123.45599365234375==123.456] [dim: 123.456pt==123.456pt] [dim: 133.456pt==133.456pt] As you can see dimens will get mapped onto floats not as integers (scaled points) but in pt units. Counts stay numbers. I need to handle glue too (not yet done). In the future I might use this for fractions but there might be some rough ends so for now it's experimental. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi, Hans. The following happens with the last update: loading > ConTeXt Node Macros / Page Building resolvers > lua > unknown file 'node-pag.lua' error loading file: node-pag.lua (aborting) Indeed, the file is missing in the distribution (there's only node-pag.mkxl). Regards El mié, 26 abr 2023 a la(s) 16:56, Hans Hagen via ntg-context ( ntg-context@ntg.nl) escribió:
Hi,
I uploaded a new version with some new features discussed at the end of this mail.
- A next version of luatex will break context (format making etc) but the change is unavoidable because of other macro package demands wrt security (context does that differently). The low level start up command has been adapted so unless you update indepdently thinsg should work ok. Of course this has no consequences for lmtx.
- I've done a bit of callback cleanup (like getting rid of some mkiv luatex left-overs). It should have no effect on regular usage.
- There again a few improvements wrt math (this time dealing with accents artifacts in some fonts). We check all the free math fonts for potential issues and then try to fix it (read: deal with it). It's a lot of work but we're getting there.
- A few reported buglets have been fixed.
- The biggest addition is however a new number model. In metapost one can now use 'posit' (positfun instance) as number mode which will use (currently 32 bit but at some point 64 bit) posit unums. It's also bit of a playground because 32 bit posits are not more accurate than 64 bit doubles. It anyhow exposed some potential issues that we'll look into.
- There's also a (again currently 32 bit) posit library at the Lua end as playground.
- However, 32 bit posits come in handy at the tex end because they pack better accuracy in 32 bits than floats and it makes it possible to have native floats, so we have:
\newfloat (uses \floatdef, register like \dimendef is used in \newdimen)
\newposit (uses \positdef, like \dimensiondef etc)
\floatexpr (like \numexpr)
\iffloat (like \ifnum) (also \ifabsfloat and i'll add the others too)
Actually it adds an extra range of registers so it bumps memory usage a bit. I'm considering lowering the number of registers (currently 64K per category) because after all, if 64K is not enough then we can as well stick to 32K or 16K (for some even less). There's always Lua for unlimited storage of quantities.
So,
\newfloat\fooA
\scratchdimen=123.456pt\relax [\type{dim:} \the\scratchdimen==123.456pt]\par \fooA =123.456\relax [\type{pos:} \the\fooA ==123.456] \par \fooA =\scratchdimen\relax [\type{pos:} \the\fooA ==123.456] \par \scratchdimen=\fooA\relax [\type{dim:} \the\scratchdimen==123.456pt]\par \scratchdimen\dimexpr\fooA+10pt\relax[\type{dim:} \the\scratchdimen==133.456pt]\par
produces
[dim: 123.456pt==123.456pt] [pos: 123.45600128173828==123.456] [pos: 123.45599365234375==123.456] [dim: 123.456pt==123.456pt] [dim: 133.456pt==133.456pt]
As you can see dimens will get mapped onto floats not as integers (scaled points) but in pt units. Counts stay numbers. I need to handle glue too (not yet done).
In the future I might use this for fractions but there might be some rough ends so for now it's experimental.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net
___________________________________________________________________________________
On 2023-04-26 19:54, Jairo A. del Rio via ntg-context wrote:
Hi, Hans. The following happens with the last update:
loading > ConTeXt Node Macros / Page Building resolvers > lua > unknown file 'node-pag.lua'
error loading file: node-pag.lua (aborting)
Indeed, the file is missing in the distribution (there's only node-pag.mkxl). Regards
Same here, Windows 11 x64. -- Rik
This is weird, but documents compile just fine if I comment the following line in node-pag.mkxl: \registerctxlua{node-pag}{} Maybe leftovers from some experiment here? Best regards. El mié, 26 abr 2023 a la(s) 21:25, Rik Kabel via ntg-context ( ntg-context@ntg.nl) escribió:
On 2023-04-26 19:54, Jairo A. del Rio via ntg-context wrote:
Hi, Hans. The following happens with the last update:
loading > ConTeXt Node Macros / Page Building resolvers > lua > unknown file 'node-pag.lua'
error loading file: node-pag.lua (aborting)
Indeed, the file is missing in the distribution (there's only node-pag.mkxl). Regards
Same here, Windows 11 x64.
-- Rik
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net
___________________________________________________________________________________
On 4/27/2023 1:54 AM, Jairo A. del Rio via ntg-context wrote:
Hi, Hans. The following happens with the last update:
loading > ConTeXt Node Macros / Page Building resolvers > lua > unknown file 'node-pag.lua'
error loading file: node-pag.lua (aborting)
Indeed, the file is missing in the distribution (there's only node-pag.mkxl). Regards fixed
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Re: performing update(s) New to conTeXt, have not performed a specific update prior to this. My conTeXt installation is part of TeXlive-2023 (under Linux OS). Will the updates to ConTeXt be handled by tlmgr ? Thanks, On 2023-04-26 14:55, Hans Hagen via ntg-context wrote:
Hi,
I uploaded a new version with some new features discussed at the end of this mail.
- A next version of luatex will break context (format making etc) but the change is unavoidable because of other macro package demands wrt security (context does that differently). The low level start up command has been adapted so unless you update indepdently thinsg should work ok. Of course this has no consequences for lmtx.
- I've done a bit of callback cleanup (like getting rid of some mkiv luatex left-overs). It should have no effect on regular usage.
- There again a few improvements wrt math (this time dealing with accents artifacts in some fonts). We check all the free math fonts for potential issues and then try to fix it (read: deal with it). It's a lot of work but we're getting there.
- A few reported buglets have been fixed.
- The biggest addition is however a new number model. In metapost one can now use 'posit' (positfun instance) as number mode which will use (currently 32 bit but at some point 64 bit) posit unums. It's also bit of a playground because 32 bit posits are not more accurate than 64 bit doubles. It anyhow exposed some potential issues that we'll look into.
- There's also a (again currently 32 bit) posit library at the Lua end as playground.
- However, 32 bit posits come in handy at the tex end because they pack better accuracy in 32 bits than floats and it makes it possible to have native floats, so we have:
\newfloat (uses \floatdef, register like \dimendef is used in \newdimen)
\newposit (uses \positdef, like \dimensiondef etc)
\floatexpr (like \numexpr)
\iffloat (like \ifnum) (also \ifabsfloat and i'll add the others too)
Actually it adds an extra range of registers so it bumps memory usage a bit. I'm considering lowering the number of registers (currently 64K per category) because after all, if 64K is not enough then we can as well stick to 32K or 16K (for some even less). There's always Lua for unlimited storage of quantities.
So,
\newfloat\fooA
\scratchdimen=123.456pt\relax [\type{dim:} \the\scratchdimen==123.456pt]\par \fooA =123.456\relax [\type{pos:} \the\fooA ==123.456] \par \fooA =\scratchdimen\relax [\type{pos:} \the\fooA ==123.456] \par \scratchdimen=\fooA\relax [\type{dim:} \the\scratchdimen==123.456pt]\par \scratchdimen\dimexpr\fooA+10pt\relax[\type{dim:} \the\scratchdimen==133.456pt]\par
produces
[dim: 123.456pt==123.456pt] [pos: 123.45600128173828==123.456] [pos: 123.45599365234375==123.456] [dim: 123.456pt==123.456pt] [dim: 133.456pt==133.456pt]
As you can see dimens will get mapped onto floats not as integers (scaled points) but in pt units. Counts stay numbers. I need to handle glue too (not yet done).
In the future I might use this for fractions but there might be some rough ends so for now it's experimental.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl [1] | www.pragma-pod.nl [2] ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
Links: ------ [1] http://www.pragma-ade.nl [2] http://www.pragma-pod.nl
On Wed, 26 Apr 2023, lynx--- via ntg-context wrote:
Re: performing update(s)
New to conTeXt, have not performed a specific update prior to this.
My conTeXt installation is part of TeXlive-2023 (under Linux OS). Will the updates to ConTeXt be handled by tlmgr ?
No. Usually, texlive updates context once a year. Aditya
Hi Lynx, Aditya,
New to conTeXt, have not performed a specific update prior to this.
My conTeXt installation is part of TeXlive-2023 (under Linux OS). Will the updates to ConTeXt be handled by tlmgr ?
No. Usually, texlive updates context once a year.
This is correct in general, but this specific update *will* end up in TL2023 due to the engine changes that Hans mentioned. It's not in TL yet, but we're actively working on it, so it should show up within a week or so (hopefully). Thanks, -- Max
Hi Lynx, Aditya,
New to conTeXt, have not performed a specific update prior to this.
My conTeXt installation is part of TeXlive-2023 (under Linux OS). Will the updates to ConTeXt be handled by tlmgr ?
No. Usually, texlive updates context once a year.
This is correct in general, but this specific update *will* end up in TL2023 due to the engine changes that Hans mentioned. It's not in TL yet, but we're actively working on it, so it should show up within a week or so (hopefully). Correction: Luigi and I are still discussing how to make it work because
On 4/27/2023 7:11 AM, Max Chernoff via ntg-context wrote: there is some init order issue and we want to be sure that context (and its scripts) keep working. It would be sort of weird if context (where luatex originates) would stop working as expected. Keep in mind that luatex is also a lua engine. and I assume that the texlive team also has some tests to perform (apart from getting all platforms updated which for some is more work, like apple signing). The issue (disabling socket by default) is not that pressing as socket has been with us for right fromn the start) and security wise there are plenty ways tex can mess up your system if someone wants. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Re: performing update(s)
New to conTeXt, have not performed a specific update prior to this.
My conTeXt installation is part of TeXlive-2023 (under Linux OS). Will the updates to ConTeXt be handled by tlmgr ? Basically tex live is the yearly snapshot. I actually dont' know the rules for updating texlive but there are definitely updates. But as much relates there (like engines shared between macro packages) it can be
On 4/27/2023 2:50 AM, lynx--- via ntg-context wrote: that only macros get updated and not engines (also relates to multiple platforms) so fundamental changes to luatex as engine .. hard to predict. But you can just install the lmtx installation alongside (it's small compared to tex live) and have the best of both worlds. The lmtx installation also has mkiv. It also comes with the fonts that match what we expect in context (as fonts get updated or changed). Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi Hans,
I actually dont' know the rules for updating texlive but there are definitely updates.
The rules are: - Packages and formats are updated about 24 hours after a new version is uploaded to CTAN. - Binaries are only updated once-per-year. But there are also some special cases: - The luatex binary will be updated shortly for "reasons" (details to be made public later). - The luametatex binary is allowed to be updated whenever. https://tug.org/pipermail/tex-live/2023-March/049058.html - I have no idea how ConTeXt is added to TL, but it doesn't appear to be through the usual automatic CTAN sync.
Basically tex live is the yearly snapshot.
Because you're allowed to update luametatex at will and luatex hardly changes, you could update the ConTeXt in TL more than once per year. There's no need for it to get as many updates as the standalone distribution, but it would be nice to get an update every 3 months or so. (I have no idea how much work this is for you+Mojca, so it's maybe not worth the effort).
But you can just install the lmtx installation alongside (it's small compared to tex live) and have the best of both worlds. The lmtx installation also has mkiv. It also comes with the fonts that match what we expect in context (as fonts get updated or changed).
Lynx, I'll second this recommendation. The standalone lmtx distribution is updated weekly-ish, uses less than 400MB disk space when installed, and coexists happily with TL. The only downside is that it doesn't have a friendly installation GUI like TL does. Even then, I personally find it easier to install than TL. Installation instructions: https://wiki.contextgarden.net/Installation Thanks, -- Max
Hello, Max: As suggested, I have installed the "standalone" version of ConTeXt alongside my full TeXlive installation. Now: * How can I be sure that the standalone version is the one being implemented? * How do I update the standalone version (I assume that, as of today, it is already the most up-to-date version--Yes? No?), if and when it is required or desired to do so? Lynx On 2023-04-27 01:32, Max Chernoff via ntg-context wrote:
Hi Hans,
I actually dont' know the rules for updating texlive but there are definitely updates.
The rules are:
- Packages and formats are updated about 24 hours after a new version is uploaded to CTAN.
- Binaries are only updated once-per-year.
But there are also some special cases:
- The luatex binary will be updated shortly for "reasons" (details to be made public later).
- The luametatex binary is allowed to be updated whenever.
https://tug.org/pipermail/tex-live/2023-March/049058.html
- I have no idea how ConTeXt is added to TL, but it doesn't appear to be through the usual automatic CTAN sync.
Basically tex live is the yearly snapshot.
Because you're allowed to update luametatex at will and luatex hardly changes, you could update the ConTeXt in TL more than once per year. There's no need for it to get as many updates as the standalone distribution, but it would be nice to get an update every 3 months or so. (I have no idea how much work this is for you+Mojca, so it's maybe not worth the effort).
But you can just install the lmtx installation alongside (it's small compared to tex live) and have the best of both worlds. The lmtx installation also has mkiv. It also comes with the fonts that match what we expect in context (as fonts get updated or changed).
Lynx, I'll second this recommendation. The standalone lmtx distribution is updated weekly-ish, uses less than 400MB disk space when installed, and coexists happily with TL. The only downside is that it doesn't have a friendly installation GUI like TL does. Even then, I personally find it easier to install than TL.
Installation instructions:
https://wiki.contextgarden.net/Installation
Thanks, -- Max ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
Hi Lynx,
* How can I be sure that the standalone version is the one being implemented?
It depends on what your $PATH is set to. On Linux/macOS, you can run $ type -ap context to list all the ConTeXts in your $PTAH. The first one in that list is the one that will be ran by default. If you want to always run the standalone version, then you'll need to make sure that your ConTeXt directory comes before your TL directory in your PATH. On Linux/macOS, you'd add something like export PATH="/path/to/context/bin/:$PATH" to your ~/.profile; on Windows, you can use the "setx" command. Googling something like "add location to path" will get you more specific instructions for your OS/shell.
* How do I update the standalone version
Just run the installer again. On my system, I run $ cd /opt/context $ sudo sh ./install.sh
(I assume that, as of today, it is already the most up-to-date version
Correct.
if and when it is required or desired to do so?
You only need to update ConTeXt if a new update fixes a bug that affects you or adds a new feature that you want. Most updates are announced on the list, so you could just update whenever you see a new update. Or you could just try updating once per week. You could also just never update. Up to you. The general recommendation is to save an old copy of the ConTeXt folder before you update in case something breaks. I've never done this before though since I can usually patch the bugs myself, and I can always fall back on the version in TL if something is really broken. -- Max
participants (7)
-
Aditya Mahajan
-
Hans Hagen
-
Hans Hagen
-
Jairo A. del Rio
-
lynx@polarcom.com
-
Max Chernoff
-
Rik Kabel