too much logging

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

too much logging

Eliot Miranda-2
Hi Colin, Hi All,

    if in 4.5 one tries to evaluate a doit somewhere in a verdant transcript, one containing much content, then too much logging will occur to the changes file.  Instead of the selected doit being logged, the entire contents of the transcript up to the end of the doit will be logged, and that can cause parse errors when recovering changes.

So how best to solve this?  Here are some ideas and I wanted to ask people's opinion

- have CompilationCue remember the position of the source stream and instead of using "source contents" in streamToLog use "source position; upToEnd"

- have Parser/Scanner remember the characters parsed in a buffer and take them from there

- change ReadWriteStream to remember its initial position so that when one says
    (ReadWriteStream on: (String withAll: ((0 to: 255) collect: [:n| n asCharacter]))
        from: $A asInteger + 1 to: $Z asInteger + 1) contents
one gets 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
instead of
 '
 !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ'

IMO the last option is the right thing to do but it feels like a big change.
--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: too much logging

Chris Muller-3
Eliot, could this be the cause of Dave's "RemoteString" problem the other week?

Is this problem new to 4.5 or did it also exist in 4.4?

It's sounding more and more like we're going to need a 4.5.1.  So far we have:

  - Chinese character issue
  - Saving projects issue
  - 'Smalltalk' Environment issue
  - this?


2014-05-02 11:11 GMT-05:00 Eliot Miranda <[hidden email]>:

> Hi Colin, Hi All,
>
>     if in 4.5 one tries to evaluate a doit somewhere in a verdant
> transcript, one containing much content, then too much logging will occur to
> the changes file.  Instead of the selected doit being logged, the entire
> contents of the transcript up to the end of the doit will be logged, and
> that can cause parse errors when recovering changes.
>
> So how best to solve this?  Here are some ideas and I wanted to ask people's
> opinion
>
> - have CompilationCue remember the position of the source stream and instead
> of using "source contents" in streamToLog use "source position; upToEnd"
>
> - have Parser/Scanner remember the characters parsed in a buffer and take
> them from there
>
> - change ReadWriteStream to remember its initial position so that when one
> says
>     (ReadWriteStream on: (String withAll: ((0 to: 255) collect: [:n| n
> asCharacter]))
>         from: $A asInteger + 1 to: $Z asInteger + 1) contents
> one gets 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
> instead of
>  '
> !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>
> IMO the last option is the right thing to do but it feels like a big change.
> --
> best,
> Eliot
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: too much logging

Eliot Miranda-2



On Fri, May 2, 2014 at 9:20 AM, Chris Muller <[hidden email]> wrote:
Eliot, could this be the cause of Dave's "RemoteString" problem the other week?

I don't know.
 

Is this problem new to 4.5 or did it also exist in 4.4?

It's ancient.
 

It's sounding more and more like we're going to need a 4.5.1.  So far we have:

  - Chinese character issue
  - Saving projects issue
  - 'Smalltalk' Environment issue
  - this?

One position would be to ask "Isn't that what trunk is?".  But for the noob or the industrial user (or anyone who wants a defined starting position, for example me in autobuilding the VMMaker image) I think providing defined named entities makes sense.

So another position (which appeals to me) is to decide to take 4.5, and on, say, the first of each month, update it and publish the updated thing as 4.5.N where N ranges from 1 to 12 or beyond.  Hopefully 4.6/5 will come along before we get to 13 ;-)

 


2014-05-02 11:11 GMT-05:00 Eliot Miranda <[hidden email]>:
> Hi Colin, Hi All,
>
>     if in 4.5 one tries to evaluate a doit somewhere in a verdant
> transcript, one containing much content, then too much logging will occur to
> the changes file.  Instead of the selected doit being logged, the entire
> contents of the transcript up to the end of the doit will be logged, and
> that can cause parse errors when recovering changes.
>
> So how best to solve this?  Here are some ideas and I wanted to ask people's
> opinion
>
> - have CompilationCue remember the position of the source stream and instead
> of using "source contents" in streamToLog use "source position; upToEnd"
>
> - have Parser/Scanner remember the characters parsed in a buffer and take
> them from there
>
> - change ReadWriteStream to remember its initial position so that when one
> says
>     (ReadWriteStream on: (String withAll: ((0 to: 255) collect: [:n| n
> asCharacter]))
>         from: $A asInteger + 1 to: $Z asInteger + 1) contents
> one gets 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
> instead of
>  '
> !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>
> IMO the last option is the right thing to do but it feels like a big change.
> --
> best,
> Eliot
>
>
>




--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: too much logging

Eliot Miranda-2
In reply to this post by Eliot Miranda-2



2014-05-02 9:11 GMT-07:00 Eliot Miranda <[hidden email]>:
Hi Colin, Hi All,

    if in 4.5 one tries to evaluate a doit somewhere in a verdant transcript, one containing much content, then too much logging will occur to the changes file.  Instead of the selected doit being logged, the entire contents of the transcript up to the end of the doit will be logged, and that can cause parse errors when recovering changes.

So how best to solve this?  Here are some ideas and I wanted to ask people's opinion

- have CompilationCue remember the position of the source stream and instead of using "source contents" in streamToLog use "source position; upToEnd"

- have Parser/Scanner remember the characters parsed in a buffer and take them from there

- change ReadWriteStream to remember its initial position so that when one says
    (ReadWriteStream on: (String withAll: ((0 to: 255) collect: [:n| n asCharacter]))
        from: $A asInteger + 1 to: $Z asInteger + 1) contents
one gets 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
instead of
 '
!"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ'

IMO the last option is the right thing to do but it feels like a big change.

and indeed implementing the latter doesn't break anything in the standard test suite.  I'm committing the fix plus some tests. 
--
best,
Eliot