[squeak-dev] support of various line ends in trunk
Juan Vuletich
juan at jvuletich.org
Tue Nov 17 13:15:22 UTC 2009
Hi Igor,
Igor Stasenko wrote:
> 2009/11/17 Juan Vuletich <juan at jvuletich.org>:
>
>> Hi Stephan,
>>
>> stephan at stack.nl wrote:
>>
>>> Juan wrote:
>>>
>>>> Showing all in the same way is misleading. Different Strings should look
>>>> different in the editor!
>>>>
>>> Why should they? No system (old mac, unix, dos) has the correct
>>> ASCII behaviour and no user expects them to. Squeak is multi-platform
>>> and has its own internal conventions.
>>>
>> The purpose of an editor is to show the user the characters that comprise
>> the String being edited, and allow him to add / remove characters at will.
>> This is so obvious that I feel silly saying it. Why would some characters be
>> silently messed by the system? I see no reason. It is like the horrible
>> "ASCII mode" in FTP, that breaks every file it downloads.
>>
>>
>>> Conversion should always default
>>> towards the internal conventions, with the possibility to override that
>>> behaviour. Default write-out should be to platform standard, eliminating
>>> multi-convention line ends. If the user wants something different, she
>>> knows enough to override the defaults.
>>>
>> Squeak is not an application. Squeak is an object environment. Squeak
>> editors don't edit files. They edit Strings. The behavior of the editors and
>> that of the code used to read the strings from files or to store them back
>> to files are completely unrelated issues. There could be no files at all. Or
>> the files could be in a web server or whatever. They could be dynamically
>> created by some other application. They could be part of an object you're
>> inspecting. Assuming there is a well known "platform standard" to follow is
>> wrong. May be in an application... Then the programmer doing that
>> application might do whatever conversion fit his needs. But the base system
>> should do none by default.
>>
>>
> and it doesn't.
>
> You seem mixing the roles of:
> - text reader/writer/converter
> - text editor
>
> Role 1:
> - different system utils, for convenience, providing a text
> reader/writer(s) with default or auto-detect or platform-specific line
> ending format(s).
>
Some application might need this. The base system doesn't.
> Role 2:
> - a text editor expects a string which having only cr as a line
> ending markers in input string/stream. PERIOD.
>
That is an error. There is no reason for that. And you saying "PERIOD"
doesn't change that.
> - text editor, if requested could convert an edited text from its
> internal representation back into string with cr's, ready to use
> by/for any other means outside of it. PERIOD.
>
Well, you can add commands for the user to do any conversion. That's not
a problem.
> - basically, text editor should not mess with ANY control characters
> beyond its internal representation/needs. PERIOD.
>
It doesn't have any internal representation needs. That's my whole
point. It can handle all 3 line endings without any problem at all, as
it does in Cuis.
Cheers,
Juan Vuletich
More information about the Squeak-dev
mailing list
|