bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62299: 29.0.60; NS port incorrect rendering


From: Kai Ma
Subject: bug#62299: 29.0.60; NS port incorrect rendering
Date: Tue, 21 Mar 2023 01:36:56 +0800

Hi emacs hackers,

I'm recently seeing quite a few "tearings" on the NS port: sometimes
some parts of the display are not cleared correctly, and sometimes some
parts are not drawn.  (I'm not sure if "tearing" is the correct term.)

In one case: the majority of the frame is cleared, but was not updated.

Attachment: telega.png
Description: almost the whole frame becomes blank

In some other cases, scrolling only scrolls part of the display, and the
display gets unreadable due to that.  One example:

Attachment: scroll.jpeg
Description: bad scrolling

When this happens, one has to M-x redraw-frame to clear the display and
redraw everything.

At first I thought this problem is infrequent enough not to be bothered,
but soon I find that this problem also happens even when I'm just
coding (the second screenshot attached above).

Unfortunately, I didn't find a 100% guaranteed way to reproduce this
problem.  However, if one is Telega user, they could probably reproduce
this relatively easily.  (Telega [1] is a Telegram client in Emacs.)
I'm able to get incorrect rendering once in <20 minutes using Telega.

Should you need any further information, please let me know.

[1] https://github.com/zevlg/telega.el


In GNU Emacs 29.0.60 (build 10, x86_64-apple-darwin22.3.0, NS
 appkit-2299.40 Version 13.2.1 (Build 22D68)) of 2023-03-16 built on
 Kais-MacBook.local
Repository revision: 499927d4756789f649b9d8aeaecb95a7eb3e3db1
Repository branch: emacs-29
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.2.1

Configured using:
 'configure --with-ns --with-xwidgets --with-json
 PKG_CONFIG_PATH=/usr/local/opt/openssl@3/lib/pkgconfig'

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

Important settings:
  value of $LC_ALL: zh_CN.utf-8
  value of $LANG: zh_CN.utf-8
  locale-coding-system: utf-8-unix

Major mode: ◁Chat

Minor modes in effect:
  telega-adblock-mode: t
  telega-root-auto-fill-mode: t
  telega-active-video-chats-mode: t
  telega-active-locations-mode: t
  telega-patrons-mode: t
  cursor-sensor-mode: t
  cursor-intangible-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  pdf-occur-global-minor-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  shell-dirtrack-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  global-wakatime-mode: t
  wakatime-mode: t
  diff-hl-margin-mode: t
  recentf-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  doom-modeline-mode: t
  winner-mode: t
  winum-mode: t
  which-key-mode: t
  global-hl-line-mode: t
  solaire-global-mode: t
  solaire-mode: t
  projectile-mode: t
  vertico-multiform-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  desktop-save-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  prescient-persist-mode: t
  global-ligature-mode: t
  ligature-mode: t
  ns-auto-titlebar-mode: t
  pixel-scroll-precision-mode: t
  save-place-mode: t
  server-mode: t
  electric-pair-mode: t
  global-so-long-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/Users/kaima/.emacs.d/elpa/transient-20230315.1520/transient hides 
/Applications/Emacs.app/Contents/Resources/lisp/transient

Features:
(shadow sort ecomplete mail-extr dumb-jump popup thai-util thai-word
cl-print ielm find-dired ripgrep wgrep consult-xref fish-protector
telega-adblock telega telega-obsolete telega-tdlib-events telega-webpage
telega-match emacsbug visual-fill-column telega-root telega-info
telega-chat telega-modes telega-filter telega-sort telega-company
telega-emoji telega-user telega-notifications notifications telega-voip
telega-ins telega-folders telega-inline telega-msg telega-tme
telega-sticker telega-i18n telega-vvnote telega-util rainbow-identifiers
telega-ffplay telega-media telega-tdlib telega-server telega-core
telega-customize cursor-sensor telega-autoloads tar-mode arc-mode
archive-mode visual-fill-column-autoloads rainbow-identifiers-autoloads
time dashboard dashboard-widgets ffap treemacs-mouse-interface files-x
org-indent org-latex-impatient posframe org-appear image-file
image-converter oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe
ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime
smime dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int
gnus-range gnus-win gnus nnheader range ol-docview doc-view ol-bibtex
bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi vc-hg vc-bzr vc-src
vc-sccs vc-svn vc-cvs vc-rcs bug-reference magit-extras magit-bookmark
magit-submodule 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
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff git-commit log-edit add-log magit-core magit-autorevert
magit-margin magit-transient magit-process with-editor magit-mode
magit-git org-protocol ob-rust jupyter jupyter-repl
jupyter-kernel-manager jupyter-channel jupyter-widget-client websocket
bindat simple-httpd jupyter-kernelspec jupyter-env jupyter-client
jupyter-mime jupyter-comm-layer jupyter-messages hmac-def jupyter-base
eieio-base org-noter org-noter-djvu org-noter-nov nov shr pixel-fill
kinsoku url-file esxml-query org-noter-pdf pdf-annot facemenu
org-noter-core pdf-occur tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet
pdf-isearch let-alist pdf-misc pdf-tools pdf-view jka-compr pdf-cache
pdf-info tq pdf-util pdf-macs image-mode exif 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-html table
ox-ascii ox-publish ox org-download org-element org-persist xdg avl-tree
org-attach org-id org-refile async org-tempo tempo org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete
org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core
ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc
org-loaddefs cal-menu calendar cal-loaddefs org-compat org-version
org-macs helpful cc-langs cc-vars cc-defs trace edebug debug backtrace
info-look find-func help-fns elisp-refs consult-vertico consult
treemacs-bookmarks treemacs-tags imenu bookmark magit-base magit-section
info-colors align speedbar ezimage dframe haskell-mode haskell-cabal
haskell-utils haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports
haskell-complete-module haskell-ghc-support etags fileloop generator
xref haskell-customize preview reftex-dcr reftex-auc cdlatex reftex
reftex-loaddefs reftex-vars noutline outline dbus font-latex latex
latex-flymake flymake-proc flymake tex-ispell tex-style tex crm texmathp
tex-mode shell pcomplete latexenc misearch multi-isearch vc-git
treemacs-all-the-icons treemacs-all-the-icons-autoloads treemacs-tab-bar
treemacs-tab-bar-autoloads treemacs-projectile
treemacs-projectile-autoloads loaddefs-gen radix-tree mm-archive message
sendmail yank-media rfc822 mml mml-sec epa epg rfc6068 gnus-util
mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils
gnutls network-stream url-cache url-http url-auth mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny epg-config
treemacs treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-interface treemacs-persistence treemacs-filewatch-mode
treemacs-follow-mode treemacs-rendering treemacs-annotations
treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-scope treemacs-faces treemacs-icons
treemacs-themes treemacs-core-utils pfuture inline ht treemacs-logging
treemacs-customization treemacs-macros all-the-icons-dired diredfl
dired-filter dired-hacks-utils dired-aux dired-x cus-edit pp cus-start
wakatime-mode autoinsert vertico-directory time-date pulse hideshow
display-line-numbers hl-todo rainbow-delimiters symbol-overlay
diff-hl-margin diff-hl-dired dired dired-loaddefs diff-hl log-view
pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode recentf tree-widget
wid-edit yasnippet-snippets yasnippet doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
f f-shortdoc s winner winum dash which-key hl-line solaire-mode
face-remap projectile project lisp-mnt grep compile comint ansi-osc
ansi-color ibuf-ext ibuffer ibuffer-loaddefs thingatpt vertico-multiform
vertico-mouse vertico catppuccin-theme desktop frameset cus-load keyfreq
prelude-irc prelude-apps gptel-transient warnings transient format-spec
gptel-curl gptel text-property-search mind-wave mind-wave-epc
prelude-mail prelude-os prelude-help prelude-lang-zig prelude-lang-web
prelude-lang-agda agda2 prelude-lang-haskell derived prelude-lang-js
prelude-lang-ml prelude-lang-coq prelude-lang-rust prelude-lang-python
prelude-lang-cc prelude-lang-lisp prelude-prog kind-icon svg-lib color
svg dom xml corfu-prescient corfu-popupinfo corfu prelude-blog
prelude-org prelude-tex prelude-git prelude-dired prelude-chinese
prelude-ibuffer prelude-search prelude-nix prelude-completion cape
marginalia orderless prescient char-fold prelude-project prelude-ui
icons ligature all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons ns-auto-titlebar pixel-scroll cua-base ring
prelude-core saveplace adaptive-wrap dabbrev server finder-inf elec-pair
diminish exec-path-from-shell undohist edmacro kmacro so-long delsel
autorevert filenotify prelude-benchmark benchmark-init advice cl-extra
help-mode prelude-common prelude-package vc-use-package use-package
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode prelude-loaddefs no-littering compat use-package-ensure
use-package-core rust-mode-autoloads citre-autoloads
no-littering-autoloads carbon-now-sh-autoloads benchmark-init-autoloads
pinyinlib-autoloads org-roam-ui-autoloads symbol-overlay-autoloads
cdlatex-autoloads ns-auto-titlebar-autoloads dap-mode-autoloads
ccls-autoloads geiser-autoloads wgrep-autoloads jupyter-autoloads
merlin-autoloads org-roam-bibtex-autoloads rainbow-delimiters-autoloads
helpful-autoloads go-translate-autoloads quickrun-autoloads
org-roam-autoloads yaml-mode-autoloads catppuccin-theme-autoloads
dired-filter-autoloads lsp-treemacs-autoloads zmq-autoloads
proof-general-autoloads proof-site proof-autoloads orderless-autoloads
lsp-ui-autoloads debbugs-autoloads rotate-autoloads vundo-autoloads
kind-icon-autoloads alert-autoloads auctex-autoloads tex-site
cape-autoloads helm-bibtex-autoloads org-download-autoloads
wakatime-mode-autoloads deft-autoloads dune-autoloads
all-the-icons-dired-autoloads smartparens-autoloads
dash-at-point-autoloads elfeed-autoloads treemacs-autoloads
cfrs-autoloads pfuture-autoloads org-ref-autoloads ox-pandoc-autoloads
bibtex-completion-autoloads hydra-autoloads htmlize-autoloads
lsp-docker-autoloads ace-window-autoloads avy-autoloads cider-autoloads
js2-mode-autoloads solaire-mode-autoloads ripgrep-autoloads
dumb-jump-autoloads elisp-refs-autoloads websocket-autoloads
rainbow-mode-autoloads simple-httpd-autoloads clojure-mode-autoloads
corfu-prescient-autoloads corfu-autoloads gntp-autoloads
adaptive-wrap-autoloads ligature-autoloads which-key-autoloads
lsp-mode-autoloads lv-autoloads spinner-autoloads company-coq-autoloads
company-math-autoloads cargo-autoloads vertico-autoloads
projectile-autoloads helm-autoloads info-colors-autoloads
zig-mode-autoloads one-themes-autoloads forge-autoloads yaml-autoloads
magit-autoloads pcase git-commit-autoloads closql-autoloads
utop-autoloads tuareg-autoloads rx caml-autoloads ghub-autoloads
web-mode-autoloads parseedn-autoloads doom-modeline-autoloads
shrink-path-autoloads expand-region-autoloads
modern-cpp-font-lock-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads ob-rust-autoloads nix-mode-autoloads
magit-section-autoloads org-latex-impatient-autoloads undohist-autoloads
with-editor-autoloads prescient-autoloads hl-todo-autoloads
keyfreq-autoloads speed-type-autoloads pdf-tools-autoloads
tablist-autoloads ormolu-autoloads reformatter-autoloads
emacsql-autoloads diminish-autoloads dired-hacks-utils-autoloads
diredfl-autoloads org-appear-autoloads transient-autoloads
posframe-autoloads sesman-autoloads nix-sandbox-autoloads
flycheck-haskell-autoloads haskell-mode-autoloads flycheck-autoloads
pkg-info-autoloads epl-autoloads treepy-autoloads bui-autoloads
log4e-autoloads multiple-cursors-autoloads valign-autoloads
biblio-autoloads biblio-core-autoloads org-noter-autoloads
markdown-mode-autoloads dashboard-autoloads citeproc-autoloads
parsebib-autoloads string-inflection-autoloads queue-autoloads
f-autoloads s-autoloads dockerfile-mode-autoloads
all-the-icons-ibuffer-autoloads all-the-icons-autoloads
math-symbol-lists-autoloads parseclj-autoloads nov-autoloads
esxml-autoloads kv-autoloads helm-core-autoloads async-autoloads
marginalia-autoloads compat-autoloads svg-lib-autoloads
diff-hl-autoloads company-autoloads minimap-autoloads
google-translate-autoloads popup-autoloads vc-use-package-autoloads
winum-autoloads yasnippet-snippets-autoloads yasnippet-autoloads
sly-autoloads exec-path-from-shell-autoloads vterm-autoloads
ht-autoloads info dash-autoloads package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc
iso-transl tooltip cconv 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 nadvice seq 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
theme-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 xwidget-internal dbusbind
kqueue cocoa ns lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 3080389 1070281)
 (symbols 48 73440 10)
 (strings 32 1043690 31576)
 (string-bytes 1 46690887)
 (vectors 16 161600)
 (vector-slots 8 2984143 628756)
 (floats 8 154480 5437)
 (intervals 56 40854 18667)
 (buffers 984 71))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]