GNU bug report logs -
#23298
25.0.92; electric-pair-delete-pair doesn't check if parens are balanced
Previous Next
To reply to this bug, email your comments to 23298 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#23298
; Package
emacs
.
(Sat, 16 Apr 2016 01:40:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Mohammed Sadik <sadiq <at> sadiqpk.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 16 Apr 2016 01:40:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
When pressing Backspace key, with electric-pair-mode enabled,
it unconditionally deletes the following char, if its the matching pair.
Ideally, it may better check if it breaks the equilibrium of
braces/quotes.
Eg: code: (char-before (point))
|_ point location
If my point (cursor) is just before the last paren (the cursor is
blinking on the last paren), and I press backspace until the beginning
of "point"[0], and then one char back[1], it just deletes the bracket,
without checking if the parens are balanced.
code:
[0] (char-before ()
|_point location
[1] (char-before
|_ point location
This could be the case of quotes, braces, etc.
In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9)
of 2016-04-13 built on fedora.localdomain
Windowing system distributor 'Fedora Project', version 11.0.11800000
Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS
LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11
Important settings:
value of $LC_MONETARY: en_IN.UTF-8
value of $LC_NUMERIC: en_IN.UTF-8
value of $LC_TIME: en_IN.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
electric-pair-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit
Electric-Pair mode enabled
41 (#o51, #x29, ?\))
Making completion list...
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util help-fns help-mode easymenu cl-loaddefs pcase
cl-lib mail-prsvr mail-utils cus-start cus-load elec-pair time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)
Memory information:
((conses 16 93411 4512)
(symbols 48 20513 0)
(miscs 40 79 146)
(strings 32 15817 4612)
(string-bytes 1 434978)
(vectors 16 11738)
(vector-slots 8 421568 5007)
(floats 8 166 249)
(intervals 56 218 10)
(buffers 976 12)
(heap 1024 46579 1042))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#23298
; Package
emacs
.
(Sun, 28 Jul 2019 20:08:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 23298 <at> debbugs.gnu.org (full text, mbox):
Mohammed Sadik <sadiq <at> sadiqpk.org> writes:
> When pressing Backspace key, with electric-pair-mode enabled,
> it unconditionally deletes the following char, if its the matching pair.
> Ideally, it may better check if it breaks the equilibrium of
> braces/quotes.
>
> Eg: code: (char-before (point))
> |_ point location
> If my point (cursor) is just before the last paren (the cursor is
> blinking on the last paren), and I press backspace until the beginning
> of "point"[0], and then one char back[1], it just deletes the bracket,
> without checking if the parens are balanced.
>
> code:
> [0] (char-before ()
> |_point location
> [1] (char-before
> |_ point location
>
> This could be the case of quotes, braces, etc.
(I'm going through old Emacs bug reports that haven't received any
response.)
Or a simpler example:
(foo ()
If you put point after the next-to-last character, then hitting DEL will
delete the last pair:
(foo
But... I don't think this is a bug? electric-pair-mode doesn't promise
to keep things balanced globally, but delete the matching pair if you
delete an opening parenthesis? I think.
Does that tally with what everybody else would expect?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#23298
; Package
emacs
.
(Wed, 12 Aug 2020 02:53:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 23298 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Mohammed Sadik <sadiq <at> sadiqpk.org> writes:
>
>> When pressing Backspace key, with electric-pair-mode enabled,
>> it unconditionally deletes the following char, if its the matching pair.
>> Ideally, it may better check if it breaks the equilibrium of
>> braces/quotes.
>>
>> Eg: code: (char-before (point))
>> |_ point location
>> If my point (cursor) is just before the last paren (the cursor is
>> blinking on the last paren), and I press backspace until the beginning
>> of "point"[0], and then one char back[1], it just deletes the bracket,
>> without checking if the parens are balanced.
>>
>> code:
>> [0] (char-before ()
>> |_point location
>> [1] (char-before
>> |_ point location
>>
>> This could be the case of quotes, braces, etc.
>
> (I'm going through old Emacs bug reports that haven't received any
> response.)
>
> Or a simpler example:
>
> (foo ()
>
> If you put point after the next-to-last character, then hitting DEL will
> delete the last pair:
>
> (foo
>
> But... I don't think this is a bug? electric-pair-mode doesn't promise
> to keep things balanced globally, but delete the matching pair if you
> delete an opening parenthesis? I think.
>
> Does that tally with what everybody else would expect?
Do we have any electric-pair-mode users who could comment on this?
Best regards,
Stefan Kangas
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#23298
; Package
emacs
.
(Fri, 14 Aug 2020 09:39:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 23298 <at> debbugs.gnu.org (full text, mbox):
Stefan Kangas <stefan <at> marxist.se> writes:
>> Or a simpler example:
>>
>> (foo ()
>>
>> If you put point after the next-to-last character, then hitting DEL will
>> delete the last pair:
>>
>> (foo
>>
>> But... I don't think this is a bug? electric-pair-mode doesn't promise
>> to keep things balanced globally, but delete the matching pair if you
>> delete an opening parenthesis? I think.
>>
>> Does that tally with what everybody else would expect?
>
> Do we have any electric-pair-mode users who could comment on this?
I for one wish electric-pair-mode to leave balanced closing parenthesis
in this case.
This bug report was last modified 4 years and 303 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.