unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#55779: 29.0.50; child frame
@ 2022-06-03  3:59 drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-03  8:19 ` bug#55779: Acknowledgement (29.0.50; child frame) drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-03 10:27 ` bug#55779: 29.0.50; child frame Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-03  3:59 UTC (permalink / raw)
  To: 55779


When I build emacs --with-x-toolkit=gtk3, the child frame generated by
corfu completion candidates are blocked by a blank overlay. I can
confirm this is only a gtk3 related issue, because I have built emacs
--with-x-toolkit=athena or --with-x-toolkit=no without facing the same
issue. Also, this issue does not occur on older stable branch,
e.g. 28.1, I can still use gtk3 as the toolkit on older build without
any issues.

I have reached out to the author of corfu mode. The author says he
cannot do anything because it is an issue related to emacs child frame
mechanism. And my experiments on different build configurations showed
the same conclusion.


In GNU Emacs 29.0.50 (build 6, x86_64-pc-linux-gnu, cairo version 1.17.6)
 of 2022-06-03 built on artix
Repository revision: 2340243a312367e225437c7018cd1139afd7e189
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Artix Linux

Configured using:
 'configure --with-native-compilation --with-imagemagick --with-x
 --with-x-toolkit=gtk3 --with-xinput2'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SOUND
SQLITE3 THREADS TIFF WEBP X11 XDBE XIM XINPUT2 XPM ZLIB

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

Major mode: C/*l

Minor modes in effect:
  display-line-numbers-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  display-time-mode: t
  windmove-mode: t
  exwm-firefox-mode: t
  pixel-scroll-precision-mode: t
  sly-symbol-completion-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  eglot--managed-mode: t
  shell-switcher-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  projectile-mode: t
  global-aggressive-indent-mode: t
  aggressive-indent-mode: t
  which-key-mode: t
  marginalia-mode: t
  savehist-mode: t
  vertico-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  mood-line-mode: t
  flymake-mode: t
  org-roam-db-autosync-mode: t
  shell-dirtrack-mode: t
  leaf-key-override-global-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
/home/jacky/.emacs.d/straight/build/transient/transient hides /usr/local/share/emacs/29.0.50/lisp/transient
/home/jacky/.emacs.d/straight/build/jsonrpc/jsonrpc hides /usr/local/share/emacs/29.0.50/lisp/jsonrpc
/home/jacky/.emacs.d/straight/build/xref/xref hides /usr/local/share/emacs/29.0.50/lisp/progmodes/xref
/home/jacky/.emacs.d/straight/build/flymake/flymake hides /usr/local/share/emacs/29.0.50/lisp/progmodes/flymake
/home/jacky/.emacs.d/straight/build/project/project hides /usr/local/share/emacs/29.0.50/lisp/progmodes/project
/home/jacky/.emacs.d/straight/build/org/ob-awk hides /usr/local/share/emacs/29.0.50/lisp/org/ob-awk
/home/jacky/.emacs.d/straight/build/org/ox-beamer hides /usr/local/share/emacs/29.0.50/lisp/org/ox-beamer
/home/jacky/.emacs.d/straight/build/org/org-attach hides /usr/local/share/emacs/29.0.50/lisp/org/org-attach
/home/jacky/.emacs.d/straight/build/org/ol-eww hides /usr/local/share/emacs/29.0.50/lisp/org/ol-eww
/home/jacky/.emacs.d/straight/build/org/oc-basic hides /usr/local/share/emacs/29.0.50/lisp/org/oc-basic
/home/jacky/.emacs.d/straight/build/org/ox-org hides /usr/local/share/emacs/29.0.50/lisp/org/ox-org
/home/jacky/.emacs.d/straight/build/org/oc-csl hides /usr/local/share/emacs/29.0.50/lisp/org/oc-csl
/home/jacky/.emacs.d/straight/build/org/ob-latex hides /usr/local/share/emacs/29.0.50/lisp/org/ob-latex
/home/jacky/.emacs.d/straight/build/org/org-mouse hides /usr/local/share/emacs/29.0.50/lisp/org/org-mouse
/home/jacky/.emacs.d/straight/build/org/ob-lua hides /usr/local/share/emacs/29.0.50/lisp/org/ob-lua
/home/jacky/.emacs.d/straight/build/org/org-compat hides /usr/local/share/emacs/29.0.50/lisp/org/org-compat
/home/jacky/.emacs.d/straight/build/org/ob-clojure hides /usr/local/share/emacs/29.0.50/lisp/org/ob-clojure
/home/jacky/.emacs.d/straight/build/org/ox hides /usr/local/share/emacs/29.0.50/lisp/org/ox
/home/jacky/.emacs.d/straight/build/org/ox-md hides /usr/local/share/emacs/29.0.50/lisp/org/ox-md
/home/jacky/.emacs.d/straight/build/org/ol-mhe hides /usr/local/share/emacs/29.0.50/lisp/org/ol-mhe
/home/jacky/.emacs.d/straight/build/org/ob-emacs-lisp hides /usr/local/share/emacs/29.0.50/lisp/org/ob-emacs-lisp
/home/jacky/.emacs.d/straight/build/org/ob-octave hides /usr/local/share/emacs/29.0.50/lisp/org/ob-octave
/home/jacky/.emacs.d/straight/build/org/org-id hides /usr/local/share/emacs/29.0.50/lisp/org/org-id
/home/jacky/.emacs.d/straight/build/org/org-tempo hides /usr/local/share/emacs/29.0.50/lisp/org/org-tempo
/home/jacky/.emacs.d/straight/build/org/ox-publish hides /usr/local/share/emacs/29.0.50/lisp/org/ox-publish
/home/jacky/.emacs.d/straight/build/org/org-plot hides /usr/local/share/emacs/29.0.50/lisp/org/org-plot
/home/jacky/.emacs.d/straight/build/org/org-feed hides /usr/local/share/emacs/29.0.50/lisp/org/org-feed
/home/jacky/.emacs.d/straight/build/org/ob-C hides /usr/local/share/emacs/29.0.50/lisp/org/ob-C
/home/jacky/.emacs.d/straight/build/org/org-inlinetask hides /usr/local/share/emacs/29.0.50/lisp/org/org-inlinetask
/home/jacky/.emacs.d/straight/build/org/ob-makefile hides /usr/local/share/emacs/29.0.50/lisp/org/ob-makefile
/home/jacky/.emacs.d/straight/build/org/ox-texinfo hides /usr/local/share/emacs/29.0.50/lisp/org/ox-texinfo
/home/jacky/.emacs.d/straight/build/org/ob-sass hides /usr/local/share/emacs/29.0.50/lisp/org/ob-sass
/home/jacky/.emacs.d/straight/build/org/ob-gnuplot hides /usr/local/share/emacs/29.0.50/lisp/org/ob-gnuplot
/home/jacky/.emacs.d/straight/build/org/ob-haskell hides /usr/local/share/emacs/29.0.50/lisp/org/ob-haskell
/home/jacky/.emacs.d/straight/build/org/org-archive hides /usr/local/share/emacs/29.0.50/lisp/org/org-archive
/home/jacky/.emacs.d/straight/build/org/org-mobile hides /usr/local/share/emacs/29.0.50/lisp/org/org-mobile
/home/jacky/.emacs.d/straight/build/org/org-faces hides /usr/local/share/emacs/29.0.50/lisp/org/org-faces
/home/jacky/.emacs.d/straight/build/org/ob-forth hides /usr/local/share/emacs/29.0.50/lisp/org/ob-forth
/home/jacky/.emacs.d/straight/build/org/ob-lilypond hides /usr/local/share/emacs/29.0.50/lisp/org/ob-lilypond
/home/jacky/.emacs.d/straight/build/org/ob-ditaa hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ditaa
/home/jacky/.emacs.d/straight/build/org/ox-html hides /usr/local/share/emacs/29.0.50/lisp/org/ox-html
/home/jacky/.emacs.d/straight/build/org/ob-sql hides /usr/local/share/emacs/29.0.50/lisp/org/ob-sql
/home/jacky/.emacs.d/straight/build/org/ol-man hides /usr/local/share/emacs/29.0.50/lisp/org/ol-man
/home/jacky/.emacs.d/straight/build/org/org-capture hides /usr/local/share/emacs/29.0.50/lisp/org/org-capture
/home/jacky/.emacs.d/straight/build/org/org-keys hides /usr/local/share/emacs/29.0.50/lisp/org/org-keys
/home/jacky/.emacs.d/straight/build/org/org-pcomplete hides /usr/local/share/emacs/29.0.50/lisp/org/org-pcomplete
/home/jacky/.emacs.d/straight/build/org/org-macro hides /usr/local/share/emacs/29.0.50/lisp/org/org-macro
/home/jacky/.emacs.d/straight/build/org/org-version hides /usr/local/share/emacs/29.0.50/lisp/org/org-version
/home/jacky/.emacs.d/straight/build/org/ol-eshell hides /usr/local/share/emacs/29.0.50/lisp/org/ol-eshell
/home/jacky/.emacs.d/straight/build/org/ob-scheme hides /usr/local/share/emacs/29.0.50/lisp/org/ob-scheme
/home/jacky/.emacs.d/straight/build/org/org-protocol hides /usr/local/share/emacs/29.0.50/lisp/org/org-protocol
/home/jacky/.emacs.d/straight/build/org/org-indent hides /usr/local/share/emacs/29.0.50/lisp/org/org-indent
/home/jacky/.emacs.d/straight/build/org/org-goto hides /usr/local/share/emacs/29.0.50/lisp/org/org-goto
/home/jacky/.emacs.d/straight/build/org/org-timer hides /usr/local/share/emacs/29.0.50/lisp/org/org-timer
/home/jacky/.emacs.d/straight/build/org/ob-perl hides /usr/local/share/emacs/29.0.50/lisp/org/ob-perl
/home/jacky/.emacs.d/straight/build/org/ob-eval hides /usr/local/share/emacs/29.0.50/lisp/org/ob-eval
/home/jacky/.emacs.d/straight/build/org/ob-calc hides /usr/local/share/emacs/29.0.50/lisp/org/ob-calc
/home/jacky/.emacs.d/straight/build/org/org-habit hides /usr/local/share/emacs/29.0.50/lisp/org/org-habit
/home/jacky/.emacs.d/straight/build/org/org-footnote hides /usr/local/share/emacs/29.0.50/lisp/org/org-footnote
/home/jacky/.emacs.d/straight/build/org/org-agenda hides /usr/local/share/emacs/29.0.50/lisp/org/org-agenda
/home/jacky/.emacs.d/straight/build/org/ol hides /usr/local/share/emacs/29.0.50/lisp/org/ol
/home/jacky/.emacs.d/straight/build/org/ol-gnus hides /usr/local/share/emacs/29.0.50/lisp/org/ol-gnus
/home/jacky/.emacs.d/straight/build/org/ol-bibtex hides /usr/local/share/emacs/29.0.50/lisp/org/ol-bibtex
/home/jacky/.emacs.d/straight/build/org/ox-ascii hides /usr/local/share/emacs/29.0.50/lisp/org/ox-ascii
/home/jacky/.emacs.d/straight/build/org/org-entities hides /usr/local/share/emacs/29.0.50/lisp/org/org-entities
/home/jacky/.emacs.d/straight/build/org/org-lint hides /usr/local/share/emacs/29.0.50/lisp/org/org-lint
/home/jacky/.emacs.d/straight/build/org/org-crypt hides /usr/local/share/emacs/29.0.50/lisp/org/org-crypt
/home/jacky/.emacs.d/straight/build/org/ob-matlab hides /usr/local/share/emacs/29.0.50/lisp/org/ob-matlab
/home/jacky/.emacs.d/straight/build/org/ol-doi hides /usr/local/share/emacs/29.0.50/lisp/org/ol-doi
/home/jacky/.emacs.d/straight/build/org/oc-biblatex hides /usr/local/share/emacs/29.0.50/lisp/org/oc-biblatex
/home/jacky/.emacs.d/straight/build/org/ox-latex hides /usr/local/share/emacs/29.0.50/lisp/org/ox-latex
/home/jacky/.emacs.d/straight/build/org/org-src hides /usr/local/share/emacs/29.0.50/lisp/org/org-src
/home/jacky/.emacs.d/straight/build/org/ob-R hides /usr/local/share/emacs/29.0.50/lisp/org/ob-R
/home/jacky/.emacs.d/straight/build/org/org-list hides /usr/local/share/emacs/29.0.50/lisp/org/org-list
/home/jacky/.emacs.d/straight/build/org/ol-docview hides /usr/local/share/emacs/29.0.50/lisp/org/ol-docview
/home/jacky/.emacs.d/straight/build/org/ob-comint hides /usr/local/share/emacs/29.0.50/lisp/org/ob-comint
/home/jacky/.emacs.d/straight/build/org/ob hides /usr/local/share/emacs/29.0.50/lisp/org/ob
/home/jacky/.emacs.d/straight/build/org/ob-processing hides /usr/local/share/emacs/29.0.50/lisp/org/ob-processing
/home/jacky/.emacs.d/straight/build/org/oc-natbib hides /usr/local/share/emacs/29.0.50/lisp/org/oc-natbib
/home/jacky/.emacs.d/straight/build/org/ob-maxima hides /usr/local/share/emacs/29.0.50/lisp/org/ob-maxima
/home/jacky/.emacs.d/straight/build/org/ob-java hides /usr/local/share/emacs/29.0.50/lisp/org/ob-java
/home/jacky/.emacs.d/straight/build/org/ob-js hides /usr/local/share/emacs/29.0.50/lisp/org/ob-js
/home/jacky/.emacs.d/straight/build/org/ob-table hides /usr/local/share/emacs/29.0.50/lisp/org/ob-table
/home/jacky/.emacs.d/straight/build/org/ol-irc hides /usr/local/share/emacs/29.0.50/lisp/org/ol-irc
/home/jacky/.emacs.d/straight/build/org/ob-lob hides /usr/local/share/emacs/29.0.50/lisp/org/ob-lob
/home/jacky/.emacs.d/straight/build/org/ob-plantuml hides /usr/local/share/emacs/29.0.50/lisp/org/ob-plantuml
/home/jacky/.emacs.d/straight/build/org/ob-ref hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ref
/home/jacky/.emacs.d/straight/build/org/ol-rmail hides /usr/local/share/emacs/29.0.50/lisp/org/ol-rmail
/home/jacky/.emacs.d/straight/build/org/ob-julia hides /usr/local/share/emacs/29.0.50/lisp/org/ob-julia
/home/jacky/.emacs.d/straight/build/org/org-table hides /usr/local/share/emacs/29.0.50/lisp/org/org-table
/home/jacky/.emacs.d/straight/build/org/ob-exp hides /usr/local/share/emacs/29.0.50/lisp/org/ob-exp
/home/jacky/.emacs.d/straight/build/org/ob-groovy hides /usr/local/share/emacs/29.0.50/lisp/org/ob-groovy
/home/jacky/.emacs.d/straight/build/org/ox-man hides /usr/local/share/emacs/29.0.50/lisp/org/ox-man
/home/jacky/.emacs.d/straight/build/org/org-num hides /usr/local/share/emacs/29.0.50/lisp/org/org-num
/home/jacky/.emacs.d/straight/build/org/oc hides /usr/local/share/emacs/29.0.50/lisp/org/oc
/home/jacky/.emacs.d/straight/build/org/ob-sed hides /usr/local/share/emacs/29.0.50/lisp/org/ob-sed
/home/jacky/.emacs.d/straight/build/org/org-element hides /usr/local/share/emacs/29.0.50/lisp/org/org-element
/home/jacky/.emacs.d/straight/build/org/ob-org hides /usr/local/share/emacs/29.0.50/lisp/org/ob-org
/home/jacky/.emacs.d/straight/build/org/ob-shell hides /usr/local/share/emacs/29.0.50/lisp/org/ob-shell
/home/jacky/.emacs.d/straight/build/org/ol-bbdb hides /usr/local/share/emacs/29.0.50/lisp/org/ol-bbdb
/home/jacky/.emacs.d/straight/build/org/ob-core hides /usr/local/share/emacs/29.0.50/lisp/org/ob-core
/home/jacky/.emacs.d/straight/build/org/ob-fortran hides /usr/local/share/emacs/29.0.50/lisp/org/ob-fortran
/home/jacky/.emacs.d/straight/build/org/org-macs hides /usr/local/share/emacs/29.0.50/lisp/org/org-macs
/home/jacky/.emacs.d/straight/build/org/org-loaddefs hides /usr/local/share/emacs/29.0.50/lisp/org/org-loaddefs
/home/jacky/.emacs.d/straight/build/org/org-install hides /usr/local/share/emacs/29.0.50/lisp/org/org-install
/home/jacky/.emacs.d/straight/build/org/org-ctags hides /usr/local/share/emacs/29.0.50/lisp/org/org-ctags
/home/jacky/.emacs.d/straight/build/org/ob-sqlite hides /usr/local/share/emacs/29.0.50/lisp/org/ob-sqlite
/home/jacky/.emacs.d/straight/build/org/ob-dot hides /usr/local/share/emacs/29.0.50/lisp/org/ob-dot
/home/jacky/.emacs.d/straight/build/org/ob-python hides /usr/local/share/emacs/29.0.50/lisp/org/ob-python
/home/jacky/.emacs.d/straight/build/org/ob-ocaml hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ocaml
/home/jacky/.emacs.d/straight/build/org/ox-icalendar hides /usr/local/share/emacs/29.0.50/lisp/org/ox-icalendar
/home/jacky/.emacs.d/straight/build/org/ob-eshell hides /usr/local/share/emacs/29.0.50/lisp/org/ob-eshell
/home/jacky/.emacs.d/straight/build/org/ol-w3m hides /usr/local/share/emacs/29.0.50/lisp/org/ol-w3m
/home/jacky/.emacs.d/straight/build/org/ob-screen hides /usr/local/share/emacs/29.0.50/lisp/org/ob-screen
/home/jacky/.emacs.d/straight/build/org/ob-css hides /usr/local/share/emacs/29.0.50/lisp/org/ob-css
/home/jacky/.emacs.d/straight/build/org/ob-lisp hides /usr/local/share/emacs/29.0.50/lisp/org/ob-lisp
/home/jacky/.emacs.d/straight/build/org/org-duration hides /usr/local/share/emacs/29.0.50/lisp/org/org-duration
/home/jacky/.emacs.d/straight/build/org/ob-ruby hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ruby
/home/jacky/.emacs.d/straight/build/org/ob-tangle hides /usr/local/share/emacs/29.0.50/lisp/org/ob-tangle
/home/jacky/.emacs.d/straight/build/org/ox-odt hides /usr/local/share/emacs/29.0.50/lisp/org/ox-odt
/home/jacky/.emacs.d/straight/build/org/org-refile hides /usr/local/share/emacs/29.0.50/lisp/org/org-refile
/home/jacky/.emacs.d/straight/build/org/org-datetree hides /usr/local/share/emacs/29.0.50/lisp/org/org-datetree
/home/jacky/.emacs.d/straight/build/org/ox-koma-letter hides /usr/local/share/emacs/29.0.50/lisp/org/ox-koma-letter
/home/jacky/.emacs.d/straight/build/org/ol-info hides /usr/local/share/emacs/29.0.50/lisp/org/ol-info
/home/jacky/.emacs.d/straight/build/org/org-colview hides /usr/local/share/emacs/29.0.50/lisp/org/org-colview
/home/jacky/.emacs.d/straight/build/org/org-clock hides /usr/local/share/emacs/29.0.50/lisp/org/org-clock
/home/jacky/.emacs.d/straight/build/org/org-attach-git hides /usr/local/share/emacs/29.0.50/lisp/org/org-attach-git
/home/jacky/.emacs.d/straight/build/org/org hides /usr/local/share/emacs/29.0.50/lisp/org/org
/home/jacky/.emacs.d/straight/build/let-alist/let-alist hides /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/let-alist
/home/jacky/.emacs.d/straight/build/eldoc/eldoc hides /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/eldoc

Features:
(shadow mail-extr emacsbug whitespace mule-util orderless cursor-sensor
display-line-numbers init init-shapeless-blog shapeless-blog
shapeless-blog-autoloads init-ui autorevert elec-pair time
init-keybinding windmove init-helpers shapeless-chinese init-exwm
exwm-firefox exwm-firefox-core exwm-firefox-autoloads
exwm-firefox-core-autoloads exwm-edit exwm-edit-autoloads exwm-randr
xcb-randr exwm-xim xcb-xim xcb-xlib exwm exwm-input xcb-keysyms xcb-xkb
exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout
exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types
xcb-debug exwm-autoloads xelb-autoloads init-pixel-scroll-precision
pixel-scroll cua-base init-sly sly sly-completion sly-buttons
sly-messages sly-common apropos arc-mode archive-mode hyperspec
sly-autoloads init-pass pass f password-store with-editor pass-autoloads
password-store-otp-autoloads password-store-autoloads auth-source-pass
init-mentor mentor-autoloads async-autoloads xml-rpc-autoloads
init-lilypond lilypond-mode vc-mtn vc-hg vc-git vc-bzr vc-src vc-sccs
vc-svn vc-cvs vc-rcs log-view pcvs-util vc vc-dispatcher init-json
json-mode-autoloads json-snatcher-autoloads init-notmuch notmuch
notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print
notmuch-crypto notmuch-mua notmuch-message notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash diff-mode coolj notmuch-query goto-addr icalendar diary-lib
diary-loaddefs notmuch-tag crm notmuch-lib notmuch-version
notmuch-compat message yank-media rfc822 mml mailabbrev gmm-utils
mailheader mm-view mml-smime mml-sec gnus-util smime gnutls dig
mm-decode mm-bodies mm-encode init-vterm vterm face-remap color term
ehelp vterm-module term/xterm xterm vterm-autoloads init-magit
magit-autoloads git-commit-autoloads with-editor-autoloads init-w3m w3m
doc-view timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-favicon
w3m-image tab-line w3m-proc w3m-util w3m-autoloads init-emms
emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit emms-i18n
emms-history emms-score emms-stream-info emms-metaplaylist-mode
emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort
emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine
emms-player-mpd emms-lyrics emms-url emms-streams emms-show-all
emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line emms-cache
emms-info-native bindat emms-info-exiftool emms-info-tinytag
emms-info-metaflac emms-info-opusinfo emms-info-ogginfo
emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv
emms-playing-time emms-info emms-later-do emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file locate
emms-setup emms emms-compat emms-autoloads init-pdf
pdf-view-restore-autoloads pdf-tools package url-handlers pdf-view
jka-compr pdf-cache pdf-info tq pdf-util pdf-macs image-mode exif
init-eglot eglot array filenotify jsonrpc ert ewoc debug backtrace
eglot-autoloads jsonrpc-autoloads init-dart flutter flutter-l10n
flutter-project dart-mode dart-mode-autoloads init-hlsl cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
hlsl-mode init-glsl align glsl-mode glsl-mode-autoloads init-yaml
yaml-mode yaml-mode-autoloads init-hackernews hackernews
hackernews-autoloads init-nov nov recentf tree-widget imenu bookmark
nov-autoloads init-calibredb calibredb calibredb-dired calibredb-consult
calibredb-opds esxml esxml-query calibredb-org calibredb-library
calibredb-ivy calibredb-utils calibredb-annotation calibredb-transient
calibredb-helm calibredb-show calibredb-search calibredb-faces
calibredb-core sendmail mail-utils transient hl-line sql view s
calibredb-autoloads esxml-autoloads kv-autoloads request-autoloads
transient-autoloads init-web web-mode disp-table web-mode-autoloads
init-nginx nginx-mode nginx-mode-autoloads init-go go-mode find-file
ffap etags fileloop xref go-mode-autoloads init-swift
swift-mode-autoloads init-markdown markdown-mode-autoloads
init-shell-switcher shell-switcher rswitcher shell-switcher-autoloads
init-corfu corfu-history corfu corfu-autoloads init-cape cape-autoloads
init-flutter flutter-autoloads init-projectile projectile
projectile-autoloads init-framemove framemove init-inherit-org
inherit-org inherit-org-autoloads init-shrface shrface org-indent shr
pixel-fill kinsoku url-file url-dired svg xml dom browse-url
shrface-autoloads language-detection-autoloads init-ripgrep ripgrep grep
ripgrep-autoloads init-aggressive-indent aggressive-indent
aggressive-indent-autoloads init-helpful helpful-autoloads
elisp-refs-autoloads f-autoloads s-autoloads init-which-key which-key
which-key-autoloads init-consult init-embark embark-consult-autoloads
consult-autoloads embark-autoloads init-marginalia marginalia
marginalia-autoloads init-savehist savehist init-orderless
orderless-autoloads init-vertico vertico-directory vertico
vertico-autoloads init-yasnippet yasnippet yasnippet-autoloads
init-mood-line mood-line mood-line-autoloads init-blackout
blackout-autoloads init-ibuffer ibuffer-project ibuf-ext ibuffer
ibuffer-loaddefs ibuffer-project-autoloads init-ediff ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
init-flymake flymake-proc flymake project compile text-property-search
flymake-autoloads project-autoloads xref-autoloads eldoc-autoloads
init-epa org-crypt server pinentry epa-file epa derived epg rfc6068
epg-config pinentry-autoloads init-shell init-input-method cangjie5
quail init-dired dired-x dired dired-loaddefs init-theme shapeless-theme
init-tramp tramp tramp-loaddefs trampver tramp-integration cus-edit pp
cus-load wid-edit files-x tramp-compat parse-time iso8601 ls-lisp
init-org org-present org-present-autoloads htmlize htmlize-autoloads
org-roam-migrate org-roam-mode org-roam-capture org-roam-id
org-roam-node org-roam-db org-roam-utils org-roam-compat org-roam
org-capture org-element org-persist xdg avl-tree generator org-id
org-refile emacsql-sqlite url-http url-auth mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm rmc puny url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse auth-source password-cache json map url-vars mailcap
emacsql emacsql-compiler magit-section eieio eieio-core eieio-loaddefs
compat-27 compat-26 compat dash org-roam-autoloads
magit-section-autoloads compat-autoloads emacsql-sqlite-autoloads
emacsql-autoloads dash-autoloads edmacro kmacro ox-slimhtml-autoloads
org-pdftools-autoloads org-noter-autoloads finder-inf
pdf-tools-autoloads let-alist-autoloads tablist-autoloads
valign-autoloads ob-shell shell ob-dot org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
pcomplete comint ansi-color ring org-list org-faces org-entities
time-date noutline outline org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-compat
advice org-macs org-loaddefs format-spec find-func cal-menu calendar
cal-loaddefs init-leaf leaf-keywords leaf leaf-keywords-autoloads
leaf-autoloads init-straight straight-autoloads comp comp-cstr warnings
rx cl-extra straight info autoload loaddefs-gen radix-tree easy-mmode
cl-seq pcase checkdoc lisp-mnt thingatpt help-mode seq subr-x byte-opt
cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode 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 lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice
simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo xinput2 x
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 760217 200478)
 (symbols 48 55632 11)
 (strings 32 233869 36668)
 (string-bytes 1 7735370)
 (vectors 16 154723)
 (vector-slots 8 2762142 171094)
 (floats 8 710 746)
 (intervals 56 932 467)
 (buffers 992 26))





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

* bug#55779: Acknowledgement (29.0.50; child frame)
  2022-06-03  3:59 bug#55779: 29.0.50; child frame drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-03  8:19 ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-03 10:27 ` bug#55779: 29.0.50; child frame Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-03  8:19 UTC (permalink / raw)
  To: drshapeless

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@gnu.org

If you wish to submit further information on this problem, please
send it to 55779@debbugs.gnu.org.

Please do not send mail to help-debbugs@gnu.org unless you wish
to report a problem with the Bug-tracking system.

[ 4-line signature. Click/Enter to show. ]
-- 
55779: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55779
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
Po Lu <luangruo@yahoo.com> (Today 18:27) (replied)
Subject: Re: bug#55779: 29.0.50; child frame
To: drshapeless <drsl@drshapeless.com>
Cc: 55779@debbugs.gnu.org
Date: Fri, 03 Jun 2022 18:27:18 +0800

drshapeless <drsl@drshapeless.com> writes:

> When I build emacs --with-x-toolkit=gtk3, the child frame generated by
> corfu completion candidates are blocked by a blank overlay. I can
[ 7 more citation lines. Click/Enter to show. ]
> confirm this is only a gtk3 related issue, because I have built emacs
> --with-x-toolkit=athena or --with-x-toolkit=no without facing the same
> issue. Also, this issue does not occur on older stable branch,
> e.g. 28.1, I can still use gtk3 as the toolkit on older build without
> any issues.
>
> I have reached out to the author of corfu mode. The author says he
> cannot do anything because it is an issue related to emacs child frame
> mechanism. And my experiments on different build configurations showed
> the same conclusion.

What does "are blocked by a blank overlay" mean?  It is technically
impossible for anything (such as an overlay) in the parent frame to
obscure the contents of the child frame, so I'm afraid I don't
understand what you mean by "blocked"?

Secondly, what happens if you start Emacs with
"GDK_CORE_DEVICE_EVENTS=1" in the environment?

Thanks.
 drshapeless <drsl@drshapeless.com> (0 mins. ago) (sent)
 Subject: Re: bug#55779: 29.0.50; child frame
 To: Po Lu <luangruo@yahoo.com>
 Date: Fri, 03 Jun 2022 20:11:43 +0800

 Po Lu <luangruo@yahoo.com> writes:

 > drshapeless <drsl@drshapeless.com> writes:
 >> When I build emacs --with-x-toolkit=gtk3, the child frame generated by
 [ 18 more citation lines. Click/Enter to show. ]
 >> corfu completion candidates are blocked by a blank overlay. I can
 >> confirm this is only a gtk3 related issue, because I have built emacs
 >> --with-x-toolkit=athena or --with-x-toolkit=no without facing the same
 >> issue. Also, this issue does not occur on older stable branch,
 >> e.g. 28.1, I can still use gtk3 as the toolkit on older build without
 >> any issues.
 >>
 >> I have reached out to the author of corfu mode. The author says he
 >> cannot do anything because it is an issue related to emacs child frame
 >> mechanism. And my experiments on different build configurations showed
 >> the same conclusion.
 >
 > What does "are blocked by a blank overlay" mean?  It is technically
 > impossible for anything (such as an overlay) in the parent frame to
 > obscure the contents of the child frame, so I'm afraid I don't
 > understand what you mean by "blocked"?
 >
 > Secondly, what happens if you start Emacs with
 > "GDK_CORE_DEVICE_EVENTS=1" in the environment?
 >
 > Thanks.

 I just tried starting Emacs with "GDK_CORE_DEVICE_EVENTS=1", the only
 difference is the smooth scrolling is gone. The child frame issue still
 persists.

 To be clear, it was said to be a child frame redisplay bug, (by
 minad). It was not the parent frame blocking the child frame, instead it
 seems to be another child frame blocking the child frame.

 You may check out the github issue below, where I posted a couple photos
 showing the bug.

 https://github.com/minad/corfu/issues/161





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

* bug#55779: 29.0.50; child frame
  2022-06-03  3:59 bug#55779: 29.0.50; child frame drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-03  8:19 ` bug#55779: Acknowledgement (29.0.50; child frame) drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-03 10:27 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found]   ` <87ee06vtds.fsf@drshapeless.com>
  1 sibling, 1 reply; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-03 10:27 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779

drshapeless <drsl@drshapeless.com> writes:

> When I build emacs --with-x-toolkit=gtk3, the child frame generated by
> corfu completion candidates are blocked by a blank overlay. I can
> confirm this is only a gtk3 related issue, because I have built emacs
> --with-x-toolkit=athena or --with-x-toolkit=no without facing the same
> issue. Also, this issue does not occur on older stable branch,
> e.g. 28.1, I can still use gtk3 as the toolkit on older build without
> any issues.
>
> I have reached out to the author of corfu mode. The author says he
> cannot do anything because it is an issue related to emacs child frame
> mechanism. And my experiments on different build configurations showed
> the same conclusion.

What does "are blocked by a blank overlay" mean?  It is technically
impossible for anything (such as an overlay) in the parent frame to
obscure the contents of the child frame, so I'm afraid I don't
understand what you mean by "blocked"?

Secondly, what happens if you start Emacs with
"GDK_CORE_DEVICE_EVENTS=1" in the environment?

Thanks.





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

* bug#55779: 29.0.50; child frame
       [not found]     ` <87ee063piv.fsf@yahoo.com>
@ 2022-06-03 14:56       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-04  1:15         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-03 14:56 UTC (permalink / raw)
  To: Po Lu; +Cc: 55779

Po Lu <luangruo@yahoo.com> writes:

> drshapeless <drsl@drshapeless.com> writes:
>
>> To be clear, it was said to be a child frame redisplay bug, (by
>> minad). It was not the parent frame blocking the child frame, instead it
>> seems to be another child frame blocking the child frame.
>>
>> You may check out the github issue below, where I posted a couple photos
>> showing the bug.
>>
>> https://github.com/minad/corfu/issues/161
>
> Thanks.  That's very odd, the only parts of the GTK-specific child frame
> support to have changed recently are the parts involving WM frame
> synchronization.  What happens if you comment out all the calls to
> `gdk_x11_window_set_frame_sync_enabled' in xfns.c and xterm.c?

I have commented out 2 calls in xfns.c and 1 call in xterm.c. But the
issue persists. A bit more detailed observation is that, the size of the
blocking overlay (just call it overlay now) is related to the last
completion child frame.

For example, if the last child frame was 3-line tall, if the next child
frame is 5-line tall, only the first 3 lines are blocked.

And still, this behaviour cannot be observed other than building with
gtk. 





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

* bug#55779: 29.0.50; child frame
  2022-06-03 14:56       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-04  1:15         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-04  3:10           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-04  1:15 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779

drshapeless <drsl@drshapeless.com> writes:

> I have commented out 2 calls in xfns.c and 1 call in xterm.c. But the
> issue persists. A bit more detailed observation is that, the size of the
> blocking overlay (just call it overlay now) is related to the last
> completion child frame.
>
> For example, if the last child frame was 3-line tall, if the next child
> frame is 5-line tall, only the first 3 lines are blocked.
>
> And still, this behaviour cannot be observed other than building with
> gtk. 

I'm lost.  What happens if you set `x-gtk-resize-child-frames' to
`hide'?





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

* bug#55779: 29.0.50; child frame
  2022-06-04  1:15         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-04  3:10           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-04  4:18             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-04  3:10 UTC (permalink / raw)
  To: Po Lu; +Cc: 55779

Po Lu <luangruo@yahoo.com> writes:

> drshapeless <drsl@drshapeless.com> writes:
>
>> I have commented out 2 calls in xfns.c and 1 call in xterm.c. But the
>> issue persists. A bit more detailed observation is that, the size of the
>> blocking overlay (just call it overlay now) is related to the last
>> completion child frame.
>>
>> For example, if the last child frame was 3-line tall, if the next child
>> frame is 5-line tall, only the first 3 lines are blocked.
>>
>> And still, this behaviour cannot be observed other than building with
>> gtk. 
>
> I'm lost.  What happens if you set `x-gtk-resize-child-frames' to
> `hide'?

I have tried this one even before sending the bug report, did not
help. The bug should be something related to gtk related commit in
master but not in 28.1 release. But I could not located it.





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

* bug#55779: 29.0.50; child frame
  2022-06-04  3:10           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-04  4:18             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-04 11:57               ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-04  4:18 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779

drshapeless <drsl@drshapeless.com> writes:

> I have tried this one even before sending the bug report, did not
> help. The bug should be something related to gtk related commit in
> master but not in 28.1 release. But I could not located it.

I can't think of any either.  Did you try setting
`x-gtk-resize-child-frames' to `resize-mode' as well?





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

* bug#55779: 29.0.50; child frame
  2022-06-04  4:18             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-04 11:57               ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-04 12:09                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-04 11:57 UTC (permalink / raw)
  To: Po Lu; +Cc: 55779

Po Lu <luangruo@yahoo.com> writes:

> I can't think of any either.  Did you try setting
> `x-gtk-resize-child-frames' to `resize-mode' as well?

Yes I have tried that one as well, did not solve the issue.

The "blocking" will go away as long as I update the drop list item,
e.g. using C-n to select the next item. Could a workaround be forcing
the child frame to update twice at creation?





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

* bug#55779: 29.0.50; child frame
  2022-06-04 11:57               ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-04 12:09                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-04 16:46                   ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-04 12:09 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779

drshapeless <drsl@drshapeless.com> writes:

> Yes I have tried that one as well, did not solve the issue.
>
> The "blocking" will go away as long as I update the drop list item,
> e.g. using C-n to select the next item. Could a workaround be forcing
> the child frame to update twice at creation?

No, I don't think so (what does "update" mean here anyway?)

Besides, it used to work in Emacs 28.  Could you try using "git bisect"
to isolate the commit responsible for this problem?

Thanks.





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

* bug#55779: 29.0.50; child frame
  2022-06-04 12:09                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-04 16:46                   ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-05  0:49                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-04 16:46 UTC (permalink / raw)
  To: Po Lu; +Cc: 55779

Po Lu <luangruo@yahoo.com> writes:

> No, I don't think so (what does "update" mean here anyway?)
>
> Besides, it used to work in Emacs 28.  Could you try using "git bisect"
> to isolate the commit responsible for this problem?
>
> Thanks.

After a couple of hours, I am able to locate the bad commit using "git
bisect". Here's the log. You probably made a change in GTK back in April
leading to this bug.

git bisect start 'master' 'emacs-28.1'
0a5477b448 bad Make skkdic-convert replacements literal
5a223c7f2e good Update logs and HISTORY for Emacs 28.1

git bisect good 96867f9d0897319adda9d7b8ec84c1fb9e451225
96867f9d08 good Fix manual points about tex-latex-block/latex-insert-block

git bisect good 095a776d0642bced88a6357f2d889c8980e0b83a
095a776d06 good Clean up various bits of Haiku code

git bisect bad 3c5e1f8ec8d5d52e5bbf185d9618852e7d04e3ca
3c5e1f8ec8 bad Simplify Haiku selection code

git bisect bad c7d49f91dac8afeb85cb8ee2b209f7ca4b363a4d
c7d49f91da bad Fix another help-fns--insert-menu-bindings parsing problem

git bisect good 5c7b5c65ada6c07509a46ec459bf3a3aea3a6386
5c7b5c65ad good ; * doc/emacs/mini.texi (Completion Commands): Remove duplicate @findex.

git bisect bad 9b6580ccb73e6cb71a89099bb7062689cbed9e20
9b6580ccb7 bad Speed up color cache lookup on X

git bisect bad 26e448ae2b60bd34eebceca6dbd181ca1722be5b
26e448ae2b bad ; Merge from origin/emacs-28

git bisect bad 247e587d56f9be5164b3783e04cfba73fd667175
247e587d56 bad Document how to specify fallback modes

git bisect bad d78e4460727c348fb5a5a62b774797c4374a1190
d78e446072 bad Minor cleanups to Haiku menu code

git bisect good 5fae0325872710dcbf42541b985103b66f613f61
5fae032587 good Tell those using exclusively X not to use the PGTK port

git bisect good 9751250adb1333da55fcadb363266214d0782bb9
9751250adb good Port struct Lisp_Subr to C99

git bisect bad 92667cc2fb17af947c202d2de765d8736679e858
92667cc2fb bad Fix last change for GTK 2

git bisect good 4dd47196f67a223abf482caf430c3e5dd5c05977
4dd47196f6 good Fix opaque region treatment on GTK 3

92667cc2fb17af947c202d2de765d8736679e858 is the first bad commit
commit 92667cc2fb17af947c202d2de765d8736679e858
Author: Po Lu <luangruo@yahoo.com>
Date:   Tue Apr 19 11:18:25 2022 +0800
    Fix last change for GTK 2
    
    * src/xfns.c (x_set_alpha_background):
    * src/xterm.c (x_update_opaque_region): Move some ifdefs around.
 src/xfns.c  |  2 +-
 src/xterm.c | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)





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

* bug#55779: 29.0.50; child frame
  2022-06-04 16:46                   ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-05  0:49                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-05  1:03                       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-05  0:49 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779

drshapeless <drsl@drshapeless.com> writes:

> After a couple of hours, I am able to locate the bad commit using "git
> bisect". Here's the log. You probably made a change in GTK back in April
> leading to this bug.

Thanks, but that doesn't make much sense.  Updating a window's opaque
region by calling its `style_changed' function shouldn't interfere with
updating it or changing its size.

What happens if you comment out this part out?

      object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f));
      class = GTK_WIDGET_CLASS (object_class);

      if (class->style_updated)
	class->style_updated (FRAME_GTK_OUTER_WIDGET (f));

Thanks.





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

* bug#55779: 29.0.50; child frame
  2022-06-05  0:49                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-05  1:03                       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-05  2:54                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-05  1:03 UTC (permalink / raw)
  To: Po Lu; +Cc: 55779

Po Lu <luangruo@yahoo.com> writes:

> Thanks, but that doesn't make much sense.  Updating a window's opaque
> region by calling its `style_changed' function shouldn't interfere with
> updating it or changing its size.
>
> What happens if you comment out this part out?
>
>       object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f));
>       class = GTK_WIDGET_CLASS (object_class);
>
>       if (class->style_updated)
> 	class->style_updated (FRAME_GTK_OUTER_WIDGET (f));
>
> Thanks.

If I comment this part out, even at the lastest master commit, the issue
is solved. I could say these few lines of code is the root of the bug.

I have no idea what is going on though.





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

* bug#55779: 29.0.50; child frame
  2022-06-05  1:03                       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-05  2:54                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-05  3:55                           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-05  2:54 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779

drshapeless <drsl@drshapeless.com> writes:

> If I comment this part out, even at the lastest master commit, the issue
> is solved. I could say these few lines of code is the root of the bug.
>
> I have no idea what is going on though.

Thanks.  I didn't quite figure that out either.

Does this also fix the problem?

diff --git a/src/xterm.c b/src/xterm.c
index 2bf37e94d6..7f9d4c6ff6 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4349,11 +4349,16 @@ x_update_opaque_region (struct frame *f, XEvent *configure)
 		     (unsigned char *) &opaque_region, 4);
   else
     {
-      object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f));
-      class = GTK_WIDGET_CLASS (object_class);
+      /* This causes child frames to not update correctly for an
+	 unknown reason.  (bug#55779) */
+      if (!FRAME_PARENT_FRAME (f))
+	{
+	  object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f));
+	  class = GTK_WIDGET_CLASS (object_class);
 
-      if (class->style_updated)
-	class->style_updated (FRAME_GTK_OUTER_WIDGET (f));
+	  if (class->style_updated)
+	    class->style_updated (FRAME_GTK_OUTER_WIDGET (f));
+	}
     }
 #endif
   unblock_input ();





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

* bug#55779: 29.0.50; child frame
  2022-06-05  2:54                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-05  3:55                           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-06-05  5:04                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 15+ messages in thread
From: drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-05  3:55 UTC (permalink / raw)
  To: Po Lu; +Cc: 55779

Po Lu <luangruo@yahoo.com> writes:

> Thanks.  I didn't quite figure that out either.
>
> Does this also fix the problem?
>
> diff --git a/src/xterm.c b/src/xterm.c
> index 2bf37e94d6..7f9d4c6ff6 100644
> --- a/src/xterm.c
> +++ b/src/xterm.c
> @@ -4349,11 +4349,16 @@ x_update_opaque_region (struct frame *f, XEvent *configure)
>  		     (unsigned char *) &opaque_region, 4);
>    else
>      {
> -      object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f));
> -      class = GTK_WIDGET_CLASS (object_class);
> +      /* This causes child frames to not update correctly for an
> +	 unknown reason.  (bug#55779) */
> +      if (!FRAME_PARENT_FRAME (f))
> +	{
> +	  object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f));
> +	  class = GTK_WIDGET_CLASS (object_class);
>  
> -      if (class->style_updated)
> -	class->style_updated (FRAME_GTK_OUTER_WIDGET (f));
> +	  if (class->style_updated)
> +	    class->style_updated (FRAME_GTK_OUTER_WIDGET (f));
> +	}
>      }
>  #endif
>    unblock_input ();

Yes this also solves the bug. Weird.





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

* bug#55779: 29.0.50; child frame
  2022-06-05  3:55                           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-06-05  5:04                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 15+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-05  5:04 UTC (permalink / raw)
  To: drshapeless; +Cc: 55779-done

drshapeless <drsl@drshapeless.com> writes:

> Yes this also solves the bug. Weird.

Thanks, installed.  I'm closing this bug then.





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

end of thread, other threads:[~2022-06-05  5:04 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-03  3:59 bug#55779: 29.0.50; child frame drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-03  8:19 ` bug#55779: Acknowledgement (29.0.50; child frame) drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-03 10:27 ` bug#55779: 29.0.50; child frame Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]   ` <87ee06vtds.fsf@drshapeless.com>
     [not found]     ` <87ee063piv.fsf@yahoo.com>
2022-06-03 14:56       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-04  1:15         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-04  3:10           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-04  4:18             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-04 11:57               ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-04 12:09                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-04 16:46                   ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-05  0:49                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-05  1:03                       ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-05  2:54                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-05  3:55                           ` drshapeless via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-05  5:04                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

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).