> On 5 Aug 2017, at 11:06, Alistair Grant <[email protected]> wrote: > > On Sat, Aug 05, 2017 at 10:49:02AM +0200, Esteban Lorenzano wrote: >> I think there is a consensus we need to keep #cr and #lf as intended, >> yet to add some kind of #newLine (which btw is different to EOL :P) >> vocabulary, isn???t? >> >> In this, I favour Peter approach for define line ending convention >> (the way #newLine will work)??? and of course by default it should use >> the one from the current platform. >> >> anything agains this approach? >> >> Esteban > > +1 > > I prefer #nl to #newLine, but admit that it is a subjective preference > and that descriptive names are generally better.
heh, me too… but is a bit cryptic. > > Cheers, > Alistair > > >>> On 4 Aug 2017, at 23:48, Tudor Girba <[email protected]> wrote: >>> >>> +1. >>> >>> We need a basic representation of those characters. Logical ones should be >>> derived from the simple ones. >>> >>> Doru >>> >>> >>>> On Aug 4, 2017, at 3:44 PM, Esteban Lorenzano <[email protected]> wrote: >>>> >>>> >>>>> On 4 Aug 2017, at 15:41, Damien Pollet <[email protected]> wrote: >>>>> >>>>> I agree with Pablo, #cr and #lf should not be clever and just be names >>>>> for the carriage return and linefeed characters/codepoints. >>>> >>>> +1 >>>> >>>>> >>>>> Making #newLine's behavior dependent on the current platform disturbs me, >>>>> though. I'd rather have: >>>>> >>>>> Stream >> newLineFor: platform >>>>> self nextPutAll: platform lineEnding >>>>> >>>>> Stream >> newLineForCurrentPlatform >>>>> self newLineFor: OSPlatform current >>>>> >>>>> Stream >> newLineForWindows "convenience for the most common platforms >>>>> Stream >> newLineForUnix >>>>> Stream >> newLineForHistoricReasons >>>>> >>>>> Stream >> newLine >>>>> "delegates to one of the above, I'd argue for unix for convenience, but >>>>> windows is the technically correct combination of cr + lf, and cr only is >>>>> the historic one" >>>>> >>>>> >>>>> On 4 August 2017 at 14:25, [email protected] <[email protected]> wrote: >>>>> To me it is clear that cr and lf should be in streams. But they should >>>>> put the 'cr' or 'lf' character only. And of course the platform >>>>> independent newline should be also. >>>>> >>>>> The first (cr, lf) should be used by the code wanting to have absolute >>>>> control of what is in the stream. The later (newline) when you just want >>>>> a new line. >>>>> >>>>> The two have completely different behaviour, ones are really low level, >>>>> the other is higher level. >>>>> >>>>> On 4 Aug 2017 14:20, "Esteban Lorenzano" <[email protected]> wrote: >>>>> >>>>>> On 4 Aug 2017, at 14:06, Stephane Ducasse <[email protected]> >>>>>> wrote: >>>>>> >>>>>> Well. This is not implemented like that in Pharo. >>>>>> >>>>>> cr is bad because it does not mean that it is independent of the >>>>>> platform. >>>>>> So cr can be redefined as newLine and keep but not used inside the >>>>>> system. >>>>> >>>>> sometimes you actually want to write a cr (or a lf). So it needs to >>>>> remain in the system, of course. >>>>> now, including #newLine can be cool (most of the times you want the >>>>> ???platform compatible??? new line). Also I would consider including #nl, >>>>> abbreviated??? just for convenience :P >>>>> >>>>> Esteban >>>>> >>>>>> >>>>>> Stef >>>>>> >>>>>> On Fri, Aug 4, 2017 at 12:50 PM, Jan Vrany <[email protected]> wrote: >>>>>>> On Fri, 2017-08-04 at 12:03 +0200, Stephane Ducasse wrote: >>>>>>>> Hi guys >>>>>>>> >>>>>>>> While writing pillar code, I ended up using "stream cr" and it >>>>>>>> worries >>>>>>>> me to still expand usage >>>>>>>> of a pattern I would like to remove. >>>>>>>> >>>>>>>> Let us imagine that we would like to prepare the migration from cr. >>>>>>>> I was thinking that we could replace cr invocation by newLine so that >>>>>>>> after newLine >>>>>>>> could be redefined as >>>>>>>> >>>>>>>> Stream >> newLine >>>>>>>> self nextPutAll: OSPlatform current lineEnding >>>>>>>> >>>>>>>> >>>>>>>> what do you think about this approach? >>>>>>> >>>>>>> Why not? But please keep #cr. >>>>>>> >>>>>>> Section 5.9.4.1 of ANSI reads: >>>>>>> >>>>>>> Message: cr >>>>>>> >>>>>>> Synopsis >>>>>>> Writes an end-of-line sequence to the receiver. >>>>>>> >>>>>>> Definition: <puttableStream> >>>>>>> A sequence of character objects that constitute the implementation- >>>>>>> defined end-of-line sequence is added to the receiver in the same >>>>>>> manner as if the message #nextPutAll: was sent to the receiver with >>>>>>> an argument string whose elements are the sequence of characters. >>>>>>> >>>>>>> Return Value >>>>>>> UNSPECIFIED >>>>>>> Errors >>>>>>> It is erroneous if any element of the end-of-line sequence is an >>>>>>> object that does not conform to the receiver's sequence value type . >>>>>>> >>>>>>> my 2c, >>>>>>> >>>>>>> Jan >>>>>>> >>>>>>>> >>>>>>>> Stef >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Damien Pollet >>>>> type less, do more [ | ] http://people.untyped.org/damien.pollet >
