<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Lauren,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 16, 2022 at 11:11 AM Lauren Pullen <<a href="mailto:drurowin@gmail.com">drurowin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On 1/16/22 16:47, David T. Lewis wrote:<br>
> In any case I suspect that the fix for MCWorkingCopyBrowser>>#repositorySelection:<br>
> might better not try to reload the repository list. Maybe it is<br>
> sufficient to just refresh the list in the browser. Using a call<br>
> to "self changed" #repositoryList" seems to address the problem<br>
> that I saw.<br>
> <br>
> Lauren, what do you think? Here is what I tried in my image:<br>
> <br>
> repositorySelection: aNumber<br>
> <br>
>       aNumber = 0<br>
>               ifTrue: [self repository: nil]<br>
>               ifFalse: [self repository: ([self repositories at: aNumber]<br>
>                                       on: Error<br>
>                                       do: [:e | self changed: #repositoryList])].<br>
>       self changed: #repositorySelection.<br>
>       self changedButtons.<br>
I didn't see your reply.  Operator error.<br>
<br>
On a somewhat-related note...<br>
<br>
I don't fully understand Smalltalk's exception handling system (I come<br>
from common lisp), so I have a question.  In the error handler block, is<br>
the handlerBlock return used as the expression's return value?  I<br>
explicitly say nil in my patch since #changed: returns self.  From your<br>
code, it doesn't look like this is needed.<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">The value of an on:do: is the value of the receiver block, unless an error which matches the argument to the on: keyword occurs, in which case the value is that of the do: block.  Note that the value of an empty block is nil.</div><div class="gmail_default" style="font-size:small">Note that, like Common Lisp, the exception has resume semantics so the do: block is evaluated within the context if the exception, and within the do: block one can return a value from the exception (providing it is resumable, see Exception>>#isResumable) by sending teh exception resume: or resume; see Exception>>#resume & Exception>>#resume:.</div><div class="gmail_default" style="font-size:small"><br></div></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>