Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
April 2016
- 843 messages
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by Esteban A. Maringolo
2016-04-19 17:49 GMT-03:00 phil(a)highoctane.be <phil(a)highoctane.be>:
> On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
> wrote:
> But Pharo? Nah!
> We have a great debugger? Sure let's hide it under absconse shortcuts that
> only we know.
>
> New debugger is nicer looking but more painful to use and I never used any
> shortcut on it as they aren't those standard things.
>
> Anyway, I should be able to hack that the way I want, so, no real issue.
>
> Remember, first impressions count.
> This is a key one if we put "programming in the debugger" as a strong point
> of the environment.
+1
Thanks, I totally share you view on this.
Regards!
Esteban A. Maringolo
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by Sven Van Caekenberghe
We can have both, or we can make it super easy to enable or customise them.
Phil has a point: it seems there is some standard out there.
> On 19 Apr 2016, at 22:49, phil(a)highoctane.be wrote:
>
>
>
> On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com> wrote:
> >
> >
> >
> > On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
> >>
> >> This F keys suck!
> >
> >
> > +1. How do you remember which F key does what in the Debugger? F10 - fix my code to be a perfect 10??
> >
> Yeah, sure.
>
> Visual Studio is standardized on that an millions of people are using it.
> https://msdn.microsoft.com/en-us/library/aa239052%28v=vs.60%29.aspx?f=255&M…
>
> Same for PhpStorm, WebStorm, and Intellij IDEA, also used by millions.
> Talk about keymaps: check this --> https://www.jetbrains.com/help/phpstorm/2016.1/function-keys.html?origin=ol…
> (note the dropdown on the top right).
>
> Let's talk Chrome devtools (just a litte user base of millions as well):
>
> F8 -> Run
> F10 -> Step over
> F11 -> Step into
>
> Let's talk Firefox (okay, a tad less users)
>
> https://developer.mozilla.org/en-US/docs/Tools/Debugger/Keyboard_shortcuts
>
> Resume execution when at a breakpoint F8
> Step over F10
> Step into F11
> Step out Shift + F11
>
> CodeBlocks IDE
> http://wiki.codeblocks.org/index.php/Keyboard_Shortcuts
>
> Debug
>
> Function Shortcut Key
> Debug F8
> Continue debugging Ctrl + F7
> Step over a code block F7
> Step into a code block Shift + F7
> Step out of a code block Ctrl + Shift + F7
> Toggle breakpoint F5
> Run to cursor F4
> Previous error Alt + F1
> Next error Alt + F2
>
> Vim plugins for debugging Ruby:
>
> You may find useful to override default shortcut commands by F5-F8 shortcuts. Add these to your .vimrc:
>
> map <F7> :call g:RubyDebugger.step()<CR>
> map <F5> :call g:RubyDebugger.next()<CR>
> map <F8> :call g:RubyDebugger.continue()<CR>
>
> Even SAP uses F keys for that.
>
>
> f5->step by step
> f6->to skip the statements like perform,module,..
> f7->to come out from the form,module,..
> f8->run upto the cursor or run completely
>
> R studio:
>
> Toggle Breakpoint Shift+F9
> Execute Next Line F10
> Step Into Function Shift+F4
> Finish Function/Loop Shift+F6
> Continue Shift+F5
> Stop Debugging Shift+F8
>
>
> Delphi:
>
> F4 Run program to current cursor position
> F5 Toggle breakpoint
> F7 Debugger step into
> Shift - F7 Trace into next source line
> F8 Debugger step over
> Shift - F8 Run until return
> F9 Run program under debugger
>
>
> ActiveState Komodo IDE:
>
> Step In F11
> Step Over F10
> Step Out Shift-F11
> Start F5
>
> CodeLite
>
> Start/continue debugger F5
> Step Into F11
> Next F10
> Step Out Shift-F11
>
> Dolphin X6
>
> Go F5
> Step Into F11
> Step Over F10
> Step Out Shift-F11
> Run to cursor Ctl-F10
> Run Ctl-F5
> Restart Ctl-Shift-F5
>
> Toad debugger for PL/SQL
>
> F11
> Run (continue execution)
> F12
> Run to cursor
> SHIFT+F5
> Set or delete a breakpoint on the current line
> SHIFT+F7
> Trace into
> SHIFT+F8
> Step over
> SHIFT+F10
> Trace out
>
> Visualworks debugger
>
> Step Into: F5
> Step: F6
> Step Over: F7
> Run: F9
>
> World+dog uses F keys for debugging.
>
> But Pharo? Nah!
>
> We have a great debugger? Sure let's hide it under absconse shortcuts that only we know.
>
> New debugger is nicer looking but more painful to use and I never used any shortcut on it as they aren't those standard things.
>
> Anyway, I should be able to hack that the way I want, so, no real issue.
>
> Remember, first impressions count.
> This is a key one if we put "programming in the debugger" as a strong point of the environment.
>
> Ok on a Mac, F keys do involve a 'Fn' press because they are hidden under volume, brightness etc.
> So, on a Mac, that is more sucky than on Unix or Windows. Sure. There's a system preference to switch to normal.
>
> I'll get a hotmilk and a walk now. Need to calm down. "Functions keys do suck" What ?!
>
> Phil
>
>
> >>
> >>
> >> Stef
> >>
> >> Le 17/4/16 18:00, Ben Coman a écrit :
> >>
> >>> Interesting. A search turned up... Quick Tip Debugger Shortcut Key Reference
> >>> http://www.mularien.com/blog/category/eclipse/
> >>>
> >>> cheers -ben
> >>>
> >>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
> >>> <philippe.back(a)gmail.com> wrote:
> >>>>
> >>>> Most of the world IDE use function keys for debugging.
> >>>>
> >>>> Additional benefit: easier for newcomers to use it.
> >>>>
> >>>> Having the buttons on the top is a pain as the code pane is at the bottom
> >>>> and requires travels all the time.
> >>>>
> >>>> Phil
> >>>>
> >>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
> >>>>>
> >>>>> Well, I've added a startup script for myself... but it would be nice to
> >>>>> have it everywhere by default in some variant...
> >>>>>
> >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>>> StartupPreferencesLoader default executeAtomicItems: {
> >>>>> StartupAction
> >>>>> name: 'Change debugger labels & shortcuts'
> >>>>> code: [
> >>>>> GLMMorphicActionRenderer compile: (
> >>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
> >>>>> copyReplaceAll: 'setBalloonText: (anAction title'
> >>>>> with: 'setBalloonText: (anAction title asString'
> >>>>> ).
> >>>>> RestartDebugAction compile: 'defaultKeyText
> >>>>> ^ ''R'''.
> >>>>> RestartDebugAction compile: 'defaultLabel
> >>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> ResumeDebugAction compile: 'defaultKeyText
> >>>>> ^ ''P'''.
> >>>>> ResumeDebugAction compile: 'defaultLabel
> >>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> StepIntoDebugAction compile: 'defaultKeyText
> >>>>> ^ ''I'''.
> >>>>> StepIntoDebugAction compile: 'defaultLabel
> >>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> StepOverDebugAction compile: 'defaultLabel
> >>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> StepThroughDebugAction compile: 'defaultLabel
> >>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> ]
> >>>>> runOnce: true.
> >>>>> }
> >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> >>>>>>>
> >>>>>>> Letâs turn this energy into something positive. Please propose a
> >>>>>>> concrete set of default keybindings that you think would work better. In
> >>>>>>> this process, please take into account all keybindings that are already
> >>>>>>> defined in the code editor (it might not be so easy as it appears).
> >>>>>>
> >>>>>>
> >>>>>> As I've said:
> >>>>>>
> >>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux btw)
> >>>>>> 2. can we use the default shortcuts pattern where one of the letters is
> >>>>>> underlined?
> >>>>>>
> >>>>>> as for the shortcuts themselves, problem is proceed, restart & into
> >>>>>>
> >>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has shortcut
> >>>>>> confusing with restart
> >>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
> >>>>>> important here... indent is just convenience
> >>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
> >>>>>> important), but we can still use ctrl+shift+n and underline n (point 2)
> >>>>>>
> >>>>>> If points 1 & 2 are implemented, then the letter is not as important,
> >>>>>> although first letter is always preferable.
> >>>>>>
> >>>>>> Peter
> >>>>>>
> >>>>>>> Cheers,
> >>>>>>> Doru
> >>>>>>>
> >>>>>>>
> >>>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are completely
> >>>>>>>> random.
> >>>>>>>>
> >>>>>>>> Can we have them more meaningful and/or somehow visible?
> >>>>>>>>
> >>>>>>>> For now I ended up overriding the labels so I can at least see them...
> >>>>>>>> but doing this is also stupid, because I still have to look at them since I
> >>>>>>>> cannot remember random shortcuts.
> >>>>>>>>
> >>>>>>>> <debugger.png>
> >>>>>>>>
> >>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
> >>>>>>>> btw)
> >>>>>>>> 2. can we use the default shortcuts pattern where one of the letters
> >>>>>>>> is underlined?
> >>>>>>>>
> >>>>>>>> Peter
> >>>>>>>
> >>>>>>> --
> >>>>>>> www.tudorgirba.com
> >>>>>>> www.feenk.com
> >>>>>>>
> >>>>>>> "Value is always contextual."
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>
> >>
> >>
> >
> >
> >
> > --
> > _,,,^..^,,,_
> > best, Eliot
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by phil@highoctane.be
On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
wrote:
>
>
> On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
>
>> This F keys suck!
>>
>
> +1. How do you remember which F key does what in the Debugger? F10 - fix
> my code to be a perfect 10??
>
With a little tooltip shown when hovering buttons. The same way we get a
clue about other shortcuts. Alt-O-P opening Monticello. How do I know that
one? By looking. How do you remember? By doing it repeatedly.
I am speaking about the fact that we use super non standard debugging
shortcuts.
Remembering is another thing. Pharo makes it unnecessary hard. See other
mail.
Phil
>
>
>> Stef
>>
>> Le 17/4/16 18:00, Ben Coman a écrit :
>>
>> Interesting. A search turned up... Quick Tip Debugger Shortcut Key
>>> Reference
>>> http://www.mularien.com/blog/category/eclipse/
>>>
>>> cheers -ben
>>>
>>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
>>> <philippe.back(a)gmail.com> wrote:
>>>
>>>> Most of the world IDE use function keys for debugging.
>>>>
>>>> Additional benefit: easier for newcomers to use it.
>>>>
>>>> Having the buttons on the top is a pain as the code pane is at the
>>>> bottom
>>>> and requires travels all the time.
>>>>
>>>> Phil
>>>>
>>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
>>>>
>>>>> Well, I've added a startup script for myself... but it would be nice to
>>>>> have it everywhere by default in some variant...
>>>>>
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>> StartupPreferencesLoader default executeAtomicItems: {
>>>>> StartupAction
>>>>> name: 'Change debugger labels & shortcuts'
>>>>> code: [
>>>>> GLMMorphicActionRenderer compile: (
>>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
>>>>> copyReplaceAll: 'setBalloonText: (anAction title'
>>>>> with: 'setBalloonText: (anAction title asString'
>>>>> ).
>>>>> RestartDebugAction compile: 'defaultKeyText
>>>>> ^ ''R'''.
>>>>> RestartDebugAction compile: 'defaultLabel
>>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>>> 1'.
>>>>> ResumeDebugAction compile: 'defaultKeyText
>>>>> ^ ''P'''.
>>>>> ResumeDebugAction compile: 'defaultLabel
>>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>>> 1'.
>>>>> StepIntoDebugAction compile: 'defaultKeyText
>>>>> ^ ''I'''.
>>>>> StepIntoDebugAction compile: 'defaultLabel
>>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>> StepOverDebugAction compile: 'defaultLabel
>>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>> StepThroughDebugAction compile: 'defaultLabel
>>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>>> 1'.
>>>>> ]
>>>>> runOnce: true.
>>>>> }
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Letâs turn this energy into something positive. Please propose a
>>>>>>> concrete set of default keybindings that you think would work
>>>>>>> better. In
>>>>>>> this process, please take into account all keybindings that are
>>>>>>> already
>>>>>>> defined in the code editor (it might not be so easy as it appears).
>>>>>>>
>>>>>>
>>>>>> As I've said:
>>>>>>
>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>> btw)
>>>>>> 2. can we use the default shortcuts pattern where one of the letters
>>>>>> is
>>>>>> underlined?
>>>>>>
>>>>>> as for the shortcuts themselves, problem is proceed, restart & into
>>>>>>
>>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has shortcut
>>>>>> confusing with restart
>>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
>>>>>> important here... indent is just convenience
>>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
>>>>>> important), but we can still use ctrl+shift+n and underline n (point
>>>>>> 2)
>>>>>>
>>>>>> If points 1 & 2 are implemented, then the letter is not as important,
>>>>>> although first letter is always preferable.
>>>>>>
>>>>>> Peter
>>>>>>
>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are
>>>>>>>> completely
>>>>>>>> random.
>>>>>>>>
>>>>>>>> Can we have them more meaningful and/or somehow visible?
>>>>>>>>
>>>>>>>> For now I ended up overriding the labels so I can at least see
>>>>>>>> them...
>>>>>>>> but doing this is also stupid, because I still have to look at them
>>>>>>>> since I
>>>>>>>> cannot remember random shortcuts.
>>>>>>>>
>>>>>>>> <debugger.png>
>>>>>>>>
>>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>>>> btw)
>>>>>>>> 2. can we use the default shortcuts pattern where one of the letters
>>>>>>>> is underlined?
>>>>>>>>
>>>>>>>> Peter
>>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>> www.feenk.com
>>>>>>>
>>>>>>> "Value is always contextual."
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>
>>
>>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by phil@highoctane.be
On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
wrote:
>
>
>
> On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
>>
>> This F keys suck!
>
>
> +1. How do you remember which F key does what in the Debugger? F10 -
fix my code to be a perfect 10??
>
Yeah, sure.
Visual Studio is standardized on that an millions of people are using it.
https://msdn.microsoft.com/en-us/library/aa239052%28v=vs.60%29.aspx?f=255&M…
Same for PhpStorm, WebStorm, and Intellij IDEA, also used by millions.
Talk about keymaps: check this -->
https://www.jetbrains.com/help/phpstorm/2016.1/function-keys.html?origin=ol…
(note the dropdown on the top right).
Let's talk Chrome devtools (just a litte user base of millions as well):
F8 -> Run
F10 -> Step over
F11 -> Step into
Let's talk Firefox (okay, a tad less users)
https://developer.mozilla.org/en-US/docs/Tools/Debugger/Keyboard_shortcuts
Resume execution when at a breakpoint F8
Step over F10
Step into F11
Step out Shift + F11
CodeBlocks IDE
http://wiki.codeblocks.org/index.php/Keyboard_Shortcuts
Debug
Function Shortcut Key
Debug F8
Continue debugging Ctrl + F7
Step over a code block F7
Step into a code block Shift + F7
Step out of a code block Ctrl + Shift + F7
Toggle breakpoint F5
Run to cursor F4
Previous error Alt + F1
Next error Alt + F2
Vim plugins for debugging Ruby:
You may find useful to override default shortcut commands by F5-F8
shortcuts. Add these to your .vimrc:
map <F7> :call g:RubyDebugger.step()<CR>
map <F5> :call g:RubyDebugger.next()<CR>
map <F8> :call g:RubyDebugger.continue()<CR>
Even SAP uses F keys for that.
f5->step by step
f6->to skip the statements like perform,module,..
f7->to come out from the form,module,..
f8->run upto the cursor or run completely
R studio:
Toggle Breakpoint Shift+F9
Execute Next Line F10
Step Into Function Shift+F4
Finish Function/Loop Shift+F6
Continue Shift+F5
Stop Debugging Shift+F8
Delphi:
F4 Run program to current cursor position
F5 Toggle breakpoint
F7 Debugger step into
Shift - F7 Trace into next source line
F8 Debugger step over
Shift - F8 Run until return
F9 Run program under debugger
ActiveState Komodo IDE:
Step In F11
Step Over F10
Step Out Shift-F11
Start F5
CodeLite
Start/continue debugger F5
Step Into F11
Next F10
Step Out Shift-F11
Dolphin X6
Go F5
Step Into F11
Step Over F10
Step Out Shift-F11
Run to cursor Ctl-F10
Run Ctl-F5
Restart Ctl-Shift-F5
Toad debugger for PL/SQL
F11
Run (continue execution)
F12
Run to cursor
SHIFT+F5
Set or delete a breakpoint on the current line
SHIFT+F7
Trace into
SHIFT+F8
Step over
SHIFT+F10
Trace out
Visualworks debugger
Step Into: F5
Step: F6
Step Over: F7
Run: F9
World+dog uses F keys for debugging.
But Pharo? Nah!
We have a great debugger? Sure let's hide it under absconse shortcuts that
only we know.
New debugger is nicer looking but more painful to use and I never used any
shortcut on it as they aren't those standard things.
Anyway, I should be able to hack that the way I want, so, no real issue.
Remember, first impressions count.
This is a key one if we put "programming in the debugger" as a strong point
of the environment.
Ok on a Mac, F keys do involve a 'Fn' press because they are hidden under
volume, brightness etc.
So, on a Mac, that is more sucky than on Unix or Windows. Sure. There's a
system preference to switch to normal.
I'll get a hotmilk and a walk now. Need to calm down. "Functions keys do
suck" What ?!
Phil
>>
>>
>> Stef
>>
>> Le 17/4/16 18:00, Ben Coman a écrit :
>>
>>> Interesting. A search turned up... Quick Tip Debugger Shortcut Key
Reference
>>> http://www.mularien.com/blog/category/eclipse/
>>>
>>> cheers -ben
>>>
>>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
>>> <philippe.back(a)gmail.com> wrote:
>>>>
>>>> Most of the world IDE use function keys for debugging.
>>>>
>>>> Additional benefit: easier for newcomers to use it.
>>>>
>>>> Having the buttons on the top is a pain as the code pane is at the
bottom
>>>> and requires travels all the time.
>>>>
>>>> Phil
>>>>
>>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
>>>>>
>>>>> Well, I've added a startup script for myself... but it would be nice
to
>>>>> have it everywhere by default in some variant...
>>>>>
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>> StartupPreferencesLoader default executeAtomicItems: {
>>>>> StartupAction
>>>>> name: 'Change debugger labels & shortcuts'
>>>>> code: [
>>>>> GLMMorphicActionRenderer compile: (
>>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
>>>>> copyReplaceAll: 'setBalloonText: (anAction title'
>>>>> with: 'setBalloonText: (anAction title asString'
>>>>> ).
>>>>> RestartDebugAction compile: 'defaultKeyText
>>>>> ^ ''R'''.
>>>>> RestartDebugAction compile: 'defaultLabel
>>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1
to: 1'.
>>>>> ResumeDebugAction compile: 'defaultKeyText
>>>>> ^ ''P'''.
>>>>> ResumeDebugAction compile: 'defaultLabel
>>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1
to: 1'.
>>>>> StepIntoDebugAction compile: 'defaultKeyText
>>>>> ^ ''I'''.
>>>>> StepIntoDebugAction compile: 'defaultLabel
>>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to:
1'.
>>>>> StepOverDebugAction compile: 'defaultLabel
>>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to:
1'.
>>>>> StepThroughDebugAction compile: 'defaultLabel
>>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1
to: 1'.
>>>>> ]
>>>>> runOnce: true.
>>>>> }
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com>
wrote:
>>>>>>>
>>>>>>> Letâs turn this energy into something positive. Please propose a
>>>>>>> concrete set of default keybindings that you think would work
better. In
>>>>>>> this process, please take into account all keybindings that are
already
>>>>>>> defined in the code editor (it might not be so easy as it appears).
>>>>>>
>>>>>>
>>>>>> As I've said:
>>>>>>
>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
btw)
>>>>>> 2. can we use the default shortcuts pattern where one of the letters
is
>>>>>> underlined?
>>>>>>
>>>>>> as for the shortcuts themselves, problem is proceed, restart & into
>>>>>>
>>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has
shortcut
>>>>>> confusing with restart
>>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
>>>>>> important here... indent is just convenience
>>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
>>>>>> important), but we can still use ctrl+shift+n and underline n (point
2)
>>>>>>
>>>>>> If points 1 & 2 are implemented, then the letter is not as important,
>>>>>> although first letter is always preferable.
>>>>>>
>>>>>> Peter
>>>>>>
>>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are
completely
>>>>>>>> random.
>>>>>>>>
>>>>>>>> Can we have them more meaningful and/or somehow visible?
>>>>>>>>
>>>>>>>> For now I ended up overriding the labels so I can at least see
them...
>>>>>>>> but doing this is also stupid, because I still have to look at
them since I
>>>>>>>> cannot remember random shortcuts.
>>>>>>>>
>>>>>>>> <debugger.png>
>>>>>>>>
>>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>>>> btw)
>>>>>>>> 2. can we use the default shortcuts pattern where one of the
letters
>>>>>>>> is underlined?
>>>>>>>>
>>>>>>>> Peter
>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>> www.feenk.com
>>>>>>>
>>>>>>> "Value is always contextual."
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>
>>
>>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
April 19, 2016
Re: [Pharo-dev] What the state of unifying Beacon with SystemLogger?
by Sven Van Caekenberghe
> On 19 Apr 2016, at 20:44, stepharo <stepharo(a)free.fr> wrote:
>
> What I would like and that I wanted to SystemLogger was that the compiler for example could issue a log event and that we could build
> a tools to browse only such events and that I can click on it and jump right in the method with shadowing variables for example.
> So to get something more than dead strings.
Of course.
This is already the case with Zinc.
Just inspect
ZnLogEvent announcer.
And then do
ZnClient new get: 'http://pharo.org'.
Now go to the first inspector and click on the Announcements tab. You see events generated by the Zinc client, real objects with all kinds of interesting objects inside of them:
> Le 19/4/16 15:55, Tudor Girba a écrit :
>> Hi,
>>
>> I even reviewed this post :).
>>
>> Of course, you can just use plain Announcements, but I still need to nuance your too strong statement. A framework is worthwhile when there is a recurrent need that it can serve. And when it comes to logging there are several such needs. For example:
>> - reusing typical events (e.g., logging an exception)
>> - reusing storage possibilities
>> - having a timestamp for events
>>
>> I think it is worthwhile to have support out of the box for handling these.
>>
>> Cheers,
>> Doru
>>
>>
>>> On Apr 19, 2016, at 3:44 PM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>>>
>>> You might want to read
>>>
>>> https://medium.com/concerning-pharo/lampsort-revisited-visualised-6652055ef…
>>>
>>> that discusses object logging and what you can do with it.
>>>
>>> My take on this is that if you write your code to produce log events (as Announcements), you can do whatever you want in the end. There is no real need to depend on some framework.
>>>
>>>> On 19 Apr 2016, at 15:34, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Beacon is being used systematically. We even said we will integrate it in the image for Pharo 5 at the end of last year, but after the agitated start of the year, I did not push it anymore to not increase the level of agitation.
>>>>
>>>> The only class name that encountered some opposition was BoundedBeacon.
>>>>
>>>> We also agreed that the only things we want from SystemLogger were the concrete connections to external storage. This was not done, but the idea was that we should first integrate them and then allow people to extend it with bindings to external storage.
>>>>
>>>> I use Beacon on a regular basis, and I extended it recently with a couple of more Signal types that can capture exceptions and stack information. You now also have a better integration in the inspector to be able to start/pause an in-memory log stream. In the process I also added the possibility to remove Announcements from an AnnouncementSet and I would like to push this in Pharo 6.0. One thing I would work on is to add to Annoucements the possibility of filtering announcements based on instances not just types. This is a longer term plan.
>>>>
>>>> Another thing to do is to ensure that the log signals are not expensive to create. For example, the ExceptionSignal, ContextStackSignal and MethodStackSignal manipulate thisContext right at creation time, while this should happen only when we actually capture it in a BoundedBeacon to manipulate/store it in a specific way. This part should be refined.
>>>>
>>>> @Dennis: it would be great to join efforts. The two frameworks look similar, but there are 2 significant differences:
>>>> 1. SystemLogger has its own log events propagation mechanism, Beacon uses Announcements.
>>>> 2. SystemLogger relies on levels of filtering, Beacon uses the mechanisms from Announcements to pick and choose at a fine grain level which log signals should be logged.
>>>>
>>>> For reference:
>>>> - description: http://www.humane-assessment.com/blog/beacon/
>>>> - repository: http://www.smalltalkhub.com/#!/~Pharo/Beacon
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>> On Apr 19, 2016, at 2:59 PM, stepharo <stepharo(a)free.fr> wrote:
>>>>>
>>>>>
>>>>>
>>>>> Le 18/4/16 18:28, Denis Kudriashov a écrit :
>>>>>> Hello.
>>>>>>
>>>>>> Year ago Beacon and SystemLogger were announced. There was big discussion about them. And there were plans to provide single solution. What was done around that?
>>>>> Nothing. We should have done it at Cambridge and we just discussed.
>>>>> I did not like some Beacon class names because they are totally confusing.
>>>>>> What exactly should be merged between this libraries? Was Beacon or SystemLogger planned to be end solution?
>>>>> We planned to merge SystemLogger into Beacon to use announcements
>>>>>> We definitely need legacy logging tool for Pharo. And I am going to work on this direction.
>>>>>> Personally I prefer metaphor and names from Beacon. But both libraries implement similar idea.
>>>>> Remember that you want to have them short especially for the main one. This is why in SystemLogger
>>>>> we have Log instead of what it is LogObject if I remember correctly.
>>>>>> Best regards,
>>>>>> Denis
>>>>>
>>>> --
>>>> www.tudorgirba.com
>>>> www.feenk.com
>>>>
>>>> âLive like you mean it."
>>>>
>>>>
>>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Problem solving efficiency grows with the abstractness level of problem understanding."
>>
>>
>>
>>
>>
>>
>
>
April 19, 2016
Re: [Pharo-dev] What the state of unifying Beacon with SystemLogger?
by stepharo
What I would like and that I wanted to SystemLogger was that the
compiler for example could issue a log event and that we could build
a tools to browse only such events and that I can click on it and jump
right in the method with shadowing variables for example.
So to get something more than dead strings.
Le 19/4/16 15:55, Tudor Girba a écrit :
> Hi,
>
> I even reviewed this post :).
>
> Of course, you can just use plain Announcements, but I still need to nuance your too strong statement. A framework is worthwhile when there is a recurrent need that it can serve. And when it comes to logging there are several such needs. For example:
> - reusing typical events (e.g., logging an exception)
> - reusing storage possibilities
> - having a timestamp for events
>
> I think it is worthwhile to have support out of the box for handling these.
>
> Cheers,
> Doru
>
>
>> On Apr 19, 2016, at 3:44 PM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>>
>> You might want to read
>>
>> https://medium.com/concerning-pharo/lampsort-revisited-visualised-6652055ef…
>>
>> that discusses object logging and what you can do with it.
>>
>> My take on this is that if you write your code to produce log events (as Announcements), you can do whatever you want in the end. There is no real need to depend on some framework.
>>
>>> On 19 Apr 2016, at 15:34, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>>
>>> Hi,
>>>
>>> Beacon is being used systematically. We even said we will integrate it in the image for Pharo 5 at the end of last year, but after the agitated start of the year, I did not push it anymore to not increase the level of agitation.
>>>
>>> The only class name that encountered some opposition was BoundedBeacon.
>>>
>>> We also agreed that the only things we want from SystemLogger were the concrete connections to external storage. This was not done, but the idea was that we should first integrate them and then allow people to extend it with bindings to external storage.
>>>
>>> I use Beacon on a regular basis, and I extended it recently with a couple of more Signal types that can capture exceptions and stack information. You now also have a better integration in the inspector to be able to start/pause an in-memory log stream. In the process I also added the possibility to remove Announcements from an AnnouncementSet and I would like to push this in Pharo 6.0. One thing I would work on is to add to Annoucements the possibility of filtering announcements based on instances not just types. This is a longer term plan.
>>>
>>> Another thing to do is to ensure that the log signals are not expensive to create. For example, the ExceptionSignal, ContextStackSignal and MethodStackSignal manipulate thisContext right at creation time, while this should happen only when we actually capture it in a BoundedBeacon to manipulate/store it in a specific way. This part should be refined.
>>>
>>> @Dennis: it would be great to join efforts. The two frameworks look similar, but there are 2 significant differences:
>>> 1. SystemLogger has its own log events propagation mechanism, Beacon uses Announcements.
>>> 2. SystemLogger relies on levels of filtering, Beacon uses the mechanisms from Announcements to pick and choose at a fine grain level which log signals should be logged.
>>>
>>> For reference:
>>> - description: http://www.humane-assessment.com/blog/beacon/
>>> - repository: http://www.smalltalkhub.com/#!/~Pharo/Beacon
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>> On Apr 19, 2016, at 2:59 PM, stepharo <stepharo(a)free.fr> wrote:
>>>>
>>>>
>>>>
>>>> Le 18/4/16 18:28, Denis Kudriashov a écrit :
>>>>> Hello.
>>>>>
>>>>> Year ago Beacon and SystemLogger were announced. There was big discussion about them. And there were plans to provide single solution. What was done around that?
>>>> Nothing. We should have done it at Cambridge and we just discussed.
>>>> I did not like some Beacon class names because they are totally confusing.
>>>>> What exactly should be merged between this libraries? Was Beacon or SystemLogger planned to be end solution?
>>>> We planned to merge SystemLogger into Beacon to use announcements
>>>>> We definitely need legacy logging tool for Pharo. And I am going to work on this direction.
>>>>> Personally I prefer metaphor and names from Beacon. But both libraries implement similar idea.
>>>> Remember that you want to have them short especially for the main one. This is why in SystemLogger
>>>> we have Log instead of what it is LogObject if I remember correctly.
>>>>> Best regards,
>>>>> Denis
>>>>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> âLive like you mean it."
>>>
>>>
>>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Problem solving efficiency grows with the abstractness level of problem understanding."
>
>
>
>
>
>
April 19, 2016
Re: [Pharo-dev] unzip:to:
by stepharo
Le 19/4/16 15:53, Valentin Ryckewaert a écrit :
> I mean, fileRef basename is myZip.zip and workingDirectory is the
> place files will go after being unziped but how does we find the file
> named fileRef basename ?
'foo.txt' asFileReference -> a fileRef
'foo.txt' asFileReference basename.
(FileSystem disk workingDirectory / 'foo.txt') basename
this is explained in the File chapter.
Can you open a bug entry to improve the comment of the method?
>
> 2016-04-19 15:46 GMT+02:00 stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>>:
>
>
>
> Le 19/4/16 15:41, Valentin Ryckewaert a écrit :
>> How does unzip:to: access to the file ?
> I do not get your question?
>> It must be in the workingDirectory?
>
> Read the code luke....
>
>
> unzip: fullFileName to: pathString
> "Unzip the contents of the file specified by the full path
> name fullFileName to the location given by pathString."
>
> | zipped buffer unzipped newName |
> newName := fullFileName copyUpToLast: FileSystem disk
> extensionDelimiter.
> pathString asFileReference ensureCreateDirectory.
> unzipped := FileStream newFileNamed: (pathString
> asFileReference / newName) fullName.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>
>
>
> unzipped ifNil: [self error: pathString, ' looks incorrect'].
> [ unzipped binary.
> zipped := self on: (FileStream readOnlyFileNamed: fullFileName).
> buffer := ByteArray new: 50000.
> [zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped
> nextInto: buffer)]]
> ensure: [
> zipped close.
> unzipped close].
> ^ newName
>
>
>
>>
>>
>> 2016-04-19 15:06 GMT+02:00 Hernán Morales Durand
>> <hernan.morales(a)gmail.com <mailto:hernan.morales@gmail.com>>:
>>
>> I use it a lot to uncompress external resources like this:
>>
>> fileRef := ....
>> GZipReadStream unzip: fileRef basename to: FileSystem
>> workingDirectory.
>>
>> but it could be used to pass a directory as String I guess.
>> Comment should be corrected.
>>
>>
>> 2016-04-19 9:54 GMT-03:00 stepharo <stepharo(a)free.fr
>> <mailto:stepharo@free.fr>>:
>>
>> unzip: fullFileName to: pathString
>> "Unzip the contents of the file specified by the full
>> path name fullFileName to the location given by pathString."
>>
>> so we would expect to pass a string in the second argument?
>>
>> the unique sender of it in the system
>>
>> unzip: fullFileName
>> "Unzip the contents of a gzipped file specified by
>> its full file name to the current working directory"
>>
>> ^ self unzip: fullFileName to: FileSystem disk
>> workingDirectory
>>
>>
>> but the implementation seems to indicate that
>> fullFileName is should be a string as well as pathString
>>
>> unzip: fullFileName to: pathString
>> "Unzip the contents of the file specified by the full
>> path name fullFileName to the location given by pathString."
>>
>> | zipped buffer unzipped newName |
>> newName := fullFileName copyUpToLast: FileSystem disk
>> extensionDelimiter.
>> pathString asFileReference ensureCreateDirectory.
>> unzipped := FileStream newFileNamed: (pathString
>> asFileReference / newName) fullName.
>> unzipped ifNil: [self error: pathString, ' looks
>> incorrect'].
>> [ unzipped binary.
>> zipped := self on: (FileStream readOnlyFileNamed:
>> fullFileName).
>> buffer := ByteArray new: 50000.
>> [zipped atEnd] whileFalse: [unzipped nextPutAll:
>> (zipped nextInto: buffer)]]
>> ensure: [
>> zipped close.
>> unzipped close].
>> ^ newName
>>
>> Am I correct to think that the comments are not really
>> good enough?
>>
>> Stef
>>
>>
>>
>>
>>
>
>
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by Eliot Miranda
On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
> This F keys suck!
>
+1. How do you remember which F key does what in the Debugger? F10 - fix
my code to be a perfect 10??
> Stef
>
> Le 17/4/16 18:00, Ben Coman a écrit :
>
> Interesting. A search turned up... Quick Tip Debugger Shortcut Key
>> Reference
>> http://www.mularien.com/blog/category/eclipse/
>>
>> cheers -ben
>>
>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
>> <philippe.back(a)gmail.com> wrote:
>>
>>> Most of the world IDE use function keys for debugging.
>>>
>>> Additional benefit: easier for newcomers to use it.
>>>
>>> Having the buttons on the top is a pain as the code pane is at the bottom
>>> and requires travels all the time.
>>>
>>> Phil
>>>
>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
>>>
>>>> Well, I've added a startup script for myself... but it would be nice to
>>>> have it everywhere by default in some variant...
>>>>
>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>> StartupPreferencesLoader default executeAtomicItems: {
>>>> StartupAction
>>>> name: 'Change debugger labels & shortcuts'
>>>> code: [
>>>> GLMMorphicActionRenderer compile: (
>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
>>>> copyReplaceAll: 'setBalloonText: (anAction title'
>>>> with: 'setBalloonText: (anAction title asString'
>>>> ).
>>>> RestartDebugAction compile: 'defaultKeyText
>>>> ^ ''R'''.
>>>> RestartDebugAction compile: 'defaultLabel
>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>> 1'.
>>>> ResumeDebugAction compile: 'defaultKeyText
>>>> ^ ''P'''.
>>>> ResumeDebugAction compile: 'defaultLabel
>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>> 1'.
>>>> StepIntoDebugAction compile: 'defaultKeyText
>>>> ^ ''I'''.
>>>> StepIntoDebugAction compile: 'defaultLabel
>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>> StepOverDebugAction compile: 'defaultLabel
>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>> StepThroughDebugAction compile: 'defaultLabel
>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>> 1'.
>>>> ]
>>>> runOnce: true.
>>>> }
>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>
>>>>
>>>>
>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com>
>>>> wrote:
>>>>
>>>>> Letâs turn this energy into something positive. Please propose a
>>>>>> concrete set of default keybindings that you think would work better.
>>>>>> In
>>>>>> this process, please take into account all keybindings that are
>>>>>> already
>>>>>> defined in the code editor (it might not be so easy as it appears).
>>>>>>
>>>>>
>>>>> As I've said:
>>>>>
>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux btw)
>>>>> 2. can we use the default shortcuts pattern where one of the letters is
>>>>> underlined?
>>>>>
>>>>> as for the shortcuts themselves, problem is proceed, restart & into
>>>>>
>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has shortcut
>>>>> confusing with restart
>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
>>>>> important here... indent is just convenience
>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
>>>>> important), but we can still use ctrl+shift+n and underline n (point 2)
>>>>>
>>>>> If points 1 & 2 are implemented, then the letter is not as important,
>>>>> although first letter is always preferable.
>>>>>
>>>>> Peter
>>>>>
>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are
>>>>>>> completely
>>>>>>> random.
>>>>>>>
>>>>>>> Can we have them more meaningful and/or somehow visible?
>>>>>>>
>>>>>>> For now I ended up overriding the labels so I can at least see
>>>>>>> them...
>>>>>>> but doing this is also stupid, because I still have to look at them
>>>>>>> since I
>>>>>>> cannot remember random shortcuts.
>>>>>>>
>>>>>>> <debugger.png>
>>>>>>>
>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>>> btw)
>>>>>>> 2. can we use the default shortcuts pattern where one of the letters
>>>>>>> is underlined?
>>>>>>>
>>>>>>> Peter
>>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Value is always contextual."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>
>
>
--
_,,,^..^,,,_
best, Eliot
April 19, 2016
Re: [Pharo-dev] unzip:to:
by stepharo
Le 19/4/16 16:10, Tudor Girba a écrit :
> The way I see it is that pathString can be anything that understands asFileReference. This means:
> - FileReference
> - Path
> - String
Indeed and we should write it in the comment.
> Doru
>
>
>> On Apr 19, 2016, at 2:54 PM, stepharo <stepharo(a)free.fr> wrote:
>>
>> unzip: fullFileName to: pathString
>> "Unzip the contents of the file specified by the full path name fullFileName to the location given by pathString."
>>
>> so we would expect to pass a string in the second argument?
>>
>> the unique sender of it in the system
>>
>> unzip: fullFileName
>> "Unzip the contents of a gzipped file specified by its full file name to the current working directory"
>>
>> ^ self unzip: fullFileName to: FileSystem disk workingDirectory
>>
>>
>> but the implementation seems to indicate that fullFileName is should be a string as well as pathString
>>
>> unzip: fullFileName to: pathString
>> "Unzip the contents of the file specified by the full path name fullFileName to the location given by pathString."
>>
>> | zipped buffer unzipped newName |
>> newName := fullFileName copyUpToLast: FileSystem disk extensionDelimiter.
>> pathString asFileReference ensureCreateDirectory.
>> unzipped := FileStream newFileNamed: (pathString asFileReference / newName) fullName.
>> unzipped ifNil: [self error: pathString, ' looks incorrect'].
>> [ unzipped binary.
>> zipped := self on: (FileStream readOnlyFileNamed: fullFileName).
>> buffer := ByteArray new: 50000.
>> [zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped nextInto: buffer)]]
>> ensure: [
>> zipped close.
>> unzipped close].
>> ^ newName
>>
>> Am I correct to think that the comments are not really good enough?
>>
>> Stef
>>
>>
>>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "We can create beautiful models in a vacuum.
> But, to get them effective we have to deal with the inconvenience of reality."
>
>
>
April 19, 2016
Re: [Pharo-dev] unzip:to:
by Eliot Miranda
> On Apr 19, 2016, at 7:10 AM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
> The way I see it is that pathString can be anything that understands asFileReference. This means:
> - FileReference
> - Path
> - String
+1. So a better parameter name would be pathName or path. Parameter names that encode concrete types are sometimes appropriate and hence helpful, sometimes misleading. In this case it's misleading.
> Doru
>
>
>> On Apr 19, 2016, at 2:54 PM, stepharo <stepharo(a)free.fr> wrote:
>>
>> unzip: fullFileName to: pathString
>> "Unzip the contents of the file specified by the full path name fullFileName to the location given by pathString."
>>
>> so we would expect to pass a string in the second argument?
>>
>> the unique sender of it in the system
>>
>> unzip: fullFileName
>> "Unzip the contents of a gzipped file specified by its full file name to the current working directory"
>>
>> ^ self unzip: fullFileName to: FileSystem disk workingDirectory
>>
>>
>> but the implementation seems to indicate that fullFileName is should be a string as well as pathString
>>
>> unzip: fullFileName to: pathString
>> "Unzip the contents of the file specified by the full path name fullFileName to the location given by pathString."
>>
>> | zipped buffer unzipped newName |
>> newName := fullFileName copyUpToLast: FileSystem disk extensionDelimiter.
>> pathString asFileReference ensureCreateDirectory.
>> unzipped := FileStream newFileNamed: (pathString asFileReference / newName) fullName.
>> unzipped ifNil: [self error: pathString, ' looks incorrect'].
>> [ unzipped binary.
>> zipped := self on: (FileStream readOnlyFileNamed: fullFileName).
>> buffer := ByteArray new: 50000.
>> [zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped nextInto: buffer)]]
>> ensure: [
>> zipped close.
>> unzipped close].
>> ^ newName
>>
>> Am I correct to think that the comments are not really good enough?
>>
>> Stef
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "We can create beautiful models in a vacuum.
> But, to get them effective we have to deal with the inconvenience of reality."
>
>
April 19, 2016