What have I done now ? (aka CR and LF confusion)

Alex Tweedly alex at tweedly.net
Thu May 28 11:20:13 EDT 2020


Thanks Brian, that was a very helpful and clear description. It's 
amazing that I've been an active Runrev/livecode for nearly 20 years and 
not been affected by this until now :-)

Re. a PR to change it, it does seem it will run into concerns about 
backward compatability. Is it likely to succeed to propose a new 
URL-type - maybe "textfile".

Then you could do

   put tData into URL "textfile:tiny.txt"   to get the sane behaviour

but continue to do

   put tData into URL "file:tiny.txt"   to get the existing behaviour

To me, it feels like a better self-documenting case - binfile vs 
textfile, rather than binfile vs file.

Alex.


On 28/05/2020 03:15, Brian Milby via use-livecode wrote:
> You need to use binfile on Mac to get sane line endings.  I have a PR to fix, but doubt it will get merged.
>
> On Mac/Windows, file will convert line endings to what LC thinks is the native one for the OS.  CRLF for Windows and CR for Mac (the real CR, not the one that LC uses internally where CR and LF are synonyms for LF).  So on Linux you can use either file or binfile, on Windows you need to use file, and on Mac you need to use binfile to get the currently expected line endings.
>
> Thanks,
> Brian
> On May 27, 2020, 9:24 PM -0400, Alex Tweedly via use-livecode <use-livecode at lists.runrev.com>, wrote:
>> I don't know if I've done something to my LC prefs, or to my Mac, or to
>> myself :-)
>>
>> the following script
>>
>>> on mouseUp
>>>     local t
>>>     put "asd" & CR & "qwe" & CR & "zxc" &CR into t
>>>     put t into URL ("file:/Users/alextweedly/tiny.txt")
>>> end mouseUp
>> does create a file - but that file can't be (easily, properly) used by
>> some other Mac apps, because all the end-of-line characters are 0x0d
>> (i.e. numtochar(13)). So unix utilities like wc, cat, grep, more, ...
>> won't deal with it properly - though emacs, Sublime, Coda2, etc. do ok.
>>
>> If I create the same file in an editor (emacs, Sublime Text, ...) they
>> all produce e-o-l characters which are 0x0A (i.e. numtochar(10)), and
>> this works in both editors and utilities mentioned above, as well as LC.
>>
>> Maybe it's always been like this ??
>>
>> I don't know - I just noticed because I tried to 'grep' for some
>> characters in all files within a folder, and didn't find anything
>> (though I should have done).
>>
>> SO I can get by - just avoid using any files created within LC with any
>> other apps - but I'd rather find out if I should be doing something
>> different, or if I've accidentally changed some setting that causes this.
>>
>> Thanks for any thoughts,
>>
>> Alex.
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list