Hi Kilon,

Sorry for the late reply. The Cmd-L is useful as soon as you evaluate code in 
your code browser. Consider the following scenario that I am very sure you am 
facing every single day:

1 - Define a method on a class:
-=-=--=-=--=-=--=-=-
foo
        ^ 1 + 2
-=-=--=-=--=-=--=-=-

2 - It often happen that you want to know the value of some expression in the 
method body. Select "1 + 2" and press Cmd-P. It prints you the value 3, great. 

3 - Click on a different method or close the browser. And you get this stupid 
question "Code has been modified. What do you want to do". Isn't it obvious 
what I want to do? The browser is asking me whether I may want to accept the 
method, even if it is not compilable (i.e., the code "^ 1 + 2 3" is not proper 
smalltalk). So stupid it is. Even worse: if you press backspace to remove the 
3, the code browser is still notifying you the source code has changed, even if 
the content is the same. 

This is so frustrating. I am sure you are facing this questions many times a 
day. Cmd-L is here to help (but it poorly helps, I agree). After you have 
evaluated "1 + 2" and have "3" displayed, you can press Cmd-L to restore the 
original method content and makes the browser forget that I have modified the 
method body. No more question is asked when I delete the browser or select a 
different method.

Now, making Cmd-L raises a question would simply makes the bidding not useful 
at all. Igor showed me this bidding, which makes me suspect he uses it since he 
knows it. I think Lukas was using it as well. Making the browser ask yet 
another question such as "your content is about to be deleted, are you sure you 
want to continue" does not make the environment more intelligent in my opinion, 
but just more talkative. 

As your original post suggest, the text editor needs improvement. For example, 
if Cmd-L is really disturbing you, then remove it, but make sure the browser 
does not complain when the text content is the same than the original method 
(or class definition). This would be great actually.

On a slightly different front, I have seen that the create temporary method is 
broken. Last time I've seen this was many years ago...

Alexandre


On Oct 14, 2013, at 10:05 AM, kilon <theki...@yahoo.co.uk> wrote:

> Definetly not a regression. If you make a mistake your work is gone, bye bye,
> hasta la vista baby. Personally I dont use, or see myself using CMD+L on a
> daily basis. Its highly unlikely that I will code in several lines of code
> and will want to discard them completely. In 99/100 cases I just slightly
> change, edit the code. So we definitely have a different workflow on this
> one. 
> 
> You are much better coders than me, so I understand you may use that feature
> heavily. 
> 
> Undo was my first goal too, but trying to understand how undo is implemented
> felt like hammering my face on a wall. The amount of spaggetication in the
> code is beyond understanding for me, on the 1 hour I invested of finding a
> bug fix. So I spent like 50 minutes trying to understand undo, failed
> miserably, spent rest 10 implementing the dialog box. And yes I am not very
> smart or good coder.
> 
> I will try to take another look at undo today and have another go at this,
> but If I found no solution I will leave the fix as it is. Chances are I wont
> figure this out, so don't hold your breath. 
> 
> Bottom line is that in case of proper software the user should not allowed
> to do things that are unrecoverable without a prompt. So not implementing a
> fix at all, at least for me is considered very bad. But this is just my
> personal opinion. 
> 
> 
> 
> --
> View this message in context: 
> http://forum.world.st/bug-4993-Typing-cmd-L-cancel-all-typing-and-we-can-t-undo-it-Terminated-tp4714154p4714314.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
> 

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply via email to