Subject: Re: bug#23295: 24.5; in cc-mode, '(' replaces selection with '(' when electric-pair-mode and cua-mode are active

From: Alan Mackenzie <[email-masked]>
Date: Sat, 14 Oct 2023 10:27:41 +0000

tags 23295 + wontfix
close 23295
quit

Hello.

Thanks for taking the trouble to submit this bug report to Emacs, and
apologies that it has taken so long for us to respond.

The bug you reported seems to have been fixed at some time in the last
few years.  I cannot reproduce it anymore.  So I'm closing it as "won't
fix", since no more action is required.

-- 
Alan Mackenzie (Nuremberg, Germany).

On Fri, Apr 15, 2016 at 15:43:09 +0200, [email-masked] wrote:

> When editing a C source file while cua-mode and electric-pair-mode are
> both active, typing '(' replaces selected text with '(' instead of
> wrapping it in '(' and ')'.

> Steps to reproduce (in `emacs -Q`):
> - C-x C-f foo.c RET
> - M-x cua-mode RET
> - M-x electric-pair-mode RET
> - Type: #define FOO(x) x + 42
> - Select "x + 42"
> - Type: (

> Expected result:
> - Text should read: #define FOO(x) (x + 42)

> Actual result:
> - Text reads: #define FOO(x) (

> Remarks:
> - Turning off cua-mode, marking the selection with C-SPC and movement
> keys, then typing '(' works as expected.
> - The problem appears to only occur in cc-mode.

> In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6)
>  of 2015-09-10 on foutrelis
> Windowing system distributor `The X.Org Foundation', version 11.0.11803000
> Configured using:
>  `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
>  'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
>  --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

> Important settings:
>   value of $LC_MESSAGES: en_US.utf8
>   value of $LANG: en_US.utf8
>   locale-coding-system: utf-8-unix

> Major mode: Debbugs

> Minor modes in effect:
>   global-speechd-speak-map-mode: t
>   speechd-speak-map-mode: t
>   erc-list-mode: t
>   erc-menu-mode: t
>   erc-autojoin-mode: t
>   erc-ring-mode: t
>   erc-networks-mode: t
>   erc-pcomplete-mode: t
>   erc-track-mode: t
>   erc-track-minor-mode: t
>   erc-match-mode: t
>   erc-button-mode: t
>   erc-fill-mode: t
>   erc-stamp-mode: t
>   erc-netsplit-mode: t
>   erc-irccontrols-mode: t
>   erc-noncommands-mode: t
>   erc-move-to-prompt-mode: t
>   erc-readonly-mode: t
>   yas-global-mode: t
>   yas-minor-mode: t
>   delete-selection-mode: t
>   winner-mode: t
>   show-paren-mode: t
>   msb-mode: t
>   icomplete-mode: t
>   global-whitespace-mode: t
>   electric-pair-mode: t
>   cua-mode: t
>   multi-web-global-mode: t
>   global-flycheck-mode: t
>   shell-dirtrack-mode: t
>   global-company-mode: t
>   company-mode: t
>   override-global-mode: t
>   tooltip-mode: t
>   electric-indent-mode: t
>   mouse-wheel-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
>   buffer-read-only: t
>   column-number-mode: t
>   line-number-mode: t
>   transient-mark-mode: t

> Recent messages:
> Mark set
> Mark saved where search started
> Mark set [2 times]
> Quit
> Mark set
> line-move-visual: Beginning of buffer [2 times]
> Searched 1 buffer; 7 matches for `electric'
> You can run the command `occur' with M-s o
> Searched 1 buffer; 7 matches for `electric'
> Auto-saving...done

> Load-path shadows:
> /usr/share/emacs/site-lisp/SuperCollider/tree-widget hides /usr/share/emacs/24.5/lisp/tree-widget
> /home/miki/.emacs.d/elpa/soap-client-3.1.1/soap-client hides /usr/share/emacs/24.5/lisp/net/soap-client
> /home/miki/.emacs.d/elpa/soap-client-3.1.1/soap-inspect hides /usr/share/emacs/24.5/lisp/net/soap-inspect

> Features:
> (shadow sort mail-extr emacsbug sendmail misearch multi-isearch
> mm-archive message idna ...)

> Memory information:
> ((conses 16 1059803 115597)
>  (symbols 48 52062 1)
>  (miscs 40 587 1906)
>  (strings 32 156314 39234)
>  (string-bytes 1 4107708)
>  (vectors 16 76553)
>  (vector-slots 8 1364662 26333)
>  (floats 8 4166 1393)
>  (intervals 56 45695 1436)
>  (buffers 960 31)
>  ...)