Is it just me or is class comment editing totally broken in 4.5?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

Bert Freudenberg

On 10.04.2014, at 08:11, Chris Muller <[hidden email]> wrote:

> Frank wrote:
>
>> What would make
>> auto-enclose much more paredit like is automating the manipulation of
>> parens.  Not just adding a ) every time you type a ( but letting e you
>> "slurp" expressions into the enclosing paren (whether [], {} or ()
>> parens) or "burp" them out, deleting empty pairs of parens, and so on.
>
> Hey, did you happen to know about Command+', Command+Shift+",
> Command+(, Command+[, and Command+Shift+{ ?   :-)   They let you do
> exactly what I think you're saying.
... if you use a US English keyboard layout.

- Bert -

> 1) Select an expression by either click+drag, double-clicking just
> inside any of ', ", (, [, {, }, ], or ), or, if you're at the
> keyboard, Command+Space when the text-cursor is positioned there.
> Note, the selection does not include the bracket/paren characters
> themselves, but up-to just inside them.
>
> 2) Press one of the above-mentioned Command key sequences.  If you
> press the same one that you're already in, it will toggle between
> adding/removing that expression ("slurp").  If you press one of those
> Command-key sequences that is different than the expression, it will
> add that surrounding bracket around the expression, toggling it on and
> off ("burp").
>
> - Chris
>
>> Paredit takes a bit of getting used to - precisely because you're
>> leaning on the IDE more to manipulate expressions rather than
>> adding/deleting characters but once you get used to it, it's
>> awesome.
>
>
>
>>
>> frank
>>
>



smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

Chris Muller-3
>> Hey, did you happen to know about Command+', Command+Shift+",
>> Command+(, Command+[, and Command+Shift+{ ?   :-)   They let you do
>> exactly what I think you're saying.
>
> ... if you use a US English keyboard layout.

Yes, it works on US English keyboard's.  Are you saying it doesn't on
non?    How could that be, since non-English surely needs all those
same symbols too...?

Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

Frank Shearar-3
In reply to this post by Chris Muller-3
On 10 April 2014 16:11, Chris Muller <[hidden email]> wrote:

> Frank wrote:
>
>> What would make
>> auto-enclose much more paredit like is automating the manipulation of
>> parens.  Not just adding a ) every time you type a ( but letting e you
>> "slurp" expressions into the enclosing paren (whether [], {} or ()
>> parens) or "burp" them out, deleting empty pairs of parens, and so on.
>
> Hey, did you happen to know about Command+', Command+Shift+",
> Command+(, Command+[, and Command+Shift+{ ?   :-)   They let you do
> exactly what I think you're saying.
>
> 1) Select an expression by either click+drag, double-clicking just
> inside any of ', ", (, [, {, }, ], or ), or, if you're at the
> keyboard, Command+Space when the text-cursor is positioned there.
> Note, the selection does not include the bracket/paren characters
> themselves, but up-to just inside them.
>
> 2) Press one of the above-mentioned Command key sequences.  If you
> press the same one that you're already in, it will toggle between
> adding/removing that expression ("slurp").  If you press one of those
> Command-key sequences that is different than the expression, it will
> add that surrounding bracket around the expression, toggling it on and
> off ("burp").

Right, so that's part of it. By "slurp" I mean moving the inner
brackets in (+ 1 (+ 2 3) 4) to (+ 1 (+ 2 3 4)). Moving from (+ 1 (+ 2
3 4)) to (+ 1 (+ 2 3) 4) would be to "burp" the 4 out of the inner
expression.

In Smalltalk, I could see something like this happening. Ignore for
the moment the fact that the code's clearly ridiculously
side-effectful. You start with

    self foo.
    self bar.
    self baz.

But you realise you should only send #bar under certain conditions. So
you move your cursor before "self bar". You hit (, and your code
changes to

    self foo.
    (|) self bar.
    self baz.

where | indicates the cursor position. You type in the condition and
right-arrow to move outside the parens. (Really, there needs to be a
keypress called "move one expression forward"):

    self foo.
    (self isBarrable)| self bar.
    self baz.

and you enter ifTrue: which, since it takes a block, adds a [] for you:

    self foo.
    (self isBarrable) ifTrue: [|] self bar.
    self baz.

and then you can "slurp" the expression:

    self foo.
    (self isBarrable) ifTrue: [self bar|].
    self baz.

But then you realise that you only send #baz under the same condition,
and you can slurp the next expression:

    self foo.
    (self isBarrable) ifTrue: [
        self bar.
        self baz|].

At a later time you change things so that the #baz send is
unconditional, and you "burp" out the expression by moving the cursor
inside the []s and hitting the "burp expression" command key.

    self foo.
    (self isBarrable) ifTrue: [
        self bar|].
    self baz.

(I've also illustrated the editing experience autoformatting. In Lisp
this is a no-brainer: if your code doesn't match Emacs indentation
rules, it's wrong, end of discussion. (In Go, it's a _compiler error_
to deviate from One True Brace Style.))

I hope that explains what I wouldn't mind seeing in a Smalltalk text editor.

frank

>  - Chris
>
>> Paredit takes a bit of getting used to - precisely because you're
>> leaning on the IDE more to manipulate expressions rather than
>> adding/deleting characters but once you get used to it, it's
>> awesome.
>
>
>
>>
>> frank
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

timrowledge
In reply to this post by Chris Muller-3

On 10-04-2014, at 8:41 AM, Chris Muller <[hidden email]> wrote:

>>> Hey, did you happen to know about Command+', Command+Shift+",
>>> Command+(, Command+[, and Command+Shift+{ ?   :-)   They let you do
>>> exactly what I think you're saying.
>>
>> ... if you use a US English keyboard layout.
>
> Yes, it works on US English keyboard's.  Are you saying it doesn't on
> non?    How could that be, since non-English surely needs all those
> same symbols too…?

But they’re not often in the same places. So the appropriate way to specify short-cuts would be cmd+( - leave out the shift because on a US kbd you have to shift to get ( but on a Madeupistan kbd you have ( with no shift but { requires shift-alt-meta2-richardstallman-opt to get to it.



tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Can't program his way out of a for-loop.



Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

Herbert König
In reply to this post by Chris Muller-3
Hey, thanks Chris for the reminder.

That gives me back the most used good things without the annoyances.

For my favourite " and ( it works with a German Keyboard layout (Win 7).
Funny but ' does the same as ".
[{ and| work if you temporarily switch to US Layout by ALT+SHIFT and
happen to know their locations on the US Keyboard.

Cheers,

Herbert
Am 10.04.2014 17:11, schrieb Chris Muller:

> Frank wrote:
>
>> What would make
>> auto-enclose much more paredit like is automating the manipulation of
>> parens.  Not just adding a ) every time you type a ( but letting e you
>> "slurp" expressions into the enclosing paren (whether [], {} or ()
>> parens) or "burp" them out, deleting empty pairs of parens, and so on.
> Hey, did you happen to know about Command+', Command+Shift+",
> Command+(, Command+[, and Command+Shift+{ ?   :-)   They let you do
> exactly what I think you're saying.
>
> 1) Select an expression by either click+drag, double-clicking just
> inside any of ', ", (, [, {, }, ], or ), or, if you're at the
> keyboard, Command+Space when the text-cursor is positioned there.
> Note, the selection does not include the bracket/paren characters
> themselves, but up-to just inside them.
>
> 2) Press one of the above-mentioned Command key sequences.  If you
> press the same one that you're already in, it will toggle between
> adding/removing that expression ("slurp").  If you press one of those
> Command-key sequences that is different than the expression, it will
> add that surrounding bracket around the expression, toggling it on and
> off ("burp").
>
>   - Chris
>
>> Paredit takes a bit of getting used to - precisely because you're
>> leaning on the IDE more to manipulate expressions rather than
>> adding/deleting characters but once you get used to it, it's
>> awesome.
>
>
>> frank
>>


Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

timrowledge

On 10-04-2014, at 10:13 AM, Herbert König <[hidden email]> wrote:

> Hey, thanks Chris for the reminder.
>
> That gives me back the most used good things without the annoyances.

The enclose shortcuts have been in the system since, ooh, perhaps 1980? The important thing is that they don’t intrude, unlike automagically (and oh-so-often wrongly) adding close braces etc. It would be just fine to provide magic-key-( capability that added the close ) and put the cursor back in between them. Just don’t do it without being asked.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful Latin Phrases:- Spero nos familiares mansuros. = I hope we'll still be friends.



Reply | Threaded
Open this post in threaded view
|

Re: How do I convince a Workspace to stop "helping" me?

Chris Muller-4
In reply to this post by Frank Shearar-3
> ....
> I hope that explains what I wouldn't mind seeing in a Smalltalk text editor.

Yes, I've found myself doing that quite a bit and have not found a
better way with Squeak than C&P.  It's surprisingly cumbersome
relative to seeing just one simple little close-brace in the way.  But
since I'm composing expressions mode, I don't like to fiddle with the
closing brace on its own, so I C&P the expression.  Yes, a hot-key for
that would be nice.

Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally    broken in 4.5?

Chris Muller-3
In reply to this post by David T. Lewis
Okay, I was just getting this again in our release image.  Strange --
it happens on one laptop but not the other..!  The suggested patch
seemed to work for me, don't we need to push this fix to trunk and
squeak45?

On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:

> Ah, right, thank you! I do recall the discussion now that you mention it.
> I use VMs compiled on my own machine, which happens to be a new Ubuntu
> system at the moment. It probably has the buggy gcc library.
>
> Thanks a lot,
> Dave
>
>
>> WriteStream&gt;&gt;nextChunkPut
>>
>>
>>
>> add a self flush at the end will fix it.
>>
>>
>>
>>
>> Discussion several months ago fingered the gcc 4 compiler so something.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> cheers.
>>
>>
>> tty
>>
>> ---- On Wed, 09 Apr 2014 16:52:54 -0700 David T.
>> Lewis&lt;[hidden email]&gt; wrote ----
>>
>>
>> Create a new class, attempt to edit the class comment ==&gt; Error:
>> RemoteString past end of file
>>
>> Surely I cannot be the first person to have edited a class comment in the
>> last month or so ... I hope.
>>
>> Dave
>>
>>
>>
>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally    broken in 4.5?

David T. Lewis
I should double check to be sure, but I think this was a bug in the run
time libraries of the operating system, as opposed to something in the VM
or the image. I can't say I like the idea of putting a kludge into the
image to work around a bug in Ubuntu, although it might be worthwhile in
this case just to prevent new users from having a bad experience.

Come to think of it, we should be able to write a unit test that would
detect this problem when running Squeak on a buggy OS.

Dave

> Okay, I was just getting this again in our release image.  Strange --
> it happens on one laptop but not the other..!  The suggested patch
> seemed to work for me, don't we need to push this fix to trunk and
> squeak45?
>
> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]>
> wrote:
>> Ah, right, thank you! I do recall the discussion now that you mention
>> it.
>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>> system at the moment. It probably has the buggy gcc library.
>>
>> Thanks a lot,
>> Dave
>>
>>
>>> WriteStream&gt;&gt;nextChunkPut
>>>
>>>
>>>
>>> add a self flush at the end will fix it.
>>>
>>>
>>>
>>>
>>> Discussion several months ago fingered the gcc 4 compiler so something.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> cheers.
>>>
>>>
>>> tty
>>>
>>> ---- On Wed, 09 Apr 2014 16:52:54 -0700 David T.
>>> Lewis&lt;[hidden email]&gt; wrote ----
>>>
>>>
>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>>> RemoteString past end of file
>>>
>>> Surely I cannot be the first person to have edited a class comment in
>>> the
>>> last month or so ... I hope.
>>>
>>> Dave
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>



Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally    broken in 4.5?

Chris Muller-3
Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
of the other way around..  Actually not, Ubuntu seems to be getting
worse in some ways..

On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:

> I should double check to be sure, but I think this was a bug in the run
> time libraries of the operating system, as opposed to something in the VM
> or the image. I can't say I like the idea of putting a kludge into the
> image to work around a bug in Ubuntu, although it might be worthwhile in
> this case just to prevent new users from having a bad experience.
>
> Come to think of it, we should be able to write a unit test that would
> detect this problem when running Squeak on a buggy OS.
>
> Dave
>
>> Okay, I was just getting this again in our release image.  Strange --
>> it happens on one laptop but not the other..!  The suggested patch
>> seemed to work for me, don't we need to push this fix to trunk and
>> squeak45?
>>
>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]>
>> wrote:
>>> Ah, right, thank you! I do recall the discussion now that you mention
>>> it.
>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>>> system at the moment. It probably has the buggy gcc library.
>>>
>>> Thanks a lot,
>>> Dave
>>>
>>>
>>>> WriteStream&gt;&gt;nextChunkPut
>>>>
>>>>
>>>>
>>>> add a self flush at the end will fix it.
>>>>
>>>>
>>>>
>>>>
>>>> Discussion several months ago fingered the gcc 4 compiler so something.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> cheers.
>>>>
>>>>
>>>> tty
>>>>
>>>> ---- On Wed, 09 Apr 2014 16:52:54 -0700 David T.
>>>> Lewis&lt;[hidden email]&gt; wrote ----
>>>>
>>>>
>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>>>> RemoteString past end of file
>>>>
>>>> Surely I cannot be the first person to have edited a class comment in
>>>> the
>>>> last month or so ... I hope.
>>>>
>>>> Dave
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

David T. Lewis
On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:

>
> On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
>>
>>>
>>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
>>>>
>>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
>>>>>>
>>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>>>>>> RemoteString past end of file
>>>>>>
>>>>>> Surely I cannot be the first person to have edited a class comment in
>>>>>> the
>>>>>> last month or so ... I hope.
>>>>>>
>>>>>
>>>>> WriteStream>>nextChunkPut
>>>>>
>>>>> add a self flush at the end will fix it.
>>>>>
>>>>> Discussion several months ago fingered the gcc 4 compiler so something.
>>>>>
>>>>> cheers.
>>>>>
>>>>> tty
>>>>>
>>>>
>>>> Ah, right, thank you! I do recall the discussion now that you mention it.
>>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>>>> system at the moment. It probably has the buggy gcc library.
>>>>
>>>> Thanks a lot,
>>>> Dave
>>>>
>>> Okay, I was just getting this again in our release image.  Strange --
>>> it happens on one laptop but not the other..!  The suggested patch
>>> seemed to work for me, don't we need to push this fix to trunk and
>>> squeak45?
>>>
>> I should double check to be sure, but I think this was a bug in the run
>> time libraries of the operating system, as opposed to something in the VM
>> or the image. I can't say I like the idea of putting a kludge into the
>> image to work around a bug in Ubuntu, although it might be worthwhile in
>> this case just to prevent new users from having a bad experience.
>>
>> Come to think of it, we should be able to write a unit test that would
>> detect this problem when running Squeak on a buggy OS.
>>
>> Dave
>>
> Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
> of the other way around..  Actually not, Ubuntu seems to be getting
> worse in some ways..
>

I am having a hard time reducing this problem to something I can put into
a unit test. I can't see any obvious problem in the way the writes are being
performed on a file stream, and the actual failure seems to be happening
when creating the initial RemoteStream for a class comment. When a new class
is created without a class comment, the classComment in the ClassOrganizer
is nil. When accepting a new comment in a browser for the first time, a
RemoteStream is created to reference the comment that will be saved in the
changes file. Something gets out of whack at that point, but I have not yet
spotted the cause.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

David T. Lewis
On Sat, May 03, 2014 at 02:01:57PM -0400, David T. Lewis wrote:

> On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:
> >
> > On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
> >>
> >>>
> >>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
> >>>>
> >>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
> >>>>>>
> >>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
> >>>>>> RemoteString past end of file
> >>>>>>
> >>>>>> Surely I cannot be the first person to have edited a class comment in
> >>>>>> the
> >>>>>> last month or so ... I hope.
> >>>>>>
> >>>>>
> >>>>> WriteStream>>nextChunkPut
> >>>>>
> >>>>> add a self flush at the end will fix it.
> >>>>>
> >>>>> Discussion several months ago fingered the gcc 4 compiler so something.
> >>>>>
> >>>>> cheers.
> >>>>>
> >>>>> tty
> >>>>>
> >>>>
> >>>> Ah, right, thank you! I do recall the discussion now that you mention it.
> >>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
> >>>> system at the moment. It probably has the buggy gcc library.
> >>>>
> >>>> Thanks a lot,
> >>>> Dave
> >>>>
> >>> Okay, I was just getting this again in our release image.  Strange --
> >>> it happens on one laptop but not the other..!  The suggested patch
> >>> seemed to work for me, don't we need to push this fix to trunk and
> >>> squeak45?
> >>>
> >> I should double check to be sure, but I think this was a bug in the run
> >> time libraries of the operating system, as opposed to something in the VM
> >> or the image. I can't say I like the idea of putting a kludge into the
> >> image to work around a bug in Ubuntu, although it might be worthwhile in
> >> this case just to prevent new users from having a bad experience.
> >>
> >> Come to think of it, we should be able to write a unit test that would
> >> detect this problem when running Squeak on a buggy OS.
> >>
> >> Dave
> >>
> > Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
> > of the other way around..  Actually not, Ubuntu seems to be getting
> > worse in some ways..
> >
>
> I am having a hard time reducing this problem to something I can put into
> a unit test. I can't see any obvious problem in the way the writes are being
> performed on a file stream, and the actual failure seems to be happening
> when creating the initial RemoteStream for a class comment. When a new class
> is created without a class comment, the classComment in the ClassOrganizer
> is nil. When accepting a new comment in a browser for the first time, a
> RemoteStream is created to reference the comment that will be saved in the
> changes file. Something gets out of whack at that point, but I have not yet
> spotted the cause.

I pushed the fix^h^h^hworkaround for this to the inbox. I bothers me a bit that
I can't come up with a reproduceable test case for this, but the change seems
harmless.

If no objections, this will go into trunk.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

Chris Muller-4
Magma performance is definitely affected by #flush -- it takes care
care to not flush more than once every 5 seconds.

I want to research whether this will affect that..

On Mon, May 5, 2014 at 11:48 AM, David T. Lewis <[hidden email]> wrote:

> On Sat, May 03, 2014 at 02:01:57PM -0400, David T. Lewis wrote:
>> On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:
>> >
>> > On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
>> >>
>> >>>
>> >>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
>> >>>>
>> >>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>> >>>>>> RemoteString past end of file
>> >>>>>>
>> >>>>>> Surely I cannot be the first person to have edited a class comment in
>> >>>>>> the
>> >>>>>> last month or so ... I hope.
>> >>>>>>
>> >>>>>
>> >>>>> WriteStream>>nextChunkPut
>> >>>>>
>> >>>>> add a self flush at the end will fix it.
>> >>>>>
>> >>>>> Discussion several months ago fingered the gcc 4 compiler so something.
>> >>>>>
>> >>>>> cheers.
>> >>>>>
>> >>>>> tty
>> >>>>>
>> >>>>
>> >>>> Ah, right, thank you! I do recall the discussion now that you mention it.
>> >>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>> >>>> system at the moment. It probably has the buggy gcc library.
>> >>>>
>> >>>> Thanks a lot,
>> >>>> Dave
>> >>>>
>> >>> Okay, I was just getting this again in our release image.  Strange --
>> >>> it happens on one laptop but not the other..!  The suggested patch
>> >>> seemed to work for me, don't we need to push this fix to trunk and
>> >>> squeak45?
>> >>>
>> >> I should double check to be sure, but I think this was a bug in the run
>> >> time libraries of the operating system, as opposed to something in the VM
>> >> or the image. I can't say I like the idea of putting a kludge into the
>> >> image to work around a bug in Ubuntu, although it might be worthwhile in
>> >> this case just to prevent new users from having a bad experience.
>> >>
>> >> Come to think of it, we should be able to write a unit test that would
>> >> detect this problem when running Squeak on a buggy OS.
>> >>
>> >> Dave
>> >>
>> > Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
>> > of the other way around..  Actually not, Ubuntu seems to be getting
>> > worse in some ways..
>> >
>>
>> I am having a hard time reducing this problem to something I can put into
>> a unit test. I can't see any obvious problem in the way the writes are being
>> performed on a file stream, and the actual failure seems to be happening
>> when creating the initial RemoteStream for a class comment. When a new class
>> is created without a class comment, the classComment in the ClassOrganizer
>> is nil. When accepting a new comment in a browser for the first time, a
>> RemoteStream is created to reference the comment that will be saved in the
>> changes file. Something gets out of whack at that point, but I have not yet
>> spotted the cause.
>
> I pushed the fix^h^h^hworkaround for this to the inbox. I bothers me a bit that
> I can't come up with a reproduceable test case for this, but the change seems
> harmless.
>
> If no objections, this will go into trunk.
>
> Dave
>

Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

Eliot Miranda-2
Hi Chris,


On Mon, May 5, 2014 at 11:17 AM, Chris Muller <[hidden email]> wrote:
Magma performance is definitely affected by #flush -- it takes care
care to not flush more than once every 5 seconds.

I want to research whether this will affect that..

I doubt it very much.  David's fix s to add a flush to nextChunkPut: and nextChunkPut: is used exclusively to write source code to sources/changes files.
 

On Mon, May 5, 2014 at 11:48 AM, David T. Lewis <[hidden email]> wrote:
> On Sat, May 03, 2014 at 02:01:57PM -0400, David T. Lewis wrote:
>> On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:
>> >
>> > On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
>> >>
>> >>>
>> >>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
>> >>>>
>> >>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>> >>>>>> RemoteString past end of file
>> >>>>>>
>> >>>>>> Surely I cannot be the first person to have edited a class comment in
>> >>>>>> the
>> >>>>>> last month or so ... I hope.
>> >>>>>>
>> >>>>>
>> >>>>> WriteStream>>nextChunkPut
>> >>>>>
>> >>>>> add a self flush at the end will fix it.
>> >>>>>
>> >>>>> Discussion several months ago fingered the gcc 4 compiler so something.
>> >>>>>
>> >>>>> cheers.
>> >>>>>
>> >>>>> tty
>> >>>>>
>> >>>>
>> >>>> Ah, right, thank you! I do recall the discussion now that you mention it.
>> >>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>> >>>> system at the moment. It probably has the buggy gcc library.
>> >>>>
>> >>>> Thanks a lot,
>> >>>> Dave
>> >>>>
>> >>> Okay, I was just getting this again in our release image.  Strange --
>> >>> it happens on one laptop but not the other..!  The suggested patch
>> >>> seemed to work for me, don't we need to push this fix to trunk and
>> >>> squeak45?
>> >>>
>> >> I should double check to be sure, but I think this was a bug in the run
>> >> time libraries of the operating system, as opposed to something in the VM
>> >> or the image. I can't say I like the idea of putting a kludge into the
>> >> image to work around a bug in Ubuntu, although it might be worthwhile in
>> >> this case just to prevent new users from having a bad experience.
>> >>
>> >> Come to think of it, we should be able to write a unit test that would
>> >> detect this problem when running Squeak on a buggy OS.
>> >>
>> >> Dave
>> >>
>> > Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
>> > of the other way around..  Actually not, Ubuntu seems to be getting
>> > worse in some ways..
>> >
>>
>> I am having a hard time reducing this problem to something I can put into
>> a unit test. I can't see any obvious problem in the way the writes are being
>> performed on a file stream, and the actual failure seems to be happening
>> when creating the initial RemoteStream for a class comment. When a new class
>> is created without a class comment, the classComment in the ClassOrganizer
>> is nil. When accepting a new comment in a browser for the first time, a
>> RemoteStream is created to reference the comment that will be saved in the
>> changes file. Something gets out of whack at that point, but I have not yet
>> spotted the cause.
>
> I pushed the fix^h^h^hworkaround for this to the inbox. I bothers me a bit that
> I can't come up with a reproduceable test case for this, but the change seems
> harmless.
>
> If no objections, this will go into trunk.
>
> Dave
>




--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

Frank Shearar-3
In reply to this post by David T. Lewis
On 5 May 2014 17:48, David T. Lewis <[hidden email]> wrote:

> On Sat, May 03, 2014 at 02:01:57PM -0400, David T. Lewis wrote:
>> On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:
>> >
>> > On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
>> >>
>> >>>
>> >>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
>> >>>>
>> >>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>> >>>>>> RemoteString past end of file
>> >>>>>>
>> >>>>>> Surely I cannot be the first person to have edited a class comment in
>> >>>>>> the
>> >>>>>> last month or so ... I hope.
>> >>>>>>
>> >>>>>
>> >>>>> WriteStream>>nextChunkPut
>> >>>>>
>> >>>>> add a self flush at the end will fix it.
>> >>>>>
>> >>>>> Discussion several months ago fingered the gcc 4 compiler so something.
>> >>>>>
>> >>>>> cheers.
>> >>>>>
>> >>>>> tty
>> >>>>>
>> >>>>
>> >>>> Ah, right, thank you! I do recall the discussion now that you mention it.
>> >>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>> >>>> system at the moment. It probably has the buggy gcc library.
>> >>>>
>> >>>> Thanks a lot,
>> >>>> Dave
>> >>>>
>> >>> Okay, I was just getting this again in our release image.  Strange --
>> >>> it happens on one laptop but not the other..!  The suggested patch
>> >>> seemed to work for me, don't we need to push this fix to trunk and
>> >>> squeak45?
>> >>>
>> >> I should double check to be sure, but I think this was a bug in the run
>> >> time libraries of the operating system, as opposed to something in the VM
>> >> or the image. I can't say I like the idea of putting a kludge into the
>> >> image to work around a bug in Ubuntu, although it might be worthwhile in
>> >> this case just to prevent new users from having a bad experience.
>> >>
>> >> Come to think of it, we should be able to write a unit test that would
>> >> detect this problem when running Squeak on a buggy OS.
>> >>
>> >> Dave
>> >>
>> > Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
>> > of the other way around..  Actually not, Ubuntu seems to be getting
>> > worse in some ways..
>> >
>>
>> I am having a hard time reducing this problem to something I can put into
>> a unit test. I can't see any obvious problem in the way the writes are being
>> performed on a file stream, and the actual failure seems to be happening
>> when creating the initial RemoteStream for a class comment. When a new class
>> is created without a class comment, the classComment in the ClassOrganizer
>> is nil. When accepting a new comment in a browser for the first time, a
>> RemoteStream is created to reference the comment that will be saved in the
>> changes file. Something gets out of whack at that point, but I have not yet
>> spotted the cause.
>
> I pushed the fix^h^h^hworkaround for this to the inbox. I bothers me a bit that
> I can't come up with a reproduceable test case for this, but the change seems
> harmless.

This is the same issue that cropped up just after 4.4's release,
right? IIRC I patched trunk & 4.4, but then soon reverted the
workarounds because the community considered the workaround a Bad
Thing (tm), possibly making the proper fix more difficult to find.

I'm happy if folks have since changed their mind.

> If no objections, this will go into trunk.

Not from me.

frank

> Dave
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

David T. Lewis
On Mon, May 05, 2014 at 09:48:49PM +0100, Frank Shearar wrote:

> On 5 May 2014 17:48, David T. Lewis <[hidden email]> wrote:
> > On Sat, May 03, 2014 at 02:01:57PM -0400, David T. Lewis wrote:
> >> On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:
> >> >
> >> > On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
> >> >>
> >> >>>
> >> >>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
> >> >>>>
> >> >>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
> >> >>>>>>
> >> >>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
> >> >>>>>> RemoteString past end of file
> >> >>>>>>
> >> >>>>>> Surely I cannot be the first person to have edited a class comment in
> >> >>>>>> the
> >> >>>>>> last month or so ... I hope.
> >> >>>>>>
> >> >>>>>
> >> >>>>> WriteStream>>nextChunkPut
> >> >>>>>
> >> >>>>> add a self flush at the end will fix it.
> >> >>>>>
> >> >>>>> Discussion several months ago fingered the gcc 4 compiler so something.
> >> >>>>>
> >> >>>>> cheers.
> >> >>>>>
> >> >>>>> tty
> >> >>>>>
> >> >>>>
> >> >>>> Ah, right, thank you! I do recall the discussion now that you mention it.
> >> >>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
> >> >>>> system at the moment. It probably has the buggy gcc library.
> >> >>>>
> >> >>>> Thanks a lot,
> >> >>>> Dave
> >> >>>>
> >> >>> Okay, I was just getting this again in our release image.  Strange --
> >> >>> it happens on one laptop but not the other..!  The suggested patch
> >> >>> seemed to work for me, don't we need to push this fix to trunk and
> >> >>> squeak45?
> >> >>>
> >> >> I should double check to be sure, but I think this was a bug in the run
> >> >> time libraries of the operating system, as opposed to something in the VM
> >> >> or the image. I can't say I like the idea of putting a kludge into the
> >> >> image to work around a bug in Ubuntu, although it might be worthwhile in
> >> >> this case just to prevent new users from having a bad experience.
> >> >>
> >> >> Come to think of it, we should be able to write a unit test that would
> >> >> detect this problem when running Squeak on a buggy OS.
> >> >>
> >> >> Dave
> >> >>
> >> > Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
> >> > of the other way around..  Actually not, Ubuntu seems to be getting
> >> > worse in some ways..
> >> >
> >>
> >> I am having a hard time reducing this problem to something I can put into
> >> a unit test. I can't see any obvious problem in the way the writes are being
> >> performed on a file stream, and the actual failure seems to be happening
> >> when creating the initial RemoteStream for a class comment. When a new class
> >> is created without a class comment, the classComment in the ClassOrganizer
> >> is nil. When accepting a new comment in a browser for the first time, a
> >> RemoteStream is created to reference the comment that will be saved in the
> >> changes file. Something gets out of whack at that point, but I have not yet
> >> spotted the cause.
> >
> > I pushed the fix^h^h^hworkaround for this to the inbox. I bothers me a bit that
> > I can't come up with a reproduceable test case for this, but the change seems
> > harmless.
>
> This is the same issue that cropped up just after 4.4's release,
> right? IIRC I patched trunk & 4.4, but then soon reverted the
> workarounds because the community considered the workaround a Bad
> Thing (tm), possibly making the proper fix more difficult to find.
>

Let me guess ... it was probably me griping about it when you originally
fixed it in 4.4, right?

> I'm happy if folks have since changed their mind.
>

If it was me, then I guess changed my mind. No point in punishing the user
just because they are using Ubuntu.

> > If no objections, this will go into trunk.
>
> Not from me.
>
> frank
>

Thanks. Let's let Chris check it out to make sure it does not affect Magma,
then move it (back) to trunk.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: Is it just me or is class comment editing totally broken in 4.5?

Frank Shearar-3
On 6 May 2014 01:48, David T. Lewis <[hidden email]> wrote:

> On Mon, May 05, 2014 at 09:48:49PM +0100, Frank Shearar wrote:
>> On 5 May 2014 17:48, David T. Lewis <[hidden email]> wrote:
>> > On Sat, May 03, 2014 at 02:01:57PM -0400, David T. Lewis wrote:
>> >> On Sat, May 03, 2014 at 11:18:11AM -0500, Chris Muller wrote:
>> >> >
>> >> > On Fri, May 2, 2014 at 4:38 PM, David T. Lewis <[hidden email]> wrote:
>> >> >>
>> >> >>>
>> >> >>> On Thu, Apr 10, 2014 at 10:06 AM, David T. Lewis <[hidden email]> wrote:
>> >> >>>>
>> >> >>>>> On Wed, 09 Apr 2014 16:52:54 -0700 David T. Lewis <[hidden email]> wrote:
>> >> >>>>>>
>> >> >>>>>> Create a new class, attempt to edit the class comment ==&gt; Error:
>> >> >>>>>> RemoteString past end of file
>> >> >>>>>>
>> >> >>>>>> Surely I cannot be the first person to have edited a class comment in
>> >> >>>>>> the
>> >> >>>>>> last month or so ... I hope.
>> >> >>>>>>
>> >> >>>>>
>> >> >>>>> WriteStream>>nextChunkPut
>> >> >>>>>
>> >> >>>>> add a self flush at the end will fix it.
>> >> >>>>>
>> >> >>>>> Discussion several months ago fingered the gcc 4 compiler so something.
>> >> >>>>>
>> >> >>>>> cheers.
>> >> >>>>>
>> >> >>>>> tty
>> >> >>>>>
>> >> >>>>
>> >> >>>> Ah, right, thank you! I do recall the discussion now that you mention it.
>> >> >>>> I use VMs compiled on my own machine, which happens to be a new Ubuntu
>> >> >>>> system at the moment. It probably has the buggy gcc library.
>> >> >>>>
>> >> >>>> Thanks a lot,
>> >> >>>> Dave
>> >> >>>>
>> >> >>> Okay, I was just getting this again in our release image.  Strange --
>> >> >>> it happens on one laptop but not the other..!  The suggested patch
>> >> >>> seemed to work for me, don't we need to push this fix to trunk and
>> >> >>> squeak45?
>> >> >>>
>> >> >> I should double check to be sure, but I think this was a bug in the run
>> >> >> time libraries of the operating system, as opposed to something in the VM
>> >> >> or the image. I can't say I like the idea of putting a kludge into the
>> >> >> image to work around a bug in Ubuntu, although it might be worthwhile in
>> >> >> this case just to prevent new users from having a bad experience.
>> >> >>
>> >> >> Come to think of it, we should be able to write a unit test that would
>> >> >> detect this problem when running Squeak on a buggy OS.
>> >> >>
>> >> >> Dave
>> >> >>
>> >> > Strange I encountered the bug on Ubuntu 14.04 instead of 12.04 instead
>> >> > of the other way around..  Actually not, Ubuntu seems to be getting
>> >> > worse in some ways..
>> >> >
>> >>
>> >> I am having a hard time reducing this problem to something I can put into
>> >> a unit test. I can't see any obvious problem in the way the writes are being
>> >> performed on a file stream, and the actual failure seems to be happening
>> >> when creating the initial RemoteStream for a class comment. When a new class
>> >> is created without a class comment, the classComment in the ClassOrganizer
>> >> is nil. When accepting a new comment in a browser for the first time, a
>> >> RemoteStream is created to reference the comment that will be saved in the
>> >> changes file. Something gets out of whack at that point, but I have not yet
>> >> spotted the cause.
>> >
>> > I pushed the fix^h^h^hworkaround for this to the inbox. I bothers me a bit that
>> > I can't come up with a reproduceable test case for this, but the change seems
>> > harmless.
>>
>> This is the same issue that cropped up just after 4.4's release,
>> right? IIRC I patched trunk & 4.4, but then soon reverted the
>> workarounds because the community considered the workaround a Bad
>> Thing (tm), possibly making the proper fix more difficult to find.
>>
>
> Let me guess ... it was probably me griping about it when you originally
> fixed it in 4.4, right?

My father would say "no name, no pack drill" :) I think you did
object, and one or two other folks, and for good enough reason that I
retracted the fix.

>> I'm happy if folks have since changed their mind.
>>
>
> If it was me, then I guess changed my mind. No point in punishing the user
> just because they are using Ubuntu.

Yep, yep.

frank

>> > If no objections, this will go into trunk.
>>
>> Not from me.
>>
>> frank
>>
>
> Thanks. Let's let Chris check it out to make sure it does not affect Magma,
> then move it (back) to trunk.
>
> Dave
>
>

12