<br class="">&gt; Yes, I believe Eclipse does something like this too, maybe not with such a visual sort of indication. I agree that it&#39;s very cool functionality but it requires really thorough tracking &gt; of some hidden state as Robby says (history of the users&#39; key and/or mouse interaction) and I don&#39;t think I&#39;m going to go for this right now.<div>

<br></div><div>I understand if it&#39;s not worth implementing for complexity reasons. I was just suggesting what I thought was a good visual solution to the potential confusion caused by such hidden state.</div><div><br>

</div><div>And forgive me if this is an ignorant question since I have no idea what it takes to implement something like this, but couldn&#39;t you just have the state be tied to the specific closing paren character? If that were possible, the state could just include whether it is temporary and which opening paren it is linked to, and certain user actions change that state to permanent or deleted. I don&#39;t see a need to track history. But again, I have very little knowledge about this subject.<br>

<div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 24, 2012 at 12:16 PM, Nadeem Abdul Hamid <span dir="ltr">&lt;<a href="mailto:nadeem@acm.org" target="_blank">nadeem@acm.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class="gmail_extra"><div class="im"><div>On Sat, Nov 24, 2012 at 12:07 PM, Nick Shelley <span dir="ltr">&lt;<a href="mailto:nickmshelley@gmail.com" target="_blank">nickmshelley@gmail.com</a>&gt;</span> wrote:<br></div>

</div><div class="gmail_quote"><div class="im">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">For what it&#39;s worth, Xcode differentiates these cases by inserting a temporary closing paren that is gray instead of black. You can make it permanent by arrowing over it, typing it yourself, tabbing over it, or just moving the cursor outside the matching parens. When it becomes permanent it is black like the other text and you have to delete it individually, but while it is still gray it will be deleted automatically if you delete the opening paren.<div>




<br></div><div>I sort of like this behavior, and the visual difference gets rid of any potential confusion.</div></blockquote><div><br></div></div><div>Yes, I believe Eclipse does something like this too, maybe not with such a visual sort of indication. I agree that it&#39;s very cool functionality but it requires really thorough tracking of some hidden state as Robby says (history of the users&#39; key and/or mouse interaction) and I don&#39;t think I&#39;m going to go for this right now.</div>

<div><div class="h5">

<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div><div>On Saturday, November 24, 2012, Robby Findler  wrote:<br>

</div>

</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div>
On Sat, Nov 24, 2012 at 8:53 AM, Laurent &lt;<a>laurent.orseau@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Sat, Nov 24, 2012 at 3:11 PM, Nadeem Abdul Hamid &lt;<a>nadeem@acm.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Sat, Nov 24, 2012 at 4:03 AM, Laurent &lt;<a>laurent.orseau@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; If you can, I think it would be a good idea to remove the paren pair if<br>
&gt;&gt;&gt; the user deletes the opening paren he just typed by mistake. Undo should do<br>
&gt;&gt;&gt; the same (which apparently it does not currently; missing<br>
&gt;&gt;&gt; &#39;begin/end-edit-sequence&#39; ?).<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Yeah, the undo behavior I&#39;ve fixed. The first scenario you mention might<br>
&gt;&gt; be tricky - how do you distinguish between typing an open paren and then<br>
&gt;&gt; immediately deleting it vs. typing an open paren, making a bunch of other<br>
&gt;&gt; edits, and then coming back and deleting the open paren?<br>
&gt;<br>
&gt;<br>
&gt; I think it would already be good enough to only consider the case  where the<br>
&gt; user types the paren and wants to remove them immediately (e.g., he placed<br>
&gt; them in the wrong place, or wanted square brackets instead, or just changed<br>
&gt; his mind).<br>
&gt; In the case of meanwhile edits, I don&#39;t think the user would bother deleting<br>
&gt; the closing paren himself.<br>
<br>
I think that hidden state like this can lead to confusing behavior.<br>
Probably you want to have deleting a paren do the same thing,<br>
regardless of what the character most recently typed was.<br>
<br>
Robby<br></div></div><div>
_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></blockquote></div></div>
<br>_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
<br></blockquote></div></div></div><br></div>
</blockquote></div><br></div></div>