Hi Hans, looks my knowledge of TeX is holey like a Leerdammer. Can you tell me why you fire a warning for already defined, non-global allocated registers? Some of them make sense here but even a grouped (and local allocated) register gives such a warning. warning : \count \OLDpdfcompresslevel is already defined (\relax it first) \def\disablePDFcompression% {\bgroup % \let\OLDpdfcompresslevel\relax \newcount\OLDpdfcompresslevel \OLDpdfcompresslevel\pdfcompresslevel \pdfcompresslevel\zerocount\relax} \def\allowPDFcompression% {\pdfcompresslevel\OLDpdfcompresslevel\egroup} - Peter
Am 19.03.2009 um 15:19 schrieb Peter Rolf:
Hi Hans,
looks my knowledge of TeX is holey like a Leerdammer. Can you tell me why you fire a warning for already defined, non-global allocated registers? Some of them make sense here but even a grouped (and local allocated) register gives such a warning.
Because it's nonsense what you do, just assign the value to your counter inside of the group and will be keeped local. \newcount\OLDpdfcompresslevel \def\disablePDFcompression {\bgroup \OLDpdfcompresslevel\pdfcompresslevel \pdfcompresslevel\zerocount\relax} \def\allowPDFcompression {\pdfcompresslevel\OLDpdfcompresslevel\egroup} Wolfgang
Wolfgang Schuster schrieb:
Am 19.03.2009 um 15:19 schrieb Peter Rolf:
Hi Hans,
looks my knowledge of TeX is holey like a Leerdammer. Can you tell me why you fire a warning for already defined, non-global allocated registers? Some of them make sense here but even a grouped (and local allocated) register gives such a warning.
Because it's nonsense what you do, just assign the value to your counter inside of the group and will be keeped local.
*guilty* in this point... and the past has show, that i'm a repeat offender ;)
\newcount\OLDpdfcompresslevel
\def\disablePDFcompression {\bgroup \OLDpdfcompresslevel\pdfcompresslevel \pdfcompresslevel\zerocount\relax}
\def\allowPDFcompression {\pdfcompresslevel\OLDpdfcompresslevel\egroup}
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- "Es ist doch ein Trost, das Geldgier manchmal blöd macht." - Kottan in "Kottan ermittelt", Folge 9: "Die Einteilung" -
Peter Rolf wrote:
\newcount\OLDpdfcompresslevel
\def\disablePDFcompression {\bgroup \OLDpdfcompresslevel\pdfcompresslevel \pdfcompresslevel\zerocount\relax}
\def\allowPDFcompression {\pdfcompresslevel\OLDpdfcompresslevel\egroup}
Wolfgang
there are: \def\nopdfcompression {\pdfobjcompresslevel\zerocount \pdfcompresslevel\zerocount} \def\maximumpdfcompression{\pdfobjcompresslevel\plusone \pdfcompresslevel\plusnine } \def\normalpdfcompression {\pdfobjcompresslevel\plusone \pdfcompresslevel\plusthree} with \normalpdfcompression being default ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Peter Rolf wrote:
Hi Hans,
looks my knowledge of TeX is holey like a Leerdammer. Can you tell me why you fire a warning for already defined, non-global allocated registers? Some of them make sense here but even a grouped (and local allocated) register gives such a warning.
warning : \count \OLDpdfcompresslevel is already defined (\relax it first)
\def\disablePDFcompression% {\bgroup % \let\OLDpdfcompresslevel\relax \newcount\OLDpdfcompresslevel \OLDpdfcompresslevel\pdfcompresslevel \pdfcompresslevel\zerocount\relax} \def\allowPDFcompression% {\pdfcompresslevel\OLDpdfcompresslevel\egroup}
first of all, there is a command \nopdfcompression so you don't need the hackery then, \newcount is global and the latest releases of context catch redefinitions so: - either move the \newcount outside the macro - or relax it first (which will spoil a counter then) (the whole allocator has been rewritten and is no longer doing it in the traditional tex way, at least not with respect to where things end up; cleaner this way) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen schrieb:
Peter Rolf wrote:
Hi Hans,
looks my knowledge of TeX is holey like a Leerdammer. Can you tell me why you fire a warning for already defined, non-global allocated registers? Some of them make sense here but even a grouped (and local allocated) register gives such a warning.
warning : \count \OLDpdfcompresslevel is already defined (\relax it first)
\def\disablePDFcompression% {\bgroup % \let\OLDpdfcompresslevel\relax \newcount\OLDpdfcompresslevel \OLDpdfcompresslevel\pdfcompresslevel \pdfcompresslevel\zerocount\relax} \def\allowPDFcompression% {\pdfcompresslevel\OLDpdfcompresslevel\egroup}
first of all, there is a command \nopdfcompression so you don't need the hackery
well, the code is messed up this way, because i had also disabled \pdfobjcompresslevel in a prior version. after i found out, that you can't change it at runtime (only once at the very beginning of the document) i removed it. the rest of the macro was unchanged.
then, \newcount is global and the latest releases of context catch redefinitions so:
- either move the \newcount outside the macro - or relax it first (which will spoil a counter then)
ok, will do so. thanks Hans and Wolfgang!
(the whole allocator has been rewritten and is no longer doing it in the traditional tex way, at least not with respect to where things end up; cleaner this way)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | 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 / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- "Es ist doch ein Trost, das Geldgier manchmal blöd macht." - Kottan in "Kottan ermittelt", Folge 9: "Die Einteilung" -
Peter Rolf wrote:
Hi Hans,
looks my knowledge of TeX is holey like a Leerdammer. Can you tell me why you fire a warning for already defined, non-global allocated registers? Some of them make sense here but even a grouped (and local allocated) register gives such a warning.
warning : \count \OLDpdfcompresslevel is already defined (\relax it first)
\def\disablePDFcompression% {\bgroup % \let\OLDpdfcompresslevel\relax \newcount\OLDpdfcompresslevel
actually, i could probably make a global as well as a local registre pool (thr trick is in avoiding stack buildup) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Peter Rolf
-
Wolfgang Schuster