Xcode9: Please don't delete two delimiters with one backspace

Originator:markd
Number:rdar://34612546 Date Originated:9/23/2017
Status:Open Resolved:
Product:Developer Tools Product Version:Version 9.0 (9A235)
Classification:UI/Usability Reproducible:Always
 
Summary:

When backspacing over a pair of delimiters (such as (), {}, []), a single backspace is deleting _both_ of them. 

I usually expect when there's not a selection involved that a single backspace will remove a single character.  This is pretty hard-wired into my muscle memory.So when I want to do this scenario:

(cursor is at the | )

func stuff()| {

}

I want to add a parameter to the function, so I backspace once, type my parameter stuff, and then a close paren.  I have a deep typing pipeline (100wpm ftw), so my hands have already been told "_backspace_ blah thing: String) -> Bool", but because Xcode deleted the open paren, I now have gibberish:

func stuffblah thing: String) -> Bool {

}

So now I have to carefully acquire that place in the middle of `stuffblah` with the mouse or keyboard and fix it. By this time the automatic issues thing has plastered error messages everywhere, which courtesy of rdar://32718717 I can't hide, I get a headache due to chromatic aberration in my eyewear sending all the colors to random places along the Z-axis, dogs and cats living together, which makes me cranky and then I file radars :-)

Attached is a gif showing the problem. In each case, just a single backspace happens.

Steps to Reproduce:


Expected Results:


Actual Results:


Version/Build:


Configuration:
Version 9.0 (9A235)
10.12.6 (16G29)

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!