GNU bug report logs - #37472
26.2; completion-kill-region breaks rectangle-mark-mode

Previous Next

Package: emacs;

Reported by: Jens Lautenbacher <jtl <at> gmx.com>

Date: Sat, 21 Sep 2019 00:46:01 UTC

Severity: normal

Found in version 26.2

To reply to this bug, email your comments to 37472 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#37472; Package emacs. (Sat, 21 Sep 2019 00:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jens Lautenbacher <jtl <at> gmx.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 21 Sep 2019 00:46:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jens Lautenbacher <jtl <at> gmx.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.2; completion-kill-region breaks rectangle-mark-mode
Date: Sat, 21 Sep 2019 02:14:04 +0200
When using dynamic completion, rectangle-mark-mode is broken, in so far
as C-w no longer respects just killing the rectangle but instead kills
the usual full (non-rectangular) region.

M-w on the other hand works, because it is the original function, while
C-w is overloaded with completion-kill-region.

To test: try C-w after C-x SPC once bound to kill-region and once bound
to completion-kill-region (or simply M-x the two functions with an
active rectangular region).

I have "fixed" it in my init.el in the following hackish way:

(add-hook 'rectangle-mark-mode-hook
      (lambda ()
        (if rectangle-mark-mode ;; entering...
            (if (not dynamic-completion-mode)
                (setq restore--dyncomplete nil)
              (setq restore--dyncomplete t)
              (dynamic-completion-mode -1))
          ;; ...else leaving
          (if restore--dyncomplete
              (dynamic-completion-mode t)))))

but this seems pretty clumpsy - actually so much that I removed it
again
and just shut off dynamic completion completely...



In GNU Emacs 26.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version
3.24.10)
 of 2019-07-25 built on buildvm-26.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.12005000
System Description:	Fedora release 31 (Thirty One)

Recent messages:
Overriding package-menu-mode with paradox-menu-mode
Loading desktop...done
Loading recentf...done
Loading saveplace...done
Loading paren...done
Loading /home/jtl/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
Wrote /home/jtl/.emacs.d/.emacs.desktop.lock
Desktop: 1 frame, 1 buffer restored.
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-
png
 --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
 --with-gpm=no --with-xwidgets --with-modules
 build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu
 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security
 -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
 -fstack-protector-strong -grecord-gcc-switches
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS LCMS2

Important settings:
  value of $LC_MONETARY: de_DE.UTF-8
  value of $LC_NUMERIC: de_DE.UTF-8
  value of $LC_TIME: de_DE.UTF-8
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  show-paren-mode: t
  save-place-mode: t
  recentf-mode: t
  desktop-save-mode: t
  csv-field-index-mode: t
  dap-ui-mode: t
  dap-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: simple
  treemacs-fringe-indicator-mode: t
  counsel-projectile-mode: t
  projectile-mode: t
  electric-pair-mode: t
  flycheck-posframe-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  global-company-mode: t
  company-mode: t
  ivy-prescient-mode: t
  prescient-persist-mode: t
  ivy-mode: t
  delete-selection-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow mail-extr emacsbug message format-spec rfc822 mml mml-sec epa
derived epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-
encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr init paren saveplace recentf
desktop frameset csv-mode sort treemacs-projectile paradox paradox-menu
paradox-commit-list paradox-execute paradox-github paradox-core dap-
java
dap-ui gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history
bui-button bui-utils cus-edit cus-start cus-load tree-mode dap-mode
dap-overlays lsp-java request mail-utils url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf mailcap cc-
mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs lsp lsp-treemacs treemacs treemacs-compatibility treemacs-mode
treemacs-interface treemacs-extensions treemacs-persistence
treemacs-mouse-interface treemacs-tag-follow-mode
treemacs-filewatch-mode treemacs-tags treemacs-follow-mode
treemacs-rendering treemacs-async treemacs-faces treemacs-icons
treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator pulse treemacs-themes treemacs-core-utils
pfuture ace-window avy hl-line treemacs-macros treemacs-customization
company-lsp lsp-mode ewoc markdown-mode noutline outline tree-widget
wid-edit url-util spinner network-stream puny nsm rmc starttls tls
gnutls inline imenu ht filenotify f s em-glob esh-util dash-functional
bindat flymake-proc flymake warnings company-jedi jedi-core
python-environment epc ctable cl concurrent deferred counsel-projectile
projectile grep ibuf-ext ibuffer ibuffer-loaddefs thingatpt counsel xdg
compile comint ansi-color swiper yasnippet-snippets yasnippet elec-pair
flycheck-posframe posframe flycheck json find-func rx dash powerline
advice powerline-separators powerline-themes ivy-hydra hydra lv
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons memoize
dired-hide-dotfiles dired dired-loaddefs company-prescient
company-oddmuse company-keywords company-etags etags xref project
company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-bbdb company pcase ivy-prescient
prescient subr-x ivy delsel ring colir color ivy-overlay map
tangotango-theme use-package-diminish diminish edmacro kmacro cl-extra
help-mode use-package-bind-key bind-key easy-mmode use-package-ensure
use-package-core finder-inf tex-site info package easymenu epg-config
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors 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 composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray 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 threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting xwidget-internal move-toolbar
gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 347270 14535)
 (symbols 48 44566 1)
 (miscs 40 658 215)
 (strings 32 111942 3502)
 (string-bytes 1 3283026)
 (vectors 16 49513)
 (vector-slots 8 871282 17716)
 (floats 8 1083 499)
 (intervals 56 940 115)
 (buffers 992 12))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#37472; Package emacs. (Sat, 21 Sep 2019 07:07:02 GMT) Full text and rfc822 format available.

Message #8 received at 37472 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jens Lautenbacher <jtl <at> gmx.com>
Cc: 37472 <at> debbugs.gnu.org
Subject: Re: bug#37472: 26.2; completion-kill-region breaks rectangle-mark-mode
Date: Sat, 21 Sep 2019 10:06:47 +0300
> From: Jens Lautenbacher <jtl <at> gmx.com>
> Date: Sat, 21 Sep 2019 02:14:04 +0200
> 
> 
> When using dynamic completion, rectangle-mark-mode is broken, in so far
> as C-w no longer respects just killing the rectangle but instead kills
> the usual full (non-rectangular) region.
> 
> M-w on the other hand works, because it is the original function, while
> C-w is overloaded with completion-kill-region.

Why does completion.el overrides the global C-w binding?  I think it's
wrong, certainly when the new binding is incompatible with the default
one.




This bug report was last modified 5 years and 332 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.