unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
@ 2021-11-25  1:12 Aaron Jensen
  2021-11-30 15:49 ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-12-02 22:22 ` Alan Third
  0 siblings, 2 replies; 18+ messages in thread
From: Aaron Jensen @ 2021-11-25  1:12 UTC (permalink / raw)
  To: 52085

I still need to try this with emacs -Q, but I have seen this for some
time now (possibly since Alan's recent batch of changes to macOS
rendering)

If I am screen sharing on zoom, I will often issue a command that I
expect to repaint the frame and it will not. If I issue another then it
repaints immediately with both commands having been realized. This
*only* happens when screen sharing with Zoom. I will try other screen
sharing software to see if it is a Zoom specific thing. I am typically
sharing just the Emacs window (and maybe an iTerm and a browser), but
never full screen sharing.

Alan, is there anything that you could think of that could cause
something like this to happen? Is there logging I could add to help get
to the bottom of it?

Thanks,

Aaron

In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin21.2.0, NS appkit-2112.20 Version 12.1 (Build 21C5021h))
 of 2021-11-13 built on Aarons-MacBook-Pro.local
Windowing system distributor 'Apple', version 10.3.2112
System Description:  macOS 12.1

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus@29/29.0.50/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus@29/29.0.50 --with-xml2
 --with-gnutls --with-native-compilation --without-dbus
 --without-imagemagick --with-modules --with-rsvg --with-ns
 --disable-ns-self-contained 'CFLAGS=-I/usr/local/opt/gcc/include
 -I/usr/local/opt/libgccjit/include -I/usr/local/opt/gmp/include
 -I/usr/local/opt/jpeg/include' 'LDFLAGS=-L/usr/local/lib/gcc/11
 -I/usr/local/opt/gcc/include -I/usr/local/opt/libgccjit/include
 -I/usr/local/opt/gmp/include -I/usr/local/opt/jpeg/include''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
ZLIB

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

Features:
(shadow sort mail-extr emacsbug sendmail wgrep embark-consult embark
ffap use-package-core org-goto evil-matchit-simple evil-matchit-prog
evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk
rotate wdired image-file image-converter org-drill persist conf-mode
lsp-diagnostics lsp-modeline lsp-lens lsp-ui lsp-ui-flycheck lsp-ui-doc
lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util yaml-mode
tramp-cmds cal-move evil-collection-vterm vterm term ehelp vterm-module
term/xterm xterm vterm-toggle tramp-sh goto-addr consult-vertico consult
tabify css-mode emmet-mode cl web-mode company-rg company-oddmuse
company-keywords company-etags company-gtags company-dabbrev-code
company-dabbrev company-clang company-cmake company-semantic
company-template company-bbdb restart-emacs desktop frameset
tree-sitter-langs tree-sitter-langs-build tar-mode
evil-collection-arc-mode arc-mode archive-mode tree-sitter-hl
tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get
dired-aux tsc-obsolete evil-ruby-text-objects ruby-refactor
ruby-electric bundler enh-ruby-mode magit-extras tramp-cache prettier
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
ls-lisp nvm iter2 rspec-mode inf-ruby ruby-mode typescript-mode rng-xsd
xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap
sgml-mode facemenu sql json-mode json-snatcher js cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-yaml lsp-xml lsp-vimscript
lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-terraform
lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-r lsp-purescript
lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-perl lsp-ocaml lsp-nix lsp-nim
lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-haxe
lsp-groovy lsp-hack lsp-graphql lsp-go lsp-completion lsp-gdscript
lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-elixir lsp-elm
lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls lsp-crystal
lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd lsp-beancount
lsp-bash lsp-angular lsp-ada lsp-actionscript lsp-mode lsp-protocol
spinner network-stream markdown-mode lua-mode sh-script smie org-clock
magit-bookmark bookmark vertico-directory diary-lib diary-loaddefs
executable vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc
bug-reference magit-delta company-files company-capf company-posframe
company-prescient company-tng company eval-sexp-fu eros lispyville lispy
hydra lv swiper ivy ivy-faces ivy-overlay colir lispy-inline avy etags
fileloop lispy-tags elisp-def ert ewoc evil-collection-debug debug
evil-collection-xref xref project sotlisp skeleton evil-vimish-fold
vimish-fold dtrt-indent vc-git vc-dispatcher cursor-sensor
evil-collection-magit magit-submodule magit-obsolete magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit package url-handlers
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff-mode git-commit log-edit view elec-pair org-eldoc
org-appear orgonomic org-indent org-superstar form-feed ol-eww eww
url-queue mm-url 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 shr kinsoku svg dom browse-url
gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap
nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int
gnus-range message yank-media gnus-win gnus nnheader ol-docview doc-view
jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi
org-journal org-crypt ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda ox-ascii ox-gfm ox-md ox-html table ox-publish
ox org-download org-attach async vulpea vulpea-meta vulpea-select
vulpea-buffer vulpea-db vulpea-utils vulpea-note org-roam-migrate
org-roam-mode org-roam-capture org-roam-node org-roam-db org-roam-utils
org-roam-compat org-roam org-mac-link org-capture emacsql-sqlite emacsql
emacsql-compiler org-tempo tempo evil-org-agenda evil-org org-element
org-persist xdg org-id org-refile avl-tree generator 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 noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex
iso8601 ol org-keys oc org-compat org-macs org-loaddefs cal-iso cal-menu
calendar cal-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config
gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
magit-mode transient-posframe transient format-spec magit-git
magit-section magit-utils crm time-date flycheck yasnippet
treemacs-themes treemacs-core-utils pfuture inline hl-line ht
treemacs-logging treemacs-customization treemacs-macros autorevert
hide-mode-line popup-mode-core popup-mode-hacks pcase
evil-collection-which-key which-key-posframe which-key winner filenotify
rainbow-mode xterm-color color posframe evil-collection-helpful helpful
imenu trace evil-collection-edebug edebug backtrace info-look f help-fns
radix-tree elisp-refs s dired-subtree dired-hacks-utils
evil-collection-dired dired dired-loaddefs dash evil-collection-profiler
profiler url-http url url-proxy url-privacy url-expand url-methods
url-history mailcap url-auth url-cookie url-domsuf url-util url-gw
url-parse auth-source password-cache url-vars nsm rmc puny recentf
tree-widget better-jumper repeat undo-tree diff queue evil-nl-break-undo
evil-anzu anzu evil-collection-unimpaired evil-collection-ibuffer
evil-collection-help evil-collection-custom evil-collection-process-menu
evil-collection annalist evil-mc evil-mc-command-execute
evil-mc-command-record evil-mc-cursor-make evil-mc-region
evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands
evil-mc-common evil-numbers evil-snipe evil-matchit evil-matchit-sdk
semantic/lex semantic/fw eieio eieio-core eieio-loaddefs mode-local
find-func evil-surround evil evil-integration cus-edit pp cus-start
cus-load wid-edit evil-maps evil-commands reveal flyspell ispell
evil-jumps evil-command-window evil-search evil-ex shell pcomplete
evil-types evil-macros evil-repeat evil-states evil-core evil-common
windmove calc calc-loaddefs calc-macs rect evil-digraphs evil-vars envrc
inheritenv json map nano-modeline memoize persp-projectile projectile
lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr grep compile text-property-search comint ansi-color ibuf-ext
ibuffer ibuffer-loaddefs perspective advice thingatpt ido comp comp-cstr
warnings rx mini-frame server gcmh nano-light-theme face-remap
nano-theme disp-table gcmh-autoloads explain-pause-mode-autoloads
pdf-tools-autoloads tablist-autoloads restclient-autoloads
vterm-toggle-autoloads vterm-autoloads dumb-jump-autoloads
popup-autoloads emmet-mode-autoloads terraform-mode-autoloads
hcl-mode-autoloads dockerfile-mode-autoloads yaml-mode-autoloads
json-snatcher-autoloads lua-mode-autoloads ruby-electric-autoloads
bundler-autoloads inf-ruby-autoloads ruby-refactor-autoloads
rspec-mode-autoloads evil-ruby-text-objects-autoloads
enh-ruby-mode-autoloads sotlisp-autoloads elisp-def-autoloads
lispyville-autoloads lispy-autoloads zoutline-autoloads
counsel-autoloads swiper-autoloads ivy-autoloads iedit-autoloads
eros-autoloads eval-sexp-fu-autoloads eslintd-fix-autoloads
web-mode-autoloads typescript-mode-autoloads company-rg-autoloads
company-posframe-autoloads company-prescient-autoloads company-autoloads
git-link-autoloads git-timemachine-autoloads magit-delta-autoloads
xterm-color-autoloads prettier-autoloads nvm-autoloads iter2-autoloads
flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads
evil-textobj-tree-sitter-autoloads tree-sitter-langs-autoloads
tree-sitter-autoloads tsc-autoloads lsp-ui-autoloads lsp-mode-autoloads
markdown-mode-autoloads spinner-autoloads org-superstar-autoloads
ox-gfm-autoloads org-pandoc-import-autoloads gnuplot-autoloads
org-download-autoloads async-autoloads org-journal-autoloads
deft-autoloads vulpea-autoloads org-roam-autoloads
emacsql-sqlite-autoloads emacsql-autoloads orgonomic-autoloads
org-drill-autoloads persist-autoloads org-appear-autoloads
org-contrib-autoloads evil-org-autoloads transient-posframe-autoloads
restart-emacs-autoloads better-jumper-autoloads buffer-move-autoloads
rotate-autoloads mini-frame-autoloads embark-consult-autoloads
embark-autoloads consult-dir-autoloads project-autoloads xref-autoloads
consult-autoloads orderless orderless-autoloads vertico-mouse vertico
vertico-autoloads persp-projectile-autoloads prescient
prescient-autoloads which-key-posframe-autoloads which-key-autoloads
popup-mode popup-mode-settings popup-mode-autoloads
hide-mode-line-autoloads wgrep-autoloads yasnippet-autoloads
form-feed-autoloads drag-stuff-autoloads dtrt-indent-autoloads ws-butler
ws-butler-autoloads evil-vimish-fold-autoloads vimish-fold-autoloads
evil-anzu-autoloads anzu-autoloads evil-collection-autoloads
annalist-autoloads evil-mc-autoloads evil-numbers-autoloads
speeddating-autoloads evil-snipe-autoloads evil-matchit-autoloads
evil-nerd-commenter-autoloads evil-visualstar-autoloads
evil-surround-autoloads evil-nl-break-undo-autoloads undo-tree-autoloads
queue-autoloads treemacs-perspective-autoloads perspective-autoloads
treemacs-magit-autoloads magit-autoloads magit-section-autoloads
git-commit-autoloads with-editor-autoloads transient-autoloads
treemacs-all-the-icons-autoloads all-the-icons-autoloads
treemacs-projectile-autoloads treemacs-evil-autoloads evil-autoloads
goto-chg-autoloads treemacs-autoloads cfrs-autoloads ht-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads
projectile-autoloads saveplace rainbow-mode-autoloads posframe-autoloads
ns-auto-titlebar ns-auto-titlebar-autoloads nano-modeline-autoloads
memoize-autoloads nano-theme-autoloads envrc-autoloads
inheritenv-autoloads compdef derived compdef-autoloads edmacro kmacro
ring helpful-autoloads elisp-refs-autoloads f-autoloads s-autoloads
dired-subtree-autoloads dired-hacks-utils-autoloads dash-autoloads
hydra-autoloads lv-autoloads leader-key bind-map leader-key-autoloads
bind-map-autoloads delsel savehist xt-mouse no-littering
no-littering-autoloads finder-inf bind-key easy-mmode compat-autoloads
compat compat-28.1 compat-27.1 compat-26.1 compat-25.1 compat-24.4
use-package-autoloads bind-key-autoloads straight-autoloads cl-seq info
cl-extra help-mode seq byte-opt straight subr-x cl-macs gv bytecomp
byte-compile cconv cl-loaddefs cl-lib display-line-numbers iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win 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 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 emoji-zwj 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 kqueue cocoa ns lcms2
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 2867922 1088976)
 (symbols 48 89673 2)
 (strings 32 363999 172828)
 (string-bytes 1 15018849)
 (vectors 16 260455)
 (vector-slots 8 5514205 431800)
 (floats 8 1228 4242)
 (intervals 56 149462 2507)
 (buffers 992 247))





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-11-25  1:12 bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS Aaron Jensen
@ 2021-11-30 15:49 ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-11-30 18:18   ` Aaron Jensen
  2021-12-02 22:22 ` Alan Third
  1 sibling, 1 reply; 18+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-11-30 15:49 UTC (permalink / raw)
  To: Aaron Jensen, 52085

I have the same problem (every day) but with the open-source Jitsi screen-sharing program.

R+

Aaron Jensen <aaronjensen@gmail.com> writes:

> I still need to try this with emacs -Q, but I have seen this for some
> time now (possibly since Alan's recent batch of changes to macOS
> rendering)
>
> If I am screen sharing on zoom, I will often issue a command that I
> expect to repaint the frame and it will not. If I issue another then it
> repaints immediately with both commands having been realized. This
> *only* happens when screen sharing with Zoom. I will try other screen
> sharing software to see if it is a Zoom specific thing. I am typically
> sharing just the Emacs window (and maybe an iTerm and a browser), but
> never full screen sharing.
>
> Alan, is there anything that you could think of that could cause
> something like this to happen? Is there logging I could add to help get
> to the bottom of it?
>
> Thanks,
>
> Aaron
>
> In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin21.2.0, NS appkit-2112.20 Version 12.1 (Build 21C5021h))
>  of 2021-11-13 built on Aarons-MacBook-Pro.local
> Windowing system distributor 'Apple', version 10.3.2112
> System Description:  macOS 12.1
>
> Configured using:
>  'configure --disable-dependency-tracking --disable-silent-rules
>  --enable-locallisppath=/usr/local/share/emacs/site-lisp
>  --infodir=/usr/local/Cellar/emacs-plus@29/29.0.50/share/info/emacs
>  --prefix=/usr/local/Cellar/emacs-plus@29/29.0.50 --with-xml2
>  --with-gnutls --with-native-compilation --without-dbus
>  --without-imagemagick --with-modules --with-rsvg --with-ns
>  --disable-ns-self-contained 'CFLAGS=-I/usr/local/opt/gcc/include
>  -I/usr/local/opt/libgccjit/include -I/usr/local/opt/gmp/include
>  -I/usr/local/opt/jpeg/include' 'LDFLAGS=-L/usr/local/lib/gcc/11
>  -I/usr/local/opt/gcc/include -I/usr/local/opt/libgccjit/include
>  -I/usr/local/opt/gmp/include -I/usr/local/opt/jpeg/include''
>
> Configured features:
> ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
> NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
> ZLIB
>
> Important settings:
>   value of $LANG: en_US.UTF-8
>   locale-coding-system: utf-8-unix
>
> Features:
> (shadow sort mail-extr emacsbug sendmail wgrep embark-consult embark
> ffap use-package-core org-goto evil-matchit-simple evil-matchit-prog
> evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk
> rotate wdired image-file image-converter org-drill persist conf-mode
> lsp-diagnostics lsp-modeline lsp-lens lsp-ui lsp-ui-flycheck lsp-ui-doc
> lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util yaml-mode
> tramp-cmds cal-move evil-collection-vterm vterm term ehelp vterm-module
> term/xterm xterm vterm-toggle tramp-sh goto-addr consult-vertico consult
> tabify css-mode emmet-mode cl web-mode company-rg company-oddmuse
> company-keywords company-etags company-gtags company-dabbrev-code
> company-dabbrev company-clang company-cmake company-semantic
> company-template company-bbdb restart-emacs desktop frameset
> tree-sitter-langs tree-sitter-langs-build tar-mode
> evil-collection-arc-mode arc-mode archive-mode tree-sitter-hl
> tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get
> dired-aux tsc-obsolete evil-ruby-text-objects ruby-refactor
> ruby-electric bundler enh-ruby-mode magit-extras tramp-cache prettier
> tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
> ls-lisp nvm iter2 rspec-mode inf-ruby ruby-mode typescript-mode rng-xsd
> xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap
> sgml-mode facemenu sql json-mode json-snatcher js cc-mode cc-fonts
> cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
> lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-yaml lsp-xml lsp-vimscript
> lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-terraform
> lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-r lsp-purescript
> lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-perl lsp-ocaml lsp-nix lsp-nim
> lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-haxe
> lsp-groovy lsp-hack lsp-graphql lsp-go lsp-completion lsp-gdscript
> lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-elixir lsp-elm
> lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls lsp-crystal
> lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd lsp-beancount
> lsp-bash lsp-angular lsp-ada lsp-actionscript lsp-mode lsp-protocol
> spinner network-stream markdown-mode lua-mode sh-script smie org-clock
> magit-bookmark bookmark vertico-directory diary-lib diary-loaddefs
> executable vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc
> bug-reference magit-delta company-files company-capf company-posframe
> company-prescient company-tng company eval-sexp-fu eros lispyville lispy
> hydra lv swiper ivy ivy-faces ivy-overlay colir lispy-inline avy etags
> fileloop lispy-tags elisp-def ert ewoc evil-collection-debug debug
> evil-collection-xref xref project sotlisp skeleton evil-vimish-fold
> vimish-fold dtrt-indent vc-git vc-dispatcher cursor-sensor
> evil-collection-magit magit-submodule magit-obsolete magit-blame
> magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
> magit-clone magit-remote magit-commit magit-sequence magit-notes
> magit-worktree magit-tag magit-merge magit-branch magit-reset
> magit-files magit-refs magit-status magit package url-handlers
> magit-repos magit-apply magit-wip magit-log which-func magit-diff
> smerge-mode diff-mode git-commit log-edit view elec-pair org-eldoc
> org-appear orgonomic org-indent org-superstar form-feed ol-eww eww
> url-queue mm-url 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 shr kinsoku svg dom browse-url
> gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap
> nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int
> gnus-range message yank-media gnus-win gnus nnheader ol-docview doc-view
> jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi
> org-journal org-crypt ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
> rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
> ox-icalendar org-agenda ox-ascii ox-gfm ox-md ox-html table ox-publish
> ox org-download org-attach async vulpea vulpea-meta vulpea-select
> vulpea-buffer vulpea-db vulpea-utils vulpea-note org-roam-migrate
> org-roam-mode org-roam-capture org-roam-node org-roam-db org-roam-utils
> org-roam-compat org-roam org-mac-link org-capture emacsql-sqlite emacsql
> emacsql-compiler org-tempo tempo evil-org-agenda evil-org org-element
> org-persist xdg org-id org-refile avl-tree generator 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 noutline outline
> org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex
> iso8601 ol org-keys oc org-compat org-macs org-loaddefs cal-iso cal-menu
> calendar cal-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config
> gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mailabbrev
> mail-utils gmm-utils mailheader pcvs-util add-log magit-core
> magit-autorevert magit-margin magit-transient magit-process with-editor
> magit-mode transient-posframe transient format-spec magit-git
> magit-section magit-utils crm time-date flycheck yasnippet
> treemacs-themes treemacs-core-utils pfuture inline hl-line ht
> treemacs-logging treemacs-customization treemacs-macros autorevert
> hide-mode-line popup-mode-core popup-mode-hacks pcase
> evil-collection-which-key which-key-posframe which-key winner filenotify
> rainbow-mode xterm-color color posframe evil-collection-helpful helpful
> imenu trace evil-collection-edebug edebug backtrace info-look f help-fns
> radix-tree elisp-refs s dired-subtree dired-hacks-utils
> evil-collection-dired dired dired-loaddefs dash evil-collection-profiler
> profiler url-http url url-proxy url-privacy url-expand url-methods
> url-history mailcap url-auth url-cookie url-domsuf url-util url-gw
> url-parse auth-source password-cache url-vars nsm rmc puny recentf
> tree-widget better-jumper repeat undo-tree diff queue evil-nl-break-undo
> evil-anzu anzu evil-collection-unimpaired evil-collection-ibuffer
> evil-collection-help evil-collection-custom evil-collection-process-menu
> evil-collection annalist evil-mc evil-mc-command-execute
> evil-mc-command-record evil-mc-cursor-make evil-mc-region
> evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands
> evil-mc-common evil-numbers evil-snipe evil-matchit evil-matchit-sdk
> semantic/lex semantic/fw eieio eieio-core eieio-loaddefs mode-local
> find-func evil-surround evil evil-integration cus-edit pp cus-start
> cus-load wid-edit evil-maps evil-commands reveal flyspell ispell
> evil-jumps evil-command-window evil-search evil-ex shell pcomplete
> evil-types evil-macros evil-repeat evil-states evil-core evil-common
> windmove calc calc-loaddefs calc-macs rect evil-digraphs evil-vars envrc
> inheritenv json map nano-modeline memoize persp-projectile projectile
> lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
> mail-prsvr grep compile text-property-search comint ansi-color ibuf-ext
> ibuffer ibuffer-loaddefs perspective advice thingatpt ido comp comp-cstr
> warnings rx mini-frame server gcmh nano-light-theme face-remap
> nano-theme disp-table gcmh-autoloads explain-pause-mode-autoloads
> pdf-tools-autoloads tablist-autoloads restclient-autoloads
> vterm-toggle-autoloads vterm-autoloads dumb-jump-autoloads
> popup-autoloads emmet-mode-autoloads terraform-mode-autoloads
> hcl-mode-autoloads dockerfile-mode-autoloads yaml-mode-autoloads
> json-snatcher-autoloads lua-mode-autoloads ruby-electric-autoloads
> bundler-autoloads inf-ruby-autoloads ruby-refactor-autoloads
> rspec-mode-autoloads evil-ruby-text-objects-autoloads
> enh-ruby-mode-autoloads sotlisp-autoloads elisp-def-autoloads
> lispyville-autoloads lispy-autoloads zoutline-autoloads
> counsel-autoloads swiper-autoloads ivy-autoloads iedit-autoloads
> eros-autoloads eval-sexp-fu-autoloads eslintd-fix-autoloads
> web-mode-autoloads typescript-mode-autoloads company-rg-autoloads
> company-posframe-autoloads company-prescient-autoloads company-autoloads
> git-link-autoloads git-timemachine-autoloads magit-delta-autoloads
> xterm-color-autoloads prettier-autoloads nvm-autoloads iter2-autoloads
> flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads
> evil-textobj-tree-sitter-autoloads tree-sitter-langs-autoloads
> tree-sitter-autoloads tsc-autoloads lsp-ui-autoloads lsp-mode-autoloads
> markdown-mode-autoloads spinner-autoloads org-superstar-autoloads
> ox-gfm-autoloads org-pandoc-import-autoloads gnuplot-autoloads
> org-download-autoloads async-autoloads org-journal-autoloads
> deft-autoloads vulpea-autoloads org-roam-autoloads
> emacsql-sqlite-autoloads emacsql-autoloads orgonomic-autoloads
> org-drill-autoloads persist-autoloads org-appear-autoloads
> org-contrib-autoloads evil-org-autoloads transient-posframe-autoloads
> restart-emacs-autoloads better-jumper-autoloads buffer-move-autoloads
> rotate-autoloads mini-frame-autoloads embark-consult-autoloads
> embark-autoloads consult-dir-autoloads project-autoloads xref-autoloads
> consult-autoloads orderless orderless-autoloads vertico-mouse vertico
> vertico-autoloads persp-projectile-autoloads prescient
> prescient-autoloads which-key-posframe-autoloads which-key-autoloads
> popup-mode popup-mode-settings popup-mode-autoloads
> hide-mode-line-autoloads wgrep-autoloads yasnippet-autoloads
> form-feed-autoloads drag-stuff-autoloads dtrt-indent-autoloads ws-butler
> ws-butler-autoloads evil-vimish-fold-autoloads vimish-fold-autoloads
> evil-anzu-autoloads anzu-autoloads evil-collection-autoloads
> annalist-autoloads evil-mc-autoloads evil-numbers-autoloads
> speeddating-autoloads evil-snipe-autoloads evil-matchit-autoloads
> evil-nerd-commenter-autoloads evil-visualstar-autoloads
> evil-surround-autoloads evil-nl-break-undo-autoloads undo-tree-autoloads
> queue-autoloads treemacs-perspective-autoloads perspective-autoloads
> treemacs-magit-autoloads magit-autoloads magit-section-autoloads
> git-commit-autoloads with-editor-autoloads transient-autoloads
> treemacs-all-the-icons-autoloads all-the-icons-autoloads
> treemacs-projectile-autoloads treemacs-evil-autoloads evil-autoloads
> goto-chg-autoloads treemacs-autoloads cfrs-autoloads ht-autoloads
> pfuture-autoloads ace-window-autoloads avy-autoloads
> projectile-autoloads saveplace rainbow-mode-autoloads posframe-autoloads
> ns-auto-titlebar ns-auto-titlebar-autoloads nano-modeline-autoloads
> memoize-autoloads nano-theme-autoloads envrc-autoloads
> inheritenv-autoloads compdef derived compdef-autoloads edmacro kmacro
> ring helpful-autoloads elisp-refs-autoloads f-autoloads s-autoloads
> dired-subtree-autoloads dired-hacks-utils-autoloads dash-autoloads
> hydra-autoloads lv-autoloads leader-key bind-map leader-key-autoloads
> bind-map-autoloads delsel savehist xt-mouse no-littering
> no-littering-autoloads finder-inf bind-key easy-mmode compat-autoloads
> compat compat-28.1 compat-27.1 compat-26.1 compat-25.1 compat-24.4
> use-package-autoloads bind-key-autoloads straight-autoloads cl-seq info
> cl-extra help-mode seq byte-opt straight subr-x cl-macs gv bytecomp
> byte-compile cconv cl-loaddefs cl-lib display-line-numbers iso-transl
> tooltip eldoc paren electric uniquify ediff-hook vc-hooks
> lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
> mule-util term/common-win 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 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 emoji-zwj 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 kqueue cocoa ns lcms2
> multi-tty make-network-process native-compile emacs)
>
> Memory information:
> ((conses 16 2867922 1088976)
>  (symbols 48 89673 2)
>  (strings 32 363999 172828)
>  (string-bytes 1 15018849)
>  (vectors 16 260455)
>  (vector-slots 8 5514205 431800)
>  (floats 8 1228 4242)
>  (intervals 56 149462 2507)
>  (buffers 992 247))
>
>
>

-- 
"I love deadlines. I love the whooshing noise they make as they go by." -- Douglas Adams, The Salmon of Doubt

Rudolf Adamkovič <salutis@me.com>
Studenohorská 25
84103 Bratislava
Slovakia

[he/him]





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-11-30 15:49 ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-11-30 18:18   ` Aaron Jensen
  2021-12-02 12:45     ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-12-02 22:22     ` Alan Third
  0 siblings, 2 replies; 18+ messages in thread
From: Aaron Jensen @ 2021-11-30 18:18 UTC (permalink / raw)
  To: Rudolf Adamkovič; +Cc: 52085

On Tue, Nov 30, 2021 at 10:49 AM Rudolf Adamkovič <salutis@me.com> wrote:
>
> I have the same problem (every day) but with the open-source Jitsi screen-sharing program.

Do you have inhibit-double-buffering set to t? I'm trying setting that
to nil, to see if that helps.





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-11-30 18:18   ` Aaron Jensen
@ 2021-12-02 12:45     ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-12-07 20:30       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-12-02 22:22     ` Alan Third
  1 sibling, 1 reply; 18+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-12-02 12:45 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 52085

Aaron Jensen <aaronjensen@gmail.com> writes:

> Do you have inhibit-double-buffering set to t? I'm trying setting that
> to nil, to see if that helps.

FYI: I have just tried both t and nil, and it does not make any difference.

-- 
"Programming reliably --- must be an activity of an undeniably mathematical nature […] You see, mathematics is about thinking, and doing mathematics is always trying to think as well as possible." -- Edsger W. Dijkstra (1981)

Rudolf Adamkovič <salutis@me.com>
Studenohorská 25
84103 Bratislava
Slovakia

[he/him]





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-11-25  1:12 bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS Aaron Jensen
  2021-11-30 15:49 ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-12-02 22:22 ` Alan Third
  2021-12-03  5:14   ` Aaron Jensen
  1 sibling, 1 reply; 18+ messages in thread
From: Alan Third @ 2021-12-02 22:22 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 52085

On Wed, Nov 24, 2021 at 08:12:53PM -0500, Aaron Jensen wrote:
> I still need to try this with emacs -Q, but I have seen this for some
> time now (possibly since Alan's recent batch of changes to macOS
> rendering)
> 
> If I am screen sharing on zoom, I will often issue a command that I
> expect to repaint the frame and it will not. If I issue another then it
> repaints immediately with both commands having been realized. This
> *only* happens when screen sharing with Zoom. I will try other screen
> sharing software to see if it is a Zoom specific thing. I am typically
> sharing just the Emacs window (and maybe an iTerm and a browser), but
> never full screen sharing.
> 
> Alan, is there anything that you could think of that could cause
> something like this to happen? Is there logging I could add to help get
> to the bottom of it?

Probably the first thing you could do is check that [EmacsLayer
display] is being called at the right time.

But I can't really think of any particular reason for this to happen.
-- 
Alan Third





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-11-30 18:18   ` Aaron Jensen
  2021-12-02 12:45     ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-12-02 22:22     ` Alan Third
  1 sibling, 0 replies; 18+ messages in thread
From: Alan Third @ 2021-12-02 22:22 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: Rudolf Adamkovič, 52085

On Tue, Nov 30, 2021 at 01:18:19PM -0500, Aaron Jensen wrote:
> On Tue, Nov 30, 2021 at 10:49 AM Rudolf Adamkovič <salutis@me.com> wrote:
> >
> > I have the same problem (every day) but with the open-source Jitsi screen-sharing program.
> 
> Do you have inhibit-double-buffering set to t? I'm trying setting that
> to nil, to see if that helps.

I'm pretty sure that variable does nothing on NS.
-- 
Alan Third





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-02 22:22 ` Alan Third
@ 2021-12-03  5:14   ` Aaron Jensen
  2021-12-04 10:48     ` Alan Third
  0 siblings, 1 reply; 18+ messages in thread
From: Aaron Jensen @ 2021-12-03  5:14 UTC (permalink / raw)
  To: Alan Third, Aaron Jensen, 52085

On Thu, Dec 2, 2021 at 5:22 PM Alan Third <alan@idiocy.org> wrote:
>
> On Wed, Nov 24, 2021 at 08:12:53PM -0500, Aaron Jensen wrote:
> > I still need to try this with emacs -Q, but I have seen this for some
> > time now (possibly since Alan's recent batch of changes to macOS
> > rendering)
> >
> > If I am screen sharing on zoom, I will often issue a command that I
> > expect to repaint the frame and it will not. If I issue another then it
> > repaints immediately with both commands having been realized. This
> > *only* happens when screen sharing with Zoom. I will try other screen
> > sharing software to see if it is a Zoom specific thing. I am typically
> > sharing just the Emacs window (and maybe an iTerm and a browser), but
> > never full screen sharing.
> >
> > Alan, is there anything that you could think of that could cause
> > something like this to happen? Is there logging I could add to help get
> > to the bottom of it?
>
> Probably the first thing you could do is check that [EmacsLayer
> display] is being called at the right time.
>
> But I can't really think of any particular reason for this to happen.

How do I enable and observe NSTRACE?





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-03  5:14   ` Aaron Jensen
@ 2021-12-04 10:48     ` Alan Third
  2021-12-08  3:14       ` Aaron Jensen
  0 siblings, 1 reply; 18+ messages in thread
From: Alan Third @ 2021-12-04 10:48 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 52085

On Fri, Dec 03, 2021 at 12:14:10AM -0500, Aaron Jensen wrote:
> On Thu, Dec 2, 2021 at 5:22 PM Alan Third <alan@idiocy.org> wrote:
> >
> > Probably the first thing you could do is check that [EmacsLayer
> > display] is being called at the right time.
> >
> > But I can't really think of any particular reason for this to happen.
> 
> How do I enable and observe NSTRACE?

Uncomment the line at nsterm.h:65, and probably the one at line 78
too, which refers to NSTRACE_GROUP_FOCUS.

It logs to the terminal or to the system logs.
-- 
Alan Third





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-02 12:45     ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-12-07 20:30       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 18+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-12-07 20:30 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 52085

Rudolf Adamkovič via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs@gnu.org> writes:

> Aaron Jensen <aaronjensen@gmail.com> writes:
>
>> Do you have inhibit-double-buffering set to t? I'm trying setting that
>> to nil, to see if that helps.
>
> FYI: I have just tried both t and nil, and it does not make any difference.

Addendum: Sharing Emacs *window* with Jitsi works great.  Sharing the entire *screen* does not.  There, Emacs slowly "falls apart", redrawing erratically (for the remote viewer).

Rudy
-- 
"Programming reliably --- must be an activity of an undeniably mathematical nature […] You see, mathematics is about thinking, and doing mathematics is always trying to think as well as possible." -- Edsger W. Dijkstra (1981)

Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-04 10:48     ` Alan Third
@ 2021-12-08  3:14       ` Aaron Jensen
  2021-12-08 10:21         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-12-08 21:23         ` Alan Third
  0 siblings, 2 replies; 18+ messages in thread
From: Aaron Jensen @ 2021-12-08  3:14 UTC (permalink / raw)
  To: Alan Third, Aaron Jensen, 52085

On Sat, Dec 4, 2021 at 5:48 AM Alan Third <alan@idiocy.org> wrote:
>
> On Fri, Dec 03, 2021 at 12:14:10AM -0500, Aaron Jensen wrote:
> > On Thu, Dec 2, 2021 at 5:22 PM Alan Third <alan@idiocy.org> wrote:
> > >
> > > Probably the first thing you could do is check that [EmacsLayer
> > > display] is being called at the right time.
> > >
> > > But I can't really think of any particular reason for this to happen.
> >
> > How do I enable and observe NSTRACE?
>
> Uncomment the line at nsterm.h:65, and probably the one at line 78
> too, which refers to NSTRACE_GROUP_FOCUS.
>
> It logs to the terminal or to the system logs.

Hmm, I see logging but typically every keypress is met with:

nsterm.m  : 6100: [11784]  [EmacsView keyDown:]
nsterm.m  : 6393: [11785]  | [EmacsView hasMarkedText]
nsterm.m  : 6284: [11786]  | [EmacsView insertText:]


I see some [EmacsLayer display] but very few. I'm not sure how to
trigger them. Is that what is expected?

I have a fairly hard time reproducing this whole thing so even though
I'm screensharing right now and running a test build...

Rudolf, if you can reproduce it consistently could you try the
building with that logging enabled?





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-08  3:14       ` Aaron Jensen
@ 2021-12-08 10:21         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-12-08 21:23         ` Alan Third
  1 sibling, 0 replies; 18+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-12-08 10:21 UTC (permalink / raw)
  To: Aaron Jensen, Alan Third, Aaron Jensen, 52085

Aaron Jensen <aaronjensen@gmail.com> writes:

> On Sat, Dec 4, 2021 at 5:48 AM Alan Third <alan@idiocy.org> wrote:
>>
>> On Fri, Dec 03, 2021 at 12:14:10AM -0500, Aaron Jensen wrote:
>> > On Thu, Dec 2, 2021 at 5:22 PM Alan Third <alan@idiocy.org> wrote:
>> > >
>> > > Probably the first thing you could do is check that [EmacsLayer
>> > > display] is being called at the right time.
>> > >
>> > > But I can't really think of any particular reason for this to happen.
>> >
>> > How do I enable and observe NSTRACE?
>>
>> Uncomment the line at nsterm.h:65, and probably the one at line 78
>> too, which refers to NSTRACE_GROUP_FOCUS.
>>
>> It logs to the terminal or to the system logs.
>
> Hmm, I see logging but typically every keypress is met with:
>
> nsterm.m  : 6100: [11784]  [EmacsView keyDown:]
> nsterm.m  : 6393: [11785]  | [EmacsView hasMarkedText]
> nsterm.m  : 6284: [11786]  | [EmacsView insertText:]
>
>
> I see some [EmacsLayer display] but very few. I'm not sure how to
> trigger them. Is that what is expected?
>
> I have a fairly hard time reproducing this whole thing so even though
> I'm screensharing right now and running a test build...
>
> Rudolf, if you can reproduce it consistently could you try the
> building with that logging enabled?

I found that the bug I experience applies to all software, not just Emacs.  Thus, disregard all my words above.  I apologize for chiming in without doing any basic investigation.

(For the sake of completeness, I also found that the screen "falls apart" only when I share a screen different than the one Firefox/Jitsi exist on.)

Rudy
-- 
"Logic is a science of the necessary laws of thought, without which no employment of the understanding and the reason takes place." -- Immanuel Kant, 1785

Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-08  3:14       ` Aaron Jensen
  2021-12-08 10:21         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-12-08 21:23         ` Alan Third
  2021-12-08 21:33           ` Aaron Jensen
  1 sibling, 1 reply; 18+ messages in thread
From: Alan Third @ 2021-12-08 21:23 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 52085

On Tue, Dec 07, 2021 at 10:14:07PM -0500, Aaron Jensen wrote:
> On Sat, Dec 4, 2021 at 5:48 AM Alan Third <alan@idiocy.org> wrote:
> >
> > On Fri, Dec 03, 2021 at 12:14:10AM -0500, Aaron Jensen wrote:
> > > On Thu, Dec 2, 2021 at 5:22 PM Alan Third <alan@idiocy.org> wrote:
> > > >
> > > > Probably the first thing you could do is check that [EmacsLayer
> > > > display] is being called at the right time.
> > > >
> > > > But I can't really think of any particular reason for this to happen.
> > >
> > > How do I enable and observe NSTRACE?
> >
> > Uncomment the line at nsterm.h:65, and probably the one at line 78
> > too, which refers to NSTRACE_GROUP_FOCUS.
> >
> > It logs to the terminal or to the system logs.
> 
> Hmm, I see logging but typically every keypress is met with:
> 
> nsterm.m  : 6100: [11784]  [EmacsView keyDown:]
> nsterm.m  : 6393: [11785]  | [EmacsView hasMarkedText]
> nsterm.m  : 6284: [11786]  | [EmacsView insertText:]
> 
> 
> I see some [EmacsLayer display] but very few. I'm not sure how to
> trigger them. Is that what is expected?
> 
> I have a fairly hard time reproducing this whole thing so even though
> I'm screensharing right now and running a test build...

To be honest, if I just want to see when one function is called I
stick in 'NSLog (@"Moo")' or whatever. There's too much output in
NSTRACE and I'm sure that sometimes it doesn't print out results from
things that are called deep in the toolkit code.
-- 
Alan Third





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-08 21:23         ` Alan Third
@ 2021-12-08 21:33           ` Aaron Jensen
  2021-12-09  7:26             ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Aaron Jensen @ 2021-12-08 21:33 UTC (permalink / raw)
  To: Alan Third, Aaron Jensen, 52085

On Wed, Dec 8, 2021 at 4:23 PM Alan Third <alan@idiocy.org> wrote:
>
> On Tue, Dec 07, 2021 at 10:14:07PM -0500, Aaron Jensen wrote:
> > On Sat, Dec 4, 2021 at 5:48 AM Alan Third <alan@idiocy.org> wrote:
> > >
> > > On Fri, Dec 03, 2021 at 12:14:10AM -0500, Aaron Jensen wrote:
> > > > On Thu, Dec 2, 2021 at 5:22 PM Alan Third <alan@idiocy.org> wrote:
> > > > >
> > > > > Probably the first thing you could do is check that [EmacsLayer
> > > > > display] is being called at the right time.
> > > > >
> > > > > But I can't really think of any particular reason for this to happen.
> > > >
> > > > How do I enable and observe NSTRACE?
> > >
> > > Uncomment the line at nsterm.h:65, and probably the one at line 78
> > > too, which refers to NSTRACE_GROUP_FOCUS.
> > >
> > > It logs to the terminal or to the system logs.
> >
> > Hmm, I see logging but typically every keypress is met with:
> >
> > nsterm.m  : 6100: [11784]  [EmacsView keyDown:]
> > nsterm.m  : 6393: [11785]  | [EmacsView hasMarkedText]
> > nsterm.m  : 6284: [11786]  | [EmacsView insertText:]
> >
> >
> > I see some [EmacsLayer display] but very few. I'm not sure how to
> > trigger them. Is that what is expected?
> >
> > I have a fairly hard time reproducing this whole thing so even though
> > I'm screensharing right now and running a test build...
>
> To be honest, if I just want to see when one function is called I
> stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> NSTRACE and I'm sure that sometimes it doesn't print out results from
> things that are called deep in the toolkit code.

Well, I can say with some certainty that those messages are the only
ones appearing under typical operations like key presses. I can insert
newlines into the terminal and observe that only those are emitted
when I press keys or even scroll. So the display function is not being
called unless there is some other wildness going on with the tracing.
Do you expect it to be called every render? (It is also not called
when I run M-: (redisplay))

Aaron





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-08 21:33           ` Aaron Jensen
@ 2021-12-09  7:26             ` Eli Zaretskii
  2021-12-09  7:38               ` Aaron Jensen
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2021-12-09  7:26 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: alan, 52085

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Wed, 8 Dec 2021 16:33:06 -0500
> 
> > To be honest, if I just want to see when one function is called I
> > stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> > NSTRACE and I'm sure that sometimes it doesn't print out results from
> > things that are called deep in the toolkit code.
> 
> Well, I can say with some certainty that those messages are the only
> ones appearing under typical operations like key presses. I can insert
> newlines into the terminal and observe that only those are emitted
> when I press keys or even scroll. So the display function is not being
> called unless there is some other wildness going on with the tracing.
> Do you expect it to be called every render? (It is also not called
> when I run M-: (redisplay))

I'm not tracking this discussion, so apologies if what I say below
makes no sense.  However, the Emacs display engine avoids redrawing
anything if it concludes that what's on the glass is correct.  So just
calling 'redisplay', or making some simple changes that don't require
significant redrawing, don't necessarily result in calls to low-level
drawing functions, you need to do something drastic to force those
with 100% certainty.

HTH





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-09  7:26             ` Eli Zaretskii
@ 2021-12-09  7:38               ` Aaron Jensen
  2021-12-12 12:08                 ` Alan Third
  0 siblings, 1 reply; 18+ messages in thread
From: Aaron Jensen @ 2021-12-09  7:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Alan Third, 52085

On Thu, Dec 9, 2021 at 2:27 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > From: Aaron Jensen <aaronjensen@gmail.com>
> > Date: Wed, 8 Dec 2021 16:33:06 -0500
> >
> > > To be honest, if I just want to see when one function is called I
> > > stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> > > NSTRACE and I'm sure that sometimes it doesn't print out results from
> > > things that are called deep in the toolkit code.
> >
> > Well, I can say with some certainty that those messages are the only
> > ones appearing under typical operations like key presses. I can insert
> > newlines into the terminal and observe that only those are emitted
> > when I press keys or even scroll. So the display function is not being
> > called unless there is some other wildness going on with the tracing.
> > Do you expect it to be called every render? (It is also not called
> > when I run M-: (redisplay))
>
> I'm not tracking this discussion, so apologies if what I say below
> makes no sense.  However, the Emacs display engine avoids redrawing
> anything if it concludes that what's on the glass is correct.  So just
> calling 'redisplay', or making some simple changes that don't require
> significant redrawing, don't necessarily result in calls to low-level
> drawing functions, you need to do something drastic to force those
> with 100% certainty.
>
> HTH

Even toggling between one buffer and another in a window fails to log
anything but:

nsterm.m  : 6100: [ 2953]  [EmacsView keyDown:]
nsterm.m  : 6393: [ 2954]  | [EmacsView hasMarkedText]
nsterm.m  : 6284: [ 2955]  | [EmacsView insertText:]
nsterm.m  : 6100: [ 2956]  [EmacsView keyDown:]

I'm probably missing something here...





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-09  7:38               ` Aaron Jensen
@ 2021-12-12 12:08                 ` Alan Third
  2021-12-19 21:57                   ` Aaron Jensen
  0 siblings, 1 reply; 18+ messages in thread
From: Alan Third @ 2021-12-12 12:08 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 52085

On Thu, Dec 09, 2021 at 02:38:59AM -0500, Aaron Jensen wrote:
> On Thu, Dec 9, 2021 at 2:27 AM Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > > From: Aaron Jensen <aaronjensen@gmail.com>
> > > Date: Wed, 8 Dec 2021 16:33:06 -0500
> > >
> > > > To be honest, if I just want to see when one function is called I
> > > > stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> > > > NSTRACE and I'm sure that sometimes it doesn't print out results from
> > > > things that are called deep in the toolkit code.
> > >
> > > Well, I can say with some certainty that those messages are the only
> > > ones appearing under typical operations like key presses. I can insert
> > > newlines into the terminal and observe that only those are emitted
> > > when I press keys or even scroll. So the display function is not being
> > > called unless there is some other wildness going on with the tracing.
> > > Do you expect it to be called every render? (It is also not called
> > > when I run M-: (redisplay))
> >
> > I'm not tracking this discussion, so apologies if what I say below
> > makes no sense.  However, the Emacs display engine avoids redrawing
> > anything if it concludes that what's on the glass is correct.  So just
> > calling 'redisplay', or making some simple changes that don't require
> > significant redrawing, don't necessarily result in calls to low-level
> > drawing functions, you need to do something drastic to force those
> > with 100% certainty.
> >
> > HTH
> 
> Even toggling between one buffer and another in a window fails to log
> anything but:
> 
> nsterm.m  : 6100: [ 2953]  [EmacsView keyDown:]
> nsterm.m  : 6393: [ 2954]  | [EmacsView hasMarkedText]
> nsterm.m  : 6284: [ 2955]  | [EmacsView insertText:]
> nsterm.m  : 6100: [ 2956]  [EmacsView keyDown:]
> 
> I'm probably missing something here...

I'm pretty sure it's just the NSTRACE calls not printing anything. As
I said previously NSTRACE sometimes doesn't print out results from
things that are called deep in the toolkit code. Like display.

Manually stick an NSLog into the display function.

-- 
Alan Third





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-12 12:08                 ` Alan Third
@ 2021-12-19 21:57                   ` Aaron Jensen
  2022-07-23 14:37                     ` Aaron Jensen
  0 siblings, 1 reply; 18+ messages in thread
From: Aaron Jensen @ 2021-12-19 21:57 UTC (permalink / raw)
  To: Alan Third, Aaron Jensen, Eli Zaretskii, 52085

On Sun, Dec 12, 2021 at 7:08 AM Alan Third <alan@idiocy.org> wrote:
>
> On Thu, Dec 09, 2021 at 02:38:59AM -0500, Aaron Jensen wrote:
> > On Thu, Dec 9, 2021 at 2:27 AM Eli Zaretskii <eliz@gnu.org> wrote:
> > >
> > > > From: Aaron Jensen <aaronjensen@gmail.com>
> > > > Date: Wed, 8 Dec 2021 16:33:06 -0500
> > > >
> > > > > To be honest, if I just want to see when one function is called I
> > > > > stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> > > > > NSTRACE and I'm sure that sometimes it doesn't print out results from
> > > > > things that are called deep in the toolkit code.
> > > >
> > > > Well, I can say with some certainty that those messages are the only
> > > > ones appearing under typical operations like key presses. I can insert
> > > > newlines into the terminal and observe that only those are emitted
> > > > when I press keys or even scroll. So the display function is not being
> > > > called unless there is some other wildness going on with the tracing.
> > > > Do you expect it to be called every render? (It is also not called
> > > > when I run M-: (redisplay))
> > >
> > > I'm not tracking this discussion, so apologies if what I say below
> > > makes no sense.  However, the Emacs display engine avoids redrawing
> > > anything if it concludes that what's on the glass is correct.  So just
> > > calling 'redisplay', or making some simple changes that don't require
> > > significant redrawing, don't necessarily result in calls to low-level
> > > drawing functions, you need to do something drastic to force those
> > > with 100% certainty.
> > >
> > > HTH
> >
> > Even toggling between one buffer and another in a window fails to log
> > anything but:
> >
> > nsterm.m  : 6100: [ 2953]  [EmacsView keyDown:]
> > nsterm.m  : 6393: [ 2954]  | [EmacsView hasMarkedText]
> > nsterm.m  : 6284: [ 2955]  | [EmacsView insertText:]
> > nsterm.m  : 6100: [ 2956]  [EmacsView keyDown:]
> >
> > I'm probably missing something here...
>
> I'm pretty sure it's just the NSTRACE calls not printing anything. As
> I said previously NSTRACE sometimes doesn't print out results from
> things that are called deep in the toolkit code. Like display.
>
> Manually stick an NSLog into the display function.

Ah, sorry I misunderstood. This worked. There are lots of displays
happening and I am not seeing the behavior anymore. I'm also on a new
machine, though I have seen the behavior a couple times on it prior to
trying this. I'll take the log out and see if it starts happening
again.

Aaron





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

* bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS
  2021-12-19 21:57                   ` Aaron Jensen
@ 2022-07-23 14:37                     ` Aaron Jensen
  0 siblings, 0 replies; 18+ messages in thread
From: Aaron Jensen @ 2022-07-23 14:37 UTC (permalink / raw)
  To: Alan Third, Aaron Jensen, Eli Zaretskii, 52085

On Sun, Dec 19, 2021 at 4:57 PM Aaron Jensen <aaronjensen@gmail.com> wrote:
>
> On Sun, Dec 12, 2021 at 7:08 AM Alan Third <alan@idiocy.org> wrote:
> >
> > On Thu, Dec 09, 2021 at 02:38:59AM -0500, Aaron Jensen wrote:
> > > On Thu, Dec 9, 2021 at 2:27 AM Eli Zaretskii <eliz@gnu.org> wrote:
> > > >
> > > > > From: Aaron Jensen <aaronjensen@gmail.com>
> > > > > Date: Wed, 8 Dec 2021 16:33:06 -0500
> > > > >
> > > > > > To be honest, if I just want to see when one function is called I
> > > > > > stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> > > > > > NSTRACE and I'm sure that sometimes it doesn't print out results from
> > > > > > things that are called deep in the toolkit code.
> > > > >
> > > > > Well, I can say with some certainty that those messages are the only
> > > > > ones appearing under typical operations like key presses. I can insert
> > > > > newlines into the terminal and observe that only those are emitted
> > > > > when I press keys or even scroll. So the display function is not being
> > > > > called unless there is some other wildness going on with the tracing.
> > > > > Do you expect it to be called every render? (It is also not called
> > > > > when I run M-: (redisplay))
> > > >
> > > > I'm not tracking this discussion, so apologies if what I say below
> > > > makes no sense.  However, the Emacs display engine avoids redrawing
> > > > anything if it concludes that what's on the glass is correct.  So just
> > > > calling 'redisplay', or making some simple changes that don't require
> > > > significant redrawing, don't necessarily result in calls to low-level
> > > > drawing functions, you need to do something drastic to force those
> > > > with 100% certainty.
> > > >
> > > > HTH
> > >
> > > Even toggling between one buffer and another in a window fails to log
> > > anything but:
> > >
> > > nsterm.m  : 6100: [ 2953]  [EmacsView keyDown:]
> > > nsterm.m  : 6393: [ 2954]  | [EmacsView hasMarkedText]
> > > nsterm.m  : 6284: [ 2955]  | [EmacsView insertText:]
> > > nsterm.m  : 6100: [ 2956]  [EmacsView keyDown:]
> > >
> > > I'm probably missing something here...
> >
> > I'm pretty sure it's just the NSTRACE calls not printing anything. As
> > I said previously NSTRACE sometimes doesn't print out results from
> > things that are called deep in the toolkit code. Like display.
> >
> > Manually stick an NSLog into the display function.
>
> Ah, sorry I misunderstood. This worked. There are lots of displays
> happening and I am not seeing the behavior anymore. I'm also on a new
> machine, though I have seen the behavior a couple times on it prior to
> trying this. I'll take the log out and see if it starts happening
> again.
>
> Aaron

Hi Alan,

Unfortunately, I've been seeing rendering artifacts lately. Parts of
one line will be painted over other lines and remain while scrolling.
I think it's similar to what I've seen before. I'm on macOS 12.4 and
Emacs master compiled a couple weeks ago.

I don't have a consistent repro, but one time I notice it is while
switching buffers.

Thanks,

Aaron





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

end of thread, other threads:[~2022-07-23 14:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-25  1:12 bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS Aaron Jensen
2021-11-30 15:49 ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-30 18:18   ` Aaron Jensen
2021-12-02 12:45     ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-12-07 20:30       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-12-02 22:22     ` Alan Third
2021-12-02 22:22 ` Alan Third
2021-12-03  5:14   ` Aaron Jensen
2021-12-04 10:48     ` Alan Third
2021-12-08  3:14       ` Aaron Jensen
2021-12-08 10:21         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-12-08 21:23         ` Alan Third
2021-12-08 21:33           ` Aaron Jensen
2021-12-09  7:26             ` Eli Zaretskii
2021-12-09  7:38               ` Aaron Jensen
2021-12-12 12:08                 ` Alan Third
2021-12-19 21:57                   ` Aaron Jensen
2022-07-23 14:37                     ` Aaron Jensen

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