[Vm-dev] primitiveTranslateStringWithTable

Florin Mateoc florin.mateoc at gmail.com
Wed Apr 21 17:59:31 UTC 2021


Yes, you are most likely getting the errorNoModification only because of
the primitive fallback code

On Wed, Apr 21, 2021 at 1:52 PM Nicolas Cellier <
nicolas.cellier.aka.nice at gmail.com> wrote:

>
> Hmm OK,
> on a recently recompiled spur 64bits VM I've got errorNoModification,
> maybe because the optional primitive is missing?
> On 32 bits spur VM though, I get the behavior that you described.
>
> Le mer. 21 avr. 2021 à 14:54, Florin Mateoc <florin.mateoc at gmail.com> a
> écrit :
> >
> >
> > Hi Nicolas,
> >
> > I did try it. After making sure a string was not interned, ( "Symbol
> findInterned: 'test123'" return nil ), I did
> >
> > | s | s := #TEST123.
> > s translateToLowercase.
> > Symbol findInterned: s
> >
> > and the resulting s is a Symbol and it is not interned
> >
> > Florin
> >
> > On Wed, Apr 21, 2021 at 2:06 AM Nicolas Cellier <
> nicolas.cellier.aka.nice at gmail.com> wrote:
> >>
> >>
> >> Hi Florin,
> >> did you try it? It should fail if passing a literal
> (ModificationForbidden).
> >> I see that it's only ever sent to copy asString, for case translation
> >> or converting lineEndings...
> >>
> >> Le mer. 21 avr. 2021 à 01:17, Florin Mateoc <florin.mateoc at gmail.com>
> a écrit :
> >> >
> >> >
> >> > Hi,
> >> >
> >> > While looking at some of the more exotic primitives, I stumbled upon
> this little gem.
> >> > I think it's bad enough that it modifies strings in place (some of
> those could be method literals), but it even modifies symbols in place,
> without adding them to the symbol table.
> >> >
> >> > I would say this is a bug, I don't think symbols should be modified
> in place (other than by the #intern: method), but this does not look
> unintentional - apparently ByteSymbol class >> #translate:from:to:table:
> was added specifically to make the primitive work on symbols too.
> >> >
> >> > Does anybody have any insight into this, is this functionality
> (modifying symbols in place) used anywhere?
> >> >
> >> > Thank you,
> >> > Florin
> >> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210421/d2832ea0/attachment.html>


More information about the Vm-dev mailing list