Hi,
Thanks. In the latest version of all Grease packages and the print: method is not around in the Stream hierarchy. So, for is it Ok to have the fix in BOLatexWriter>>visitInternalLink: by replacing stream with latex to work with print: or do you see problems there? Cheers, Doru On 24 Sep 2011, at 23:11, Lukas Renggli wrote: > Yes, this is intentional: 'stream' is the raw low-level stream, 'latex' is the high-level encoded stream. The choice to which you send the output is important. Changing it likely breaks the generation of valid LaTeX. > > GRPharoUtf8CodecStream or better its abstract superclass should implement #print:. I think this was discussed in the Seaside list recently and fixed, but I might be wrong. > > Lukas > > On Saturday, 24 September 2011, Tudor Girba <[hidden email]> wrote: > > Hi, > > > > I am testing Pier 2 some more, and now I got a problem in the Latex writer. Specifically, I do not quite understand the difference between the latex instance variable and the inherited stream one. > > > > Take a look at the snippet below: > > > > BOLatexWriter>>visitInternalLink: anInternalLink > > ... > > latex tab ... square: [ stream nextPutAll: 'width='; print: ((anInternalLink parameterAt: 'width' ifAbsent: [ 100 ]) asNumber / 100.0); ... ] > > > > When executed on a book we have two instance variables: > > - stream: instance of GRPharoUtf8CodecStream (inherited) > > - latex: instance of BOLatexStream which wraps stream > > > > Now, it so happens that GRPharoUtf8CodecStream does not understand print:, but this method exists in BOLatexStream. I fixed the code by replacing stream with latex in the above method, and it works. > > > > But, there are still other places that use stream, and I think they should all use the BOLatexStream instance instead. So, my question is: Is this intentional? Or maybe should we actually simply override the setting of stream and use that one for everything? > > > > Cheers, > > Doru > > > > > > > > -- > > www.tudorgirba.com > > > > "Yesterday is a fact. > > Tomorrow is a possibility. > > Today is a challenge." > > > > > > > > > > _______________________________________________ > > Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > -- > Lukas Renggli > www.lukas-renggli.ch > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- www.tudorgirba.com "From an abstract enough point of view, any two things are similar." _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> Thanks. In the latest version of all Grease packages and the print: method is not around in the Stream hierarchy.
Ok, then it should be added. > So, for is it Ok to have the fix in BOLatexWriter>>visitInternalLink: by replacing stream with latex to work with print: or do you see problems there? No, the two strams don't have te same semantics. stream print: '\' should print '\'; latex print: '\' should print '\\'. Lukas > > Cheers, > Doru > > > On 24 Sep 2011, at 23:11, Lukas Renggli wrote: > >> Yes, this is intentional: 'stream' is the raw low-level stream, 'latex' is the high-level encoded stream. The choice to which you send the output is important. Changing it likely breaks the generation of valid LaTeX. >> >> GRPharoUtf8CodecStream or better its abstract superclass should implement #print:. I think this was discussed in the Seaside list recently and fixed, but I might be wrong. >> >> Lukas >> >> On Saturday, 24 September 2011, Tudor Girba <[hidden email]> wrote: >> > Hi, >> > >> > I am testing Pier 2 some more, and now I got a problem in the Latex writer. Specifically, I do not quite understand the difference between the latex instance variable and the inherited stream one. >> > >> > Take a look at the snippet below: >> > >> > BOLatexWriter>>visitInternalLink: anInternalLink >> > ... >> > latex tab ... square: [ stream nextPutAll: 'width='; print: ((anInternalLink parameterAt: 'width' ifAbsent: [ 100 ]) asNumber / 100.0); ... ] >> > >> > When executed on a book we have two instance variables: >> > - stream: instance of GRPharoUtf8CodecStream (inherited) >> > - latex: instance of BOLatexStream which wraps stream >> > >> > Now, it so happens that GRPharoUtf8CodecStream does not understand print:, but this method exists in BOLatexStream. I fixed the code by replacing stream with latex in the above method, and it works. >> > >> > But, there are still other places that use stream, and I think they should all use the BOLatexStream instance instead. So, my question is: Is this intentional? Or maybe should we actually simply override the setting of stream and use that one for everything? >> > >> > Cheers, >> > Doru >> > >> > >> > >> > -- >> > www.tudorgirba.com >> > >> > "Yesterday is a fact. >> > Tomorrow is a possibility. >> > Today is a challenge." >> > >> > >> > >> > >> > _______________________________________________ >> > Magritte, Pier and Related Tools ... >> > https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > >> >> -- >> Lukas Renggli >> www.lukas-renggli.ch >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > -- > www.tudorgirba.com > > "From an abstract enough point of view, any two things are similar." > > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi,
On 25 Sep 2011, at 08:49, Lukas Renggli wrote: > > Thanks. In the latest version of all Grease packages and the print: method is not around in the Stream hierarchy. > > Ok, then it should be added. > > > So, for is it Ok to have the fix in BOLatexWriter>>visitInternalLink: by replacing stream with latex to work with print: or do you see problems there? > > No, the two strams don't have te same semantics. stream print: '\' should print '\'; latex print: '\' should print '\\'. Right. I got the difference now. But, I still would not know how to implement GRXYZStream>>print:, because I am not sure I understand what is the difference between print: and nextPutAll:. Could anyone help with this matter? Cheers, Doru > Lukas > > > > > Cheers, > > Doru > > > > > > On 24 Sep 2011, at 23:11, Lukas Renggli wrote: > > > >> Yes, this is intentional: 'stream' is the raw low-level stream, 'latex' is the high-level encoded stream. The choice to which you send the output is important. Changing it likely breaks the generation of valid LaTeX. > >> > >> GRPharoUtf8CodecStream or better its abstract superclass should implement #print:. I think this was discussed in the Seaside list recently and fixed, but I might be wrong. > >> > >> Lukas > >> > >> On Saturday, 24 September 2011, Tudor Girba <[hidden email]> wrote: > >> > Hi, > >> > > >> > I am testing Pier 2 some more, and now I got a problem in the Latex writer. Specifically, I do not quite understand the difference between the latex instance variable and the inherited stream one. > >> > > >> > Take a look at the snippet below: > >> > > >> > BOLatexWriter>>visitInternalLink: anInternalLink > >> > ... > >> > latex tab ... square: [ stream nextPutAll: 'width='; print: ((anInternalLink parameterAt: 'width' ifAbsent: [ 100 ]) asNumber / 100.0); ... ] > >> > > >> > When executed on a book we have two instance variables: > >> > - stream: instance of GRPharoUtf8CodecStream (inherited) > >> > - latex: instance of BOLatexStream which wraps stream > >> > > >> > Now, it so happens that GRPharoUtf8CodecStream does not understand print:, but this method exists in BOLatexStream. I fixed the code by replacing stream with latex in the above method, and it works. > >> > > >> > But, there are still other places that use stream, and I think they should all use the BOLatexStream instance instead. So, my question is: Is this intentional? Or maybe should we actually simply override the setting of stream and use that one for everything? > >> > > >> > Cheers, > >> > Doru > >> > > >> > > >> > > >> > -- > >> > www.tudorgirba.com > >> > > >> > "Yesterday is a fact. > >> > Tomorrow is a possibility. > >> > Today is a challenge." > >> > > >> > > >> > > >> > > >> > _______________________________________________ > >> > Magritte, Pier and Related Tools ... > >> > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >> > > >> > >> -- > >> Lukas Renggli > >> www.lukas-renggli.ch > >> _______________________________________________ > >> Magritte, Pier and Related Tools ... > >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > -- > > www.tudorgirba.com > > > > "From an abstract enough point of view, any two things are similar." > > > > > > > > _______________________________________________ > > seaside mailing list > > [hidden email] > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > -- > Lukas Renggli > www.lukas-renggli.ch > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- www.tudorgirba.com "In a world where everything is moving ever faster, one might have better chances to win by moving slower." _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Have a look if
Name: Grease-Core-lr.66 Author: lr Time: 25 September 2011, 10:13:37 am UUID: 0a3221fb-c5d8-4ce1-b139-0e6dc72481a2 Ancestors: Grease-Core-dkh.65 - add GRCodecStream>>#print: fixes the problem? Lukas On 25 September 2011 09:53, Tudor Girba <[hidden email]> wrote: > Hi, > > > On 25 Sep 2011, at 08:49, Lukas Renggli wrote: > >> > Thanks. In the latest version of all Grease packages and the print: method is not around in the Stream hierarchy. >> >> Ok, then it should be added. >> >> > So, for is it Ok to have the fix in BOLatexWriter>>visitInternalLink: by replacing stream with latex to work with print: or do you see problems there? >> >> No, the two strams don't have te same semantics. stream print: '\' should print '\'; latex print: '\' should print '\\'. > > Right. I got the difference now. > > But, I still would not know how to implement GRXYZStream>>print:, because I am not sure I understand what is the difference between print: and nextPutAll:. Could anyone help with this matter? > > Cheers, > Doru > > > >> Lukas >> >> > >> > Cheers, >> > Doru >> > >> > >> > On 24 Sep 2011, at 23:11, Lukas Renggli wrote: >> > >> >> Yes, this is intentional: 'stream' is the raw low-level stream, 'latex' is the high-level encoded stream. The choice to which you send the output is important. Changing it likely breaks the generation of valid LaTeX. >> >> >> >> GRPharoUtf8CodecStream or better its abstract superclass should implement #print:. I think this was discussed in the Seaside list recently and fixed, but I might be wrong. >> >> >> >> Lukas >> >> >> >> On Saturday, 24 September 2011, Tudor Girba <[hidden email]> wrote: >> >> > Hi, >> >> > >> >> > I am testing Pier 2 some more, and now I got a problem in the Latex writer. Specifically, I do not quite understand the difference between the latex instance variable and the inherited stream one. >> >> > >> >> > Take a look at the snippet below: >> >> > >> >> > BOLatexWriter>>visitInternalLink: anInternalLink >> >> > ... >> >> > latex tab ... square: [ stream nextPutAll: 'width='; print: ((anInternalLink parameterAt: 'width' ifAbsent: [ 100 ]) asNumber / 100.0); ... ] >> >> > >> >> > When executed on a book we have two instance variables: >> >> > - stream: instance of GRPharoUtf8CodecStream (inherited) >> >> > - latex: instance of BOLatexStream which wraps stream >> >> > >> >> > Now, it so happens that GRPharoUtf8CodecStream does not understand print:, but this method exists in BOLatexStream. I fixed the code by replacing stream with latex in the above method, and it works. >> >> > >> >> > But, there are still other places that use stream, and I think they should all use the BOLatexStream instance instead. So, my question is: Is this intentional? Or maybe should we actually simply override the setting of stream and use that one for everything? >> >> > >> >> > Cheers, >> >> > Doru >> >> > >> >> > >> >> > >> >> > -- >> >> > www.tudorgirba.com >> >> > >> >> > "Yesterday is a fact. >> >> > Tomorrow is a possibility. >> >> > Today is a challenge." >> >> > >> >> > >> >> > >> >> > >> >> > _______________________________________________ >> >> > Magritte, Pier and Related Tools ... >> >> > https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> > >> >> >> >> -- >> >> Lukas Renggli >> >> www.lukas-renggli.ch >> >> _______________________________________________ >> >> Magritte, Pier and Related Tools ... >> >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > >> > -- >> > www.tudorgirba.com >> > >> > "From an abstract enough point of view, any two things are similar." >> > >> > >> > >> > _______________________________________________ >> > seaside mailing list >> > [hidden email] >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > >> >> -- >> Lukas Renggli >> www.lukas-renggli.ch >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > -- > www.tudorgirba.com > > "In a world where everything is moving ever faster, > one might have better chances to win by moving slower." > > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |