unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive
@ 2021-04-15  0:11 marmot-te
  2021-04-15  8:10 ` martin rudalics
  2021-04-16 17:48 ` Alan Mackenzie
  0 siblings, 2 replies; 6+ messages in thread
From: marmot-te @ 2021-04-15  0:11 UTC (permalink / raw)
  To: 47781


Hi,

I read from the docstring of the function
> MINIBUF t means consider the minibuffer window even if the 
> minibuffer is not active

However, 
with emacs -Q
and the minibuffer inactive

(window-list-1 nil t)
;; => nil

I think this is related to this build since I cannot reproduce 
with emacs 26.1 (in this case it returns the list of windows, 
minibuffer included, as expected).


In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 
3.24.5, cairo version 1.16.0)
 of 2021-02-09 built on debian-10-gccemacs
Repository revision: 1f626e9662d8120acd5a937f847123cc2b8c6e31
Repository branch: native-comp
Windowing system distributor 'The X.Org Foundation', version 
11.0.12004000
System Description: Debian GNU/Linux 10 (buster)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/native_comp/28.0.5:/usr/local/share/emacs/site-lisp
 --with-mailutils --with-sound=yes --without-gconf 
 --without-gsettings
 --with-x=yes --without-toolkit-scroll-bars --with-x-toolkit=gtk3
 --with-xwidgets --with-json --with-nativecomp 'CFLAGS=-O2 -Wall 
 ''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON 
LCMS2
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP 
NOTIFY
INOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF X11 XDBE XIM XPM 
XWIDGETS
GTK3 ZLIB

Important settings:
  value of $LANG: en_US
  locale-coding-system: utf-8

Major mode: Org

Minor modes in effect:
  flyspell-mode: t
  shell-dirtrack-mode: t
  electric-pair-mode: t
  eros-mode: t
  gcmh-mode: t
  recentf-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  engine-mode: t
  dired-async-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  global-so-long-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  counsel-mode: t
  ivy-rich-mode: t
  ivy-mode: t
  winner-mode: t
  show-paren-mode: t
  which-key-mode: t
  global-subword-mode: t
  subword-mode: t
  global-auto-revert-mode: t
  save-place-mode: t
  delete-selection-mode: t
  savehist-mode: t
  override-global-mode: t
  global-eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/user/.emacs.d/elpa/lispy-20210121.926/elpa hides 
/home/user/.emacs.d/elpa/ivy-20210311.1638/elpa

Features:
(shadow sort mail-extr emacsbug sendmail two-column sh-script smie
executable flyspell ispell org-element avl-tree ol-eww ol-rmail 
ol-mhe
ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar 
ezimage
dframe gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum
gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap 
nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message 
rfc822
mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils
mailheader ol-docview doc-view image-mode exif ol-bibtex bibtex 
ol-bbdb
ol-w3m ob-lisp ob-shell org ob ob-tangle ob-ref ob-lob ob-table 
ob-exp
org-macro org-footnote org-src ob-comint org-pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-table ol org-keys org-compat org-macs org-loaddefs cal-menu 
calendar
cal-loaddefs olivetti gnutls network-stream url-http mail-parse 
rfc2231
url-gw nsm rmc url-cache url-auth cl-print debug crux tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat 
shell
pcomplete parse-time iso8601 ls-lisp elisp-demos mule-util 
jka-compr
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align 
cc-engine
cc-vars cc-defs helpful imenu trace info-look elisp-refs windmove
elec-pair cursor-sensor form-feed eros gcmh recentf tree-widget 
flycheck
f dash s 18_pdf 17_mail gnus-win 16_elfeed 15_www eww url-queue 
shr
kinsoku svg xml dom puny mm-url gnus nnheader gnus-util rmail
rmail-loaddefs rfc2047 rfc2045 ietf-drums time-date mail-utils 
mm-util
mail-prsvr engine-mode format-spec 14_qubes epa-file epa derived 
epg
epg-config 13_checkers 12_dired dired-async async dired-aux 
11_shells
10_registers-and-bookmarks 09_languages cl-indent 08_editor 
ws-butler
so-long undo-tree diff lispy ivy-avy counsel xdg dired 
dired-loaddefs
compile text-property-search comint ansi-color swiper ivy-rich ivy
ivy-faces ivy-overlay colir color lispy-inline thingatpt avy 
noutline
outline etags fileloop generator xref project edebug backtrace 
help-fns
radix-tree lispy-tags mode-local find-func 07_buffers-and-windows 
pcase
winner ibuf-macs 06_completion 05_theme-customizations 
tao-yin-theme
tao-theme paren 04_helpers hydra ring lv which-key advice 
03_bindings
edmacro kmacro 02_defaults comp comp-cstr warnings rx cap-words
superword subword autorevert filenotify saveplace delsel savehist
no-littering cl-extra help-mode cus-edit pp cus-start cus-load 
wid-edit
use-package use-package-ensure use-package-delight 
use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core 
finder-inf
info package easymenu browse-url url url-proxy url-privacy 
url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json subr-x map url-vars seq 
byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib chemacs iso-transl
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
xwidget-internal dbusbind inotify lcms2 dynamic-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process nativecomp emacs)

Memory information:
((conses 16 719060 139046)
 (symbols 48 44214 40)
 (strings 32 196396 14373)
 (string-bytes 1 7066646)
 (vectors 16 69368)
 (vector-slots 8 1910643 69822)
 (floats 8 502 513)
 (intervals 56 3871 4659)
 (buffers 984 25))

-- 
<:3nn~~
   <:3nn~~
      <:3nn~~





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive
  2021-04-15  0:11 bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive marmot-te
@ 2021-04-15  8:10 ` martin rudalics
  2021-04-15  8:38   ` Gregory Heytings
  2021-04-16 17:48 ` Alan Mackenzie
  1 sibling, 1 reply; 6+ messages in thread
From: martin rudalics @ 2021-04-15  8:10 UTC (permalink / raw)
  To: marmot-te, 47781

 > I read from the docstring of the function
 >> MINIBUF t means consider the minibuffer window even if the minibuffer is not active
 >
 > However, with emacs -Q
 > and the minibuffer inactive
 >
 > (window-list-1 nil t)
 > ;; => nil
 >
 > I think this is related to this build since I cannot reproduce with emacs 26.1 (in this case it returns the list of windows, minibuffer included, as expected).
 >
 >
 > In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, cairo version 1.16.0)
 > of 2021-02-09 built on debian-10-gccemacs

This is likely broken since a change in candidate_window_p from last
year, see commit 2ecbf4cfae7bd504fbdca28e1e51ee2574fe5d12 (waiting for
Gregory's confirmation).  Since `window_list_1' is consulted in quite a
number of places, the behavior of Emacs might be slightly unpredictable
in this area.

martin





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive
  2021-04-15  8:10 ` martin rudalics
@ 2021-04-15  8:38   ` Gregory Heytings
  0 siblings, 0 replies; 6+ messages in thread
From: Gregory Heytings @ 2021-04-15  8:38 UTC (permalink / raw)
  To: martin rudalics; +Cc: 47781, marmot-te


>
> This is likely broken since a change in candidate_window_p from last 
> year, see commit 2ecbf4cfae7bd504fbdca28e1e51ee2574fe5d12 (waiting for 
> Gregory's confirmation).
>

I confirm.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive
  2021-04-15  0:11 bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive marmot-te
  2021-04-15  8:10 ` martin rudalics
@ 2021-04-16 17:48 ` Alan Mackenzie
  2021-04-19 21:28   ` marmot-te
  1 sibling, 1 reply; 6+ messages in thread
From: Alan Mackenzie @ 2021-04-16 17:48 UTC (permalink / raw)
  To: marmot-te; +Cc: 47781, Gregory Heytings, acm

Hello, Marmot-Te.

On Thu, Apr 15, 2021 at 00:11:34 +0000, marmot-te wrote:

> Hi,

> I read from the docstring of the function
> > MINIBUF t means consider the minibuffer window even if the 
> > minibuffer is not active

> However, 
> with emacs -Q
> and the minibuffer inactive

> (window-list-1 nil t)
> ;; => nil

> I think this is related to this build since I cannot reproduce 
> with emacs 26.1 (in this case it returns the list of windows, 
> minibuffer included, as expected).


> In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 
> 3.24.5, cairo version 1.16.0)
>  of 2021-02-09 built on debian-10-gccemacs
> Repository revision: 1f626e9662d8120acd5a937f847123cc2b8c6e31
> Repository branch: native-comp
> Windowing system distributor 'The X.Org Foundation', version 
> 11.0.12004000
> System Description: Debian GNU/Linux 10 (buster)

[ .... ]

I think the following patch, to .../src/window.c, fixes it:



diff --git a/src/window.c b/src/window.c
index caf9df6c13..23eb802950 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2633,7 +2633,8 @@ candidate_window_p (Lisp_Object window, Lisp_Object owindow,
     candidate_p = ((EQ (XWINDOW (all_frames)->frame, w->frame)
                     || (EQ (f->minibuffer_window, all_frames)
                         && EQ (XWINDOW (all_frames)->frame, FRAME_FOCUS_FRAME (f))))
-                   && !is_minibuffer (0, XWINDOW (all_frames)->contents));
+                   && (EQ (minibuf, Qt)
+		       || !is_minibuffer (0, XWINDOW (all_frames)->contents)));
   else if (FRAMEP (all_frames))
     candidate_p = EQ (all_frames, w->frame);
 
..  Please feel free to try it out, and let us know how well it works.
Thanks!


> -- 
> <:3nn~~
>    <:3nn~~
>       <:3nn~~

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive
  2021-04-16 17:48 ` Alan Mackenzie
@ 2021-04-19 21:28   ` marmot-te
  2021-04-20 10:58     ` Alan Mackenzie
  0 siblings, 1 reply; 6+ messages in thread
From: marmot-te @ 2021-04-19 21:28 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: 47781, Gregory Heytings, marmot-te


Alan Mackenzie <acm@muc.de> writes:

> Hello, Marmot-Te.
>
> On Thu, Apr 15, 2021 at 00:11:34 +0000, marmot-te wrote:
>
>> Hi,
>
>> I read from the docstring of the function
>> > MINIBUF t means consider the minibuffer window even if the 
>> > minibuffer is not active
>
>> However, 
>> with emacs -Q
>> and the minibuffer inactive
>
>> (window-list-1 nil t)
>> ;; => nil
>
> [ .... ]
>
> I think the following patch, to .../src/window.c, fixes it:
>
> [ ... ]
>
> ..  Please feel free to try it out, and let us know how well it 
> works.
> Thanks!

Hi again,

I just compiled the latest native-branch with your patch and can 
confirm that after testing the different clauses of MINIBUF, all 
works as expected.

Thanks !

-- 
<:3nn~~
   <:3nn~~
      <:3nn~~





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive
  2021-04-19 21:28   ` marmot-te
@ 2021-04-20 10:58     ` Alan Mackenzie
  0 siblings, 0 replies; 6+ messages in thread
From: Alan Mackenzie @ 2021-04-20 10:58 UTC (permalink / raw)
  To: marmot-te; +Cc: 47781-done, Gregory Heytings

Hello, Marmot-Te.

On Mon, Apr 19, 2021 at 21:28:10 +0000, marmot-te wrote:

[ .... ]

> Hi again,

> I just compiled the latest native-branch with your patch and can 
> confirm that after testing the different clauses of MINIBUF, all 
> works as expected.

> Thanks !

Thank you for the testing!

I have now committed the patch to the Emacs master branch, and I'm
closing the bug with this post.

> -- 
> <:3nn~~
>    <:3nn~~
>       <:3nn~~

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-20 10:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15  0:11 bug#47781: 28.0.50; (window-list-1 nil t) returns nil when minibuffer is inactive marmot-te
2021-04-15  8:10 ` martin rudalics
2021-04-15  8:38   ` Gregory Heytings
2021-04-16 17:48 ` Alan Mackenzie
2021-04-19 21:28   ` marmot-te
2021-04-20 10:58     ` Alan Mackenzie

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).