Subject: bug#45072: 28.0.50; Emacs switches other buffer back uncontrollably, if other window's buffer is changed by user during minibuffer editing

From: Jean Louis <[email-masked]>
Date: Sun, 06 Dec 2020 17:07:14 +0300

Description of the bug:

When I have action to repeatedly be asked something from mini buffer,
then I often move cursor from mini buffer to some other buffer. Normally
screen is split into two or more buffer. If I move the other window's
buffer to something else like picture by using (next-buffer) bound on
the key, I am then reading the picture and getting information which I
then enter into mini buffer. When I press enter in the minibuffer the
other window's buffer where the picture was switches back to what it was
previously. In my opinion it should not as user has decided to switch
buffer of that window to something else.

To repeat:

- bind command next-buffer to F5

- you may split window, but need not. Just have more than 1 buffer in total

- run this function

(defun ask-repeat ()
  (unless (string= (read-from-minibuffer "What? ") "bye")
    (ask-repeat)))

(ask-repeat)

- from mini buffer move cursor to the window

- press F5 to switch to next buffer

- move cursor back to mini buffer and enter something

At that point one may see that the window's buffer switched back to
what it was previously. User's workflow is disturbed.

In GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo version 1.14.8, Xaw3d scroll bars)
 of 2020-11-25 built on protected.rcdrun.com
Repository revision: 30c437752df0a3a9410f1249fa0f237110811af2
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.11907000
System Description: Hyperbola GNU/Linux-libre

Configured using:
 'configure --prefix=/package/text/emacs --with-modules
 --with-x-toolkit=lucid'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB
NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS JSON PDUMPER
LCMS2

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=exwm-xim
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  text-scale-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  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

Load-path shadows:
None found.

Features:
(shadow sort hashcash mail-extr emacsbug message rmc puny rfc822 mml
mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json map text-property-search seq byte-opt gv bytecomp
byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils macros kmacro time-date subr-x help-fns
radix-tree cl-print debug backtrace help-mode easymenu find-func
dired-aux cl-loaddefs cl-lib dired dired-loaddefs face-remap 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 tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer 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
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window 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
cairo x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 61185 11565)
 (symbols 48 7938 1)
 (strings 32 22818 2137)
 (string-bytes 1 719909)
 (vectors 16 12953)
 (vector-slots 8 179043 11957)
 (floats 8 33 37)
 (intervals 56 359 8)
 (buffers 984 15))

-- 
Thanks,
Jean Louis
⎔ λ 🄯 𝍄 𝌡 𝌚