[squeak-dev] Incorrect keyboard mapping with Ctrl key in latest Smalltalk VM release (Windows 1903 64bit, squeak.cog.spur)

Eliot Miranda eliot.miranda at gmail.com
Tue Dec 10 19:27:52 UTC 2019


On Tue, Dec 10, 2019 at 11:26 AM Eliot Miranda <eliot.miranda at gmail.com>
wrote:

>
>
> On Tue, Dec 10, 2019 at 10:31 AM tim Rowledge <tim at rowledge.org> wrote:
>
>>
>>
>> > On 2019-12-10, at 10:05 AM, Nicolas Cellier <
>> nicolas.cellier.aka.nice at gmail.com> wrote:
>> >
>> > Hi Christoph,
>> > The image side is totally messy,
>> > The VM side is also messy, so finding a combination that might work is
>> a sport.
>>
>> You're not wrong. I had a bit of fun with this stuff making the Raspberry
>> Pi Scratch system handle linux non-ascii type keyboard input. An
>> interesting problem there was that enabling the linux extension completely
>> broke something else (that I can't remember at all) and made the whole
>> attempt moot.
>>
>>
>> > To summarize: we have reached a point where we cannot change/add one
>> feature without breaking one other (at least).
>> > The consequence is that we have some sort of "stable" status because we
>> cannot change anything (the statu quo).
>>
>> I suspect this is what happens to almost every complex project. I mean,
>> look at how all the OS's get messed up and stall for years. They're all
>> terrible right now.
>>
>> Supporting old images means keeping the old messy VM code around. Doing
>> something new and clean means a lot of work and probably using new
>> primitives or some variety of flag to request use of the new code. Then
>> we'd want to decide on a time to drop the old mess.
>>
>
> See can at least comment it and corral the old messy code in ifdef's such
> as
>
> #if SUPPORT_OLD_IMAGE_CHARACTER_MAPPING_CRAP
> ...
> #endif
>
> so that we don't have to think too hard about what we delete the next time
> we have a major release that breaks image backward compatibility.  I
> personally don't mind the old cruft being there.  What I hate is not
> knowing what the cruft is.  The code, especially the C VM code, must be
> properly documented so that it doesn't require intimate knowledge with
> older versions, the history, but twiddling hacks, etc, etc.
>

I mean:
We can at least comment it and corral the old messy code in ifdef's such as

#if VERSION <= FOO
# define SUPPORT_OLD_IMAGE_CHARACTER_MAPPING_CRAP 1
#endif
....
#if SUPPORT_OLD_IMAGE_CHARACTER_MAPPING_CRAP
...
#endif

so that we don't have to think too hard about what we delete the next time
we have a major release that breaks image backward compatibility.  I
personally don't mind the old cruft being there.  What I hate is not
knowing what the cruft is.  The code, especially the C VM code, must be
properly documented so that it doesn't require intimate knowledge with
older versions, the history, but twiddling hacks, etc, etc.

>
>> Lovely project! ;-)
>>
>> tim
>> --
>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>> Strange OpCodes: DPC: Double Precision Crash
>>
>>
>>
>>
>
> --
> _,,,^..^,,,_
> best, Eliot
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191210/f153dc1d/attachment.html>


More information about the Squeak-dev mailing list