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

Jakob Reschke forums.jakob at resfarm.de
Sat Dec 14 17:28:50 UTC 2019


If the code is hidden in ifdefs it will not be visible to the compiler and
thus the CI. Then we will not detect when the old ways break. Maybe
implement a feature flag that can be switched from the image. New images
can switch the old mess off via some primitive, and tests can switch it on
to test the mess.

After some time the mess and flag can be removed and old images will no
longer be supported.

Eliot Miranda <eliot.miranda at gmail.com> schrieb am Di., 10. Dez. 2019,
20:28:

>
>
> 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/20191214/61cc600e/attachment.html>


More information about the Squeak-dev mailing list