From unknown Sun Aug 10 07:36:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64252: 29.0.91; pixel-scroll-precision-mode scrolling jumps with large images Resent-From: Rahguzar Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Jun 2023 14:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 64252@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16875313221840 (code B ref -1); Fri, 23 Jun 2023 14:43:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 Jun 2023 14:42:02 +0000 Received: from localhost ([127.0.0.1]:39323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qChz7-0000TU-8t for submit@debbugs.gnu.org; Fri, 23 Jun 2023 10:42:02 -0400 Received: from lists.gnu.org ([209.51.188.17]:59572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qChz4-0000TI-Ne for submit@debbugs.gnu.org; Fri, 23 Jun 2023 10:41:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qChz4-0007zY-FL for bug-gnu-emacs@gnu.org; Fri, 23 Jun 2023 10:41:58 -0400 Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qChz1-0000AB-HZ for bug-gnu-emacs@gnu.org; Fri, 23 Jun 2023 10:41:58 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1687531310; cv=none; d=zohomail.eu; s=zohoarc; b=GlAwKqkIicDUB2tIsXd5GZ8HtyCP01enZOmXCWOdo0bMLZjnIAL7mHF1ZbqnnxLhFxD8mdfaCZglwPni4waUDvVZyKN4cUWCopabY2VMPGp3A8lwNJqYVOylHP9fXw/FvF3AityUAiEHALSze5U278gU4EHHwVZZhDzL+joSkl0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1687531310; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=Oa2ruxrOxxvduMPzU9h1+4LDMYHYuHky7iZNX+PD9M4=; b=WpdZ/+ZGGBBoYsu57FCkqGupnQplWSt30qzWMAgqyQ34sqqXz6wrmDJkfxDowcgneyQXLlf9zaCSMQXV9FNc55E08XF4yab7sR2sh3UWHu9bae8SApt/Kx9WQdPc8pO8pXrq1WE3I8GF1NXPjwZMjH5LFGkLijHtzWE1y59/Olk= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=zohomail.eu; spf=pass smtp.mailfrom=rahguzar@zohomail.eu; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1687531310; s=zoho; d=zohomail.eu; i=rahguzar@zohomail.eu; h=From:From:To:To:Subject:Subject:Date:Date:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To:Cc; bh=Oa2ruxrOxxvduMPzU9h1+4LDMYHYuHky7iZNX+PD9M4=; b=GXjkwirQtaYiD4HxqOfLVf88fENgdxqpy7OHx1jQQlwi9LizTFkVCLdqsN/D7HIW F9jEMGmzkZnTH3G7RXLmVkqkusk3KntckqxAse64py4ESaPgU+mRBa6Fde+WC9j2JKP iFRqdR80gJ7o7Sg47BWJNSBaJxPrRkp8o8SvvFfA= Received: from localhost (81-231-79-170-no600.tbcn.telia.com [81.231.79.170]) by mx.zoho.eu with SMTPS id 1687531309027125.22262722802122; Fri, 23 Jun 2023 16:41:49 +0200 (CEST) User-agent: mu4e 1.10.3; emacs 29.0.91 From: Rahguzar Date: Fri, 23 Jun 2023 16:18:31 +0200 Message-ID: <87v8fedyvq.fsf@zohomail.eu> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External Received-SPF: pass client-ip=31.186.226.249; envelope-from=rahguzar@zohomail.eu; helo=sender11-pp-o91.zoho.eu X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Dear Emacs developers, Starting with `emacs -Q`, paste the following code in scratch buffer (let* ((win (display-buffer (get-buffer-create "image-pixel-precision-test"))) (height (/ (window-text-height win t) 3)) (file "path-to-some-image-file")) (select-window win) (erase-buffer) (insert-image (create-image file nil nil :height height)) (insert "\n") (insert-image (create-image file nil nil :height (* 2 height))) (insert "\n") (insert-image (create-image file nil nil :height (* 3 height))) (insert "\n") (goto-char 1) (pixel-scroll-precision-mode) nil) after replacing the binding of variable 'file' with the path to some existing image. This should selected a window with three images. The first one take up 1/3 of the window and the second one 2/3 of the window. The third image is off screen has height equal to the window. The point is on the first image. Now try to scroll the image using mouse wheel or track pad. When scrolling starts the point moves to 2nd image but scrolling works as expected as long some part of the second image is in view. However as soon as the first image is out of view, any scrolling results in the second image disappearing and window being filled with the 3rd image. As far as I can tell this is not limited to pixel-scroll-precision mode and is part of Emacs scrolling behavior, but in https://lists.gnu.org/archive/html/help-gnu-emacs/2023-06/msg00199.html Eli said that pixel-scroll-precision-mode can handle this scenario but in my testing it cannot. As far as I can tell in Emacs partial scrolling works well if there is either 1) a line that is completely visible in the window or 2) a line that is bigger than the window. However when both of the these conditions are not satisfied it is only possible to scroll in line sized jumps. This happens for example when there are two images which are individually less tall than the window but their combined height is more than the window. My suspicion is that this is related to how 'set-window-start' operates and in the scenario outlined above it moves the window content to make a whole line visible. I tried setting 'global-disable-point-adjustment' to see if it helps but it doesn't. In GNU Emacs 29.0.91 (build 1, x86_64-suse-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) of 2023-06-20 built on lamb78 System Description: openSUSE Tumbleweed Configured using: 'configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-pgtk --with-native-compilation=aot --with-cairo --with-libotf --with-jpeg --with-tiff --with-gif --with-png --with-rsvg --with-xft --with-xml2 --with-dbus --with-sound --with-json --with-mailutils --with-gnutls --with-tree-sitter --enable-locallisppath=/usr/share/emacs/29.0.91/site-lisp:/usr/share/emacs/site-lisp 'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto' LDFLAGS=-Wl,-O2' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER XIM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: mu4e:main Minor modes in effect: recentf-mode: t save-place-mode: t global-so-long-mode: t global-evil-surround-mode: t evil-surround-mode: t eros-mode: t projectile-mode: t which-key-mode: t savehist-mode: t better-jumper-mode: t better-jumper-local-mode: t global-company-mode: t company-mode: t vertico-mode: t all-the-icons-completion-mode: t marginalia-mode: t evil-goggles-mode: t evil-escape-mode: t evil-snipe-override-mode: t evil-snipe-mode: t gcmh-mode: t winner-mode: t smartparens-global-mode: t ws-butler-global-mode: t undo-fu-session-global-mode: t undo-fu-mode: t satchel-mode: t mu4e-search-minor-mode: t global-hl-line-mode: t hl-line-mode: t mu4e-update-minor-mode: t mu4e-context-minor-mode: t dirvish-override-dired-mode: t server-mode: t repeat-mode: t evil-mode: t evil-local-mode: t windmove-mode: t +popup-mode: t +modeline-global-mode: t +modeline-mode: t override-global-mode: t general-override-mode: t global-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 window-divider-mode: t buffer-read-only: t size-indication-mode: t line-number-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/azeem/.emacs.d/.local/straight/build-29.0.91/emacsql/emacsql-sqlite-builtin hides /home/azeem/.emacs.d/.local/straight/build-29.0.91/emacsql-sqlite-builtin/emacsql-sqlite-builtin /home/azeem/.emacs.d/.local/straight/build-29.0.91/citar-embark/citar-embark hides /home/azeem/.emacs.d/.local/straight/build-29.0.91/citar/citar-embark /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-view hides /usr/share/emacs/site-lisp/mu4e/mu4e-view /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-search hides /usr/share/emacs/site-lisp/mu4e/mu4e-search /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-query-items hides /usr/share/emacs/site-lisp/mu4e/mu4e-query-items /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-org hides /usr/share/emacs/site-lisp/mu4e/mu4e-org /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-notification hides /usr/share/emacs/site-lisp/mu4e/mu4e-notification /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-icalendar hides /usr/share/emacs/site-lisp/mu4e/mu4e-icalendar /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-config hides /usr/share/emacs/site-lisp/mu4e/mu4e-config /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-window hides /usr/share/emacs/site-lisp/mu4e/mu4e-window /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-modeline hides /usr/share/emacs/site-lisp/mu4e/mu4e-modeline /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e hides /usr/share/emacs/site-lisp/mu4e/mu4e /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-vars hides /usr/share/emacs/site-lisp/mu4e/mu4e-vars /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-update hides /usr/share/emacs/site-lisp/mu4e/mu4e-update /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-server hides /usr/share/emacs/site-lisp/mu4e/mu4e-server /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-obsolete hides /usr/share/emacs/site-lisp/mu4e/mu4e-obsolete /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-message hides /usr/share/emacs/site-lisp/mu4e/mu4e-message /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-mark hides /usr/share/emacs/site-lisp/mu4e/mu4e-mark /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-main hides /usr/share/emacs/site-lisp/mu4e/mu4e-main /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-helpers hides /usr/share/emacs/site-lisp/mu4e/mu4e-helpers /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-headers hides /usr/share/emacs/site-lisp/mu4e/mu4e-headers /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-folders hides /usr/share/emacs/site-lisp/mu4e/mu4e-folders /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-draft hides /usr/share/emacs/site-lisp/mu4e/mu4e-draft /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-contrib hides /usr/share/emacs/site-lisp/mu4e/mu4e-contrib /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-context hides /usr/share/emacs/site-lisp/mu4e/mu4e-context /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-compose hides /usr/share/emacs/site-lisp/mu4e/mu4e-compose /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-bookmarks hides /usr/share/emacs/site-lisp/mu4e/mu4e-bookmarks /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-actions hides /usr/share/emacs/site-lisp/mu4e/mu4e-actions /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-speedbar hides /usr/share/emacs/site-lisp/mu4e/mu4e-speedbar /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-lists hides /usr/share/emacs/site-lisp/mu4e/mu4e-lists /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-contacts hides /usr/share/emacs/site-lisp/mu4e/mu4e-contacts Features: (shadow emacsbug evil-collection-xref xref company-ispell company-yasnippet company-dabbrev delsel jka-compr whitespace adaptive-wrap face-remap recentf tree-widget saveplace evil-collection-so-long so-long evil-collection-helpful helpful cc-langs cc-vars cc-defs evil-collection-imenu imenu trace evil-collection-edebug edebug evil-collection-debug debug backtrace info-look evil-collection-info info f f-shortdoc help-fns radix-tree evil-collection-elisp-refs elisp-refs s vertico-directory hide-mode-line org-crypt evil-embrace evil-surround eros highlight-quoted rainbow-delimiters highlight-numbers parent-mode hl-todo evil-collection-elisp-mode elisp-mode org-eldoc embrace expand-region text-mode-expansions the-org-mode-expansions er-basic-expansions expand-region-core expand-region-custom cdlatex texmathp toc-org evil-org display-line-numbers jit-spell ispell org-indent org-element org-persist xdg org-id org-refile avl-tree generator ol-bibtex gnus-async gnus-bcklg gnus-ml disp-table auto-minor-mode link-hint ffap goto-addr avy sort gnus-cite smiley shr-color mm-archive mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check qp projectile lisp-mnt evil-collection-grep grep nndraft nnmh nnfolder cursor-sensor vertico-repeat epa-file network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache evil-collection-which-key which-key savehist better-jumper company-capf company evil-collection-vertico vertico orderless all-the-icons-completion marginalia compat evil-goggles pulse color evil-easymotion evil-escape evil-snipe autorevert filenotify gcmh winner smartparens-config smartparens-text smartparens dash ws-butler undo-fu-session undo-fu satchel ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs desktop frameset mu4e mu4e-org evil-collection-org smartparens-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc-natbib oc-csl bibtex oc-biblatex oc org-loaddefs find-func org-version org-compat org-macs mu4e-notification notifications mu4e-main mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win evil-collection-gnus gnus nnheader range evil-collection-calendar cal-menu calendar cal-loaddefs mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg xml dom browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source json map url-vars flow-fill mule-util hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window evil-collection-bookmark bookmark ido message sendmail mailcap yank-media puny dirvish transient format-spec eieio eieio-core evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec password-cache evil-collection-epa epa epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader mu4e-obsolete server dtrt-indent ef-spring-theme ef-themes repeat midnight evil-collection-flymake flymake-proc flymake project evil-collection-compile evil-collection-custom cus-edit cus-load wid-edit evil-collection-comint evil-collection annalist compile text-property-search comint ansi-osc ansi-color html2text let-alist ibuf-macs evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-search evil-types evil-macros evil-repeat evil-states evil-core byte-opt advice evil-common windmove calc calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons derived edmacro kmacro use-package-bind-key bind-key comp comp-cstr warnings icons rx doom-editor doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra help-mode use-package-core bytecomp byte-compile general tex-site doom-start doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib pcase gv jansson dynamic-modules subr-x rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/pgtk-win pgtk-win term/common-win pgtk-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 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 dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1112649 163180) (symbols 48 47706 27) (strings 32 197743 25767) (string-bytes 1 7031793) (vectors 16 120738) (vector-slots 8 2076120 174082) (floats 8 1459 2514) (intervals 56 75919 1751) (buffers 984 23)) From unknown Sun Aug 10 07:36:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64252: 29.0.91; pixel-scroll-precision-mode scrolling jumps with large images Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Jun 2023 14:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Rahguzar Cc: 64252@debbugs.gnu.org Received: via spool by 64252-submit@debbugs.gnu.org id=B64252.16875322173570 (code B ref 64252); Fri, 23 Jun 2023 14:57:01 +0000 Received: (at 64252) by debbugs.gnu.org; 23 Jun 2023 14:56:57 +0000 Received: from localhost ([127.0.0.1]:39337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCiDZ-0000vW-1u for submit@debbugs.gnu.org; Fri, 23 Jun 2023 10:56:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCiDT-0000vB-UY for 64252@debbugs.gnu.org; Fri, 23 Jun 2023 10:56:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qCiDO-0001Nu-1t; Fri, 23 Jun 2023 10:56:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=qbn9sUrKGV8TWpmHBQP/CVYvV3lV7Xk0z+yEDoea6tM=; b=eN02GBBZRLG3 bnmoPdOF/aQqnqzQdCDdQ9lBip23zZD+LQyXI2FEE8bvm//SJJuJsiaErkf9Z6FYmo9T5t0oIf3qY xUoRt6HYjSgoYSISqr803Z1FAah3iez3OlP7eT28EFcz0tG0j+QM1iz5MfLSGsqjPEal5pZ6NZDq5 kZar7fh2pNg/umPmqs1c9qWqktoREP80z+tKuLlGBZIBz6dMS4Uv0Y4s8047/O8Tw6IUiPmx7ddnb w7JdYWPLxtphQgpW3AcUM98tDvmAYKdshEmyLs4feRLS/a6Jbv7yJp6X7Jw5enaku+4xcXQUFlH61 pOlU0e3SdumHC92JlXTgkA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qCiDN-0003wP-H4; Fri, 23 Jun 2023 10:56:45 -0400 Date: Fri, 23 Jun 2023 17:56:59 +0300 Message-Id: <83h6qy1b2c.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87v8fedyvq.fsf@zohomail.eu> (bug-gnu-emacs@gnu.org) References: <87v8fedyvq.fsf@zohomail.eu> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Fri, 23 Jun 2023 16:18:31 +0200 > From: Rahguzar via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > As far as I can tell this is not limited to pixel-scroll-precision mode > and is part of Emacs scrolling behavior, but in > > https://lists.gnu.org/archive/html/help-gnu-emacs/2023-06/msg00199.html > > Eli said that pixel-scroll-precision-mode can handle this scenario but > in my testing it cannot. I said that pixel-scroll-precision-mode can vscroll a window when there's an image in the window, something you claimed there you cannot make Emacs do. > As far as I can tell in Emacs partial scrolling > works well if there is either 1) a line that is completely visible in > the window or 2) a line that is bigger than the window. However when > both of the these conditions are not satisfied it is only possible to > scroll in line sized jumps. Why is that a problem? You describe some behavior in some specific situation, but don't say why it's a problem we need to investigate, let alone fix. From unknown Sun Aug 10 07:36:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64252: 29.0.91; pixel-scroll-precision-mode scrolling jumps with large images Resent-From: Rahguzar Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Jun 2023 15:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 64252@debbugs.gnu.org Received: via spool by 64252-submit@debbugs.gnu.org id=B64252.16875331875181 (code B ref 64252); Fri, 23 Jun 2023 15:14:01 +0000 Received: (at 64252) by debbugs.gnu.org; 23 Jun 2023 15:13:07 +0000 Received: from localhost ([127.0.0.1]:39350 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCiTC-0001LV-Ue for submit@debbugs.gnu.org; Fri, 23 Jun 2023 11:13:07 -0400 Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25151) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCiT9-0001LG-9A for 64252@debbugs.gnu.org; Fri, 23 Jun 2023 11:13:06 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1687533175; cv=none; d=zohomail.eu; s=zohoarc; b=fX/Bw7VFru9W+pzLAXT4I+5maR46nlR9cVj0Azr3EFMgR8qTVyyJEkiZ701mDGUJu48cvAECCWW192JoE3tGQcibmEQS6q0GwDC0Zu/LQdpzvj6DxYGdsf37sxoUmYf8prLUP64KdIJTRJM+Ea9UD5w+ZGebWmjGbveI6BOaCEs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1687533175; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=xz5bdA0PUJMPwLEX3wXJVr4kyYCthFeiImuwPG7Du08=; b=HAZMZN+k14V6dc2HbdBXRGXIFOhgDBW1jdJ6d8li/xoVEMViMizN8d/cya22gmBfsZl4H2Jz+EylAUAxxxdoCu4fYpDpPaXhWOeyxCr8coXb0hJf2flVB/A2LNst0Gjp27eCsaiGxa+nZIYCuBv1ra/Sx2G9o0v1a3jc3TKtJXw= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=zohomail.eu; spf=pass smtp.mailfrom=rahguzar@zohomail.eu; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1687533175; s=zoho; d=zohomail.eu; i=rahguzar@zohomail.eu; h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To; bh=xz5bdA0PUJMPwLEX3wXJVr4kyYCthFeiImuwPG7Du08=; b=WSOKa2kp6CQyjjlZrSnrG1914MTPiJfBvNidM/jWYZhbyAkFRxGFuBfZhCHMHFqn rHeefgX+ZQVRI1VtjzoYa8RLJ1i5nDiafQ6IW83BuESZ6/C/RWE+qTzge65oBQ1o4+e u49TN2F++0iec6CH8paJktMGVg5QgCIcc8p795Nw= Received: from localhost (81-231-79-170-no600.tbcn.telia.com [81.231.79.170]) by mx.zoho.eu with SMTPS id 168753317345058.47870663571598; Fri, 23 Jun 2023 17:12:53 +0200 (CEST) References: <87v8fedyvq.fsf@zohomail.eu> <83h6qy1b2c.fsf@gnu.org> User-agent: mu4e 1.10.3; emacs 29.0.91 From: Rahguzar Date: Fri, 23 Jun 2023 17:04:10 +0200 In-reply-to: <83h6qy1b2c.fsf@gnu.org> Message-ID: <87mt0qdxfw.fsf@zohomail.eu> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Eli, Eli Zaretskii writes: > I said that pixel-scroll-precision-mode can vscroll a window when > there's an image in the window, something you claimed there you cannot > make Emacs do. Sorry, I wasn't very clear in that message to which you responded. >> As far as I can tell in Emacs partial scrolling >> works well if there is either 1) a line that is completely visible in >> the window or 2) a line that is bigger than the window. However when >> both of the these conditions are not satisfied it is only possible to >> scroll in line sized jumps. > > Why is that a problem? You describe some behavior in some specific > situation, but don't say why it's a problem we need to investigate, > let alone fix. It is certainly a pretty minor problem. The reason it would be nice is to be able to partially scroll such images is to view documents like pdfs. The biggest part of the problem can already be solved by the tools Emacs already has, since it is possible to reliably scroll pages larger than a window. For small pages, scrolling one page at a time is not so bad but more mine grained scrolling would be nice. From unknown Sun Aug 10 07:36:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64252: 29.0.91; pixel-scroll-precision-mode scrolling jumps with large images Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 24 Jun 2023 01:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Rahguzar Cc: 64252@debbugs.gnu.org Received: via spool by 64252-submit@debbugs.gnu.org id=B64252.16875701676664 (code B ref 64252); Sat, 24 Jun 2023 01:30:02 +0000 Received: (at 64252) by debbugs.gnu.org; 24 Jun 2023 01:29:27 +0000 Received: from localhost ([127.0.0.1]:39709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCs5e-0001jO-GY for submit@debbugs.gnu.org; Fri, 23 Jun 2023 21:29:27 -0400 Received: from sonic301-30.consmr.mail.ne1.yahoo.com ([66.163.184.199]:35667) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qCs5a-0001j8-D2 for 64252@debbugs.gnu.org; Fri, 23 Jun 2023 21:29:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1687570156; bh=m4GDswaZT+rBHrXA4wi8TWVS+dekqvcN3VBfVzYlasI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=asySWbE2whNfrpVuTden17hGh0uni+r5YPB6FopVjlM8/aT4TRc/bguhQbX8Ka0vRq3tnjzG+CxYa3GBKz8+gmlOS1gVM9TVpOjd/I8Utic2+VqvYyGJ5kI3zC4duG/9U6ZzDtXkO76rqMYnWLJdbnDPV+TuFCkIQLzgL31DIcOuJNZuSzqxQAqRP5o5tKY0R/ThZMPs2RcEPm1kb8ww45B4r44kL0u49Y9vVA2oNFC+h7ORm0eOgztjUYZfB1AeaG2NT8okQUwIodZz4qsEJ42KnkYZfGOfCQvIIq0jKHFzLusfPmMMUxW8wwWRn0DnEgN1JGRte/Xjs/Kc3N5+gA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1687570156; bh=b3SwxU8tlf5sSnxADcoooSVCQkKnppev9mEcUJn2nYt=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=LeTOkr4vIXohC1IjLrJwIPTmhLI7mpbNSTQZFI7Hsp8w6DeNP2Hs31weCBbZGGfoE7CYhA3MGuH5tLI/Mcp89dOBfN+ja6JwSWMUZ02sX3mdGl/u0d91adkxs2RhW9Mhi1zyg2HwNU/5TBbRQ82Q8UW6wahTYmKuDm5ybtowELLvXJuBf1HX3phWBgM1eW8HVhQm3VJx5EH6dUTqR7cMSKQGwNtJ5Of7lpeFV9/0p9EJIBa0Vq7v/nt8yLPelczlp1wWjROSoNJKJlPUbL7VLz5zyGWLmi6hJBwk1QRXd0mOwUdJt1CKosUDOPFCXkPXPSh/q7qEV0YTMdXNWr8irg== X-YMail-OSG: wPxrumUVM1n4uEc2nBQro8SvslOcdb.Ep0cy1RiJkd8EQ15VNN1IasWy.Y4pzVm .B7R31u2HDWpjX8B809GELNQGBJ5h833tKyj1beIL.HHqyjSDD72deK0.SqZREQONZ816V3PsnDI 4GWdIbQk3WEzmQ8UvtJyeqgtlJH53dOADiNnTsU3K7f.bIynVmoIQbEQhXazbcygE5G8hBf2MTa9 84.fzT3lt3SmaQlSr2sDWX.uicadf22WjyZGmI10IdVaRXEpcaUN8JaCZEXPHw3GhXKfnTxbY.Yt WVt.tSSwN.gBwespm2fFA3CPhtIXzfTKpu9Fx3tWiWEVtC3eNdDAPGN5GpacJVhzRIl6qglZRe6r WCJKnpdO3nrKE05NPtEVO218VNm1HCX_.i1ogRIQDOZurMMGyfL4LEzAxvR92rOR09hdQgaDxdRi 1uhqNtMCrDKf9qNMQXHw9LdO90rHbTPc2Ivw8aXo8ttn_3UyDNGOJcEG3sVCXxZdHzNEAT.x9Pg3 shSisvMqFr4xVWAMQrH1Jh9qmYz2Xy6JK.diY26joYCNT3v8S6QaClHovgg6H4HTjG0MQ3Sm.5jH rNUMt5g0wkE6JeamA_47nIkeys7NNs2ENhOkIKB0Qm3CPCFXj3Cx2Q89N0puCZASZ6PkacHCvRhP dBEx8Untn8CUmV.YLpdKDNZBRgx3k07e9HlSaO3cNr0wRVVWV_5UtQIHIZkIljAkRaPzefjh1cGw wPRYUF.65gCa3w6I9NDpjj9fAxOxYkqa4.Wl1_GCxtmZQorV7PpR0olM0O9Vu0mQwbEuHsn3iInd IxG9xm1vqM3vc82t9iG.GppcXnCHuQd1D.uiFDYvj1R5z7JryNZiJFMBxGVsLTmLFndUEAjj.3eQ 4stjkCoNccjvA4SLHfk8qD3iT.Merv0PoTZd0i.Wo63_Cp0nrOShOGlKCKHWcpHcu00ItmRj.tnh 3BZdp1M89iCoE5ZpAJdWmbAADIbUGRTGN.wuSbOMD1pI.eaDyOQtLW8zd87O3EVDyVugNxcfMCPq lPYjxvFa4EUDytXhw3j.T_8UTY1LPoOXBzOCBsCguI57PG9APtZJ31SRRJeOs7j6hqemhP5NKzI8 B1qthMZbpiDDwOIXWSXdItRwt1EKzikbg6Rww224uAWJUeOZ7IZCayFWWoDCIYAoPQ6z4vj2MYLQ TIQ56nFKbyA2pJMkAmNxHoxO1ozvoJj9N_sjeR8drFXQDafHQSsCTxSbhFOU1OLUULbYcDPmrbUJ IYwEDU7VchyHzthd.OpwpjgHtWWmq.CTSdgyaKbx4QDKYIPKIEZaieSmh0VqdK1c144d0xdeLu3o 5IWAeJrkUfV1TU5vPq.DBj.iU8cjTBshnahQZiDfjUYbHFbAibkPVcCY_Jrj2w7thVUVJwcXIY8M F2qLJMkilJQ1Z9l8JcQRSEIQ0f2j2q7XxKtsGhi_F6VREpfk9Dm5KxkKSpAwdCrhyVFDPzTOAxdd Uk44jSfJ0yg4o5u.WiFDF2_WZBt4f9PFIV4RAzkstuTfAzKLRRBJeK3fqRTmgDiClpS3GV0BK9Lf v_vM._K5SPIpAYwdnRWiGxyXxqvhl84U.bGFIw31hly.uSt98y2Aw45uWzklZ1eW38U70NnGbniQ Yq5TMy9jvKxWaMDqSVs8aWyX4rDTCHiWA5up3vYivTfpfxhDzHiqw0kfSVtOawJQUPei_.Modq7H KADuhXo5L1Sv8N2olFNqQBz.gxJeLR4_GCo7ZRRtzCCGnhmQtVKdYQxCBT7Zl6C4_c3AXaAbqzA4 RFhd7XAMnI_i0zLwjNUZVtzrDsQgVONQVoMLxEf364Zhh1gimqqn6WtW14cVxCvwLHtuAPy9m.dp mFudX.e8HJ_NefXySPUTkSbw.QvRNseb4luofLI2WE7BsnpR.JWH2.OlZpVFwPacz8x2mb0BL7Hx D5.d9x32PdXDDGJqVgFacpbgW7S5V8Vy45g6m..p32cE.dvSLG7VHAivYeZNdJh2uwAiF4X6Pxi0 jdVRgPSLjZCO72ydyXbH_t9DxQsvpB8zFyFZiPaNbNUvU_Rtat2PoW2ZWZ.4V_nWJQQSYzAv3fHY PIwSQx5gutFVFtFD2LWS5tcxNgApx5.EUbxkA5ptcrGV9YRG.qsgKGMWl5rCRlAd.gvT9LRukaoK boF6ZeOtI4902HS44ekT6bZ8mlU.KSBp8p.7qHRJThBrgStb9sH.dgS7eUwxcnN1Ky5Aru2wqmqs zDCIdMM_TTvLepYKTl8SrzpZJRUHzxfh.CLTrsfmp8iND1UXQQu_eQn7..TCM2vn0LQ7d X-Sonic-MF: X-Sonic-ID: 88b4c5d4-a3d5-4b21-80cb-5b64851a9a5c Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Sat, 24 Jun 2023 01:29:16 +0000 Received: by hermes--production-sg3-748897c457-ncjl6 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID ad96691c0b2d62e0ad04c5ea3414e3a0; Sat, 24 Jun 2023 01:29:10 +0000 (UTC) From: Po Lu In-Reply-To: <87v8fedyvq.fsf@zohomail.eu> (rahguzar@zohomail.eu's message of "Fri, 23 Jun 2023 16:18:31 +0200") References: <87v8fedyvq.fsf@zohomail.eu> Date: Sat, 24 Jun 2023 09:29:06 +0800 Message-ID: <87zg4pwsv1.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21557 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 15688 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Rahguzar writes: > Dear Emacs developers, > > Starting with `emacs -Q`, paste the following code in scratch buffer > > (let* ((win (display-buffer (get-buffer-create "image-pixel-precision-test"))) > (height (/ (window-text-height win t) 3)) > (file "path-to-some-image-file")) > (select-window win) > (erase-buffer) > (insert-image (create-image file nil nil :height height)) > (insert "\n") > (insert-image (create-image file nil nil :height (* 2 height))) > (insert "\n") > (insert-image (create-image file nil nil :height (* 3 height))) > (insert "\n") > (goto-char 1) > (pixel-scroll-precision-mode) > nil) > > after replacing the binding of variable 'file' with the path to some > existing image. This should selected a window with three images. The > first one take up 1/3 of the window and the second one 2/3 of the > window. The third image is off screen has height equal to the window. > The point is on the first image. Now try to scroll the image using mouse > wheel or track pad. When scrolling starts the point moves to 2nd image > but scrolling works as expected as long some part of the second image is > in view. However as soon as the first image is out of view, any > scrolling results in the second image disappearing and window being > filled with the 3rd image. > > As far as I can tell this is not limited to pixel-scroll-precision mode > and is part of Emacs scrolling behavior, but in > > https://lists.gnu.org/archive/html/help-gnu-emacs/2023-06/msg00199.html > > Eli said that pixel-scroll-precision-mode can handle this scenario but > in my testing it cannot. As far as I can tell in Emacs partial scrolling > works well if there is either 1) a line that is completely visible in > the window or 2) a line that is bigger than the window. However when > both of the these conditions are not satisfied it is only possible to > scroll in line sized jumps. This happens for example when there are two > images which are individually less tall than the window but their > combined height is more than the window. My suspicion is that this is > related to how 'set-window-start' operates and in the scenario outlined > above it moves the window content to make a whole line visible. > > I tried setting 'global-disable-point-adjustment' to see if it helps but > it doesn't. > > > In GNU Emacs 29.0.91 (build 1, x86_64-suse-linux-gnu, GTK+ Version > 3.24.38, cairo version 1.17.8) of 2023-06-20 built on lamb78 > System Description: openSUSE Tumbleweed > > Configured using: > 'configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu > --program-prefix= --disable-dependency-tracking --prefix=/usr > --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin > --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include > --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var > --sharedstatedir=/var/lib --mandir=/usr/share/man > --infodir=/usr/share/info --with-pgtk --with-native-compilation=aot > --with-cairo --with-libotf --with-jpeg --with-tiff --with-gif > --with-png --with-rsvg --with-xft --with-xml2 --with-dbus --with-sound > --with-json --with-mailutils --with-gnutls --with-tree-sitter > --enable-locallisppath=/usr/share/emacs/29.0.91/site-lisp:/usr/share/emacs/site-lisp > 'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 > -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables > -fstack-clash-protection -Werror=return-type -flto=auto' > LDFLAGS=-Wl,-O2' > > Configured features: > CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON > LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY > PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF > TOOLKIT_SCROLL_BARS TREE_SITTER XIM GTK3 ZLIB > > Important settings: > value of $LANG: en_US.UTF-8 > locale-coding-system: utf-8-unix > > Major mode: mu4e:main > > Minor modes in effect: > recentf-mode: t > save-place-mode: t > global-so-long-mode: t > global-evil-surround-mode: t > evil-surround-mode: t > eros-mode: t > projectile-mode: t > which-key-mode: t > savehist-mode: t > better-jumper-mode: t > better-jumper-local-mode: t > global-company-mode: t > company-mode: t > vertico-mode: t > all-the-icons-completion-mode: t > marginalia-mode: t > evil-goggles-mode: t > evil-escape-mode: t > evil-snipe-override-mode: t > evil-snipe-mode: t > gcmh-mode: t > winner-mode: t > smartparens-global-mode: t > ws-butler-global-mode: t > undo-fu-session-global-mode: t > undo-fu-mode: t > satchel-mode: t > mu4e-search-minor-mode: t > global-hl-line-mode: t > hl-line-mode: t > mu4e-update-minor-mode: t > mu4e-context-minor-mode: t > dirvish-override-dired-mode: t > server-mode: t > repeat-mode: t > evil-mode: t > evil-local-mode: t > windmove-mode: t > +popup-mode: t > +modeline-global-mode: t > +modeline-mode: t > override-global-mode: t > general-override-mode: t > global-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 > window-divider-mode: t > buffer-read-only: t > size-indication-mode: t > line-number-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/azeem/.emacs.d/.local/straight/build-29.0.91/emacsql/emacsql-sqlite-builtin hides /home/azeem/.emacs.d/.local/straight/build-29.0.91/emacsql-sqlite-builtin/emacsql-sqlite-builtin > /home/azeem/.emacs.d/.local/straight/build-29.0.91/citar-embark/citar-embark hides /home/azeem/.emacs.d/.local/straight/build-29.0.91/citar/citar-embark > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-view hides /usr/share/emacs/site-lisp/mu4e/mu4e-view > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-search hides /usr/share/emacs/site-lisp/mu4e/mu4e-search > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-query-items hides /usr/share/emacs/site-lisp/mu4e/mu4e-query-items > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-org hides /usr/share/emacs/site-lisp/mu4e/mu4e-org > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-notification hides /usr/share/emacs/site-lisp/mu4e/mu4e-notification > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-icalendar hides /usr/share/emacs/site-lisp/mu4e/mu4e-icalendar > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-config hides /usr/share/emacs/site-lisp/mu4e/mu4e-config > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-window hides /usr/share/emacs/site-lisp/mu4e/mu4e-window > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-modeline hides /usr/share/emacs/site-lisp/mu4e/mu4e-modeline > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e hides /usr/share/emacs/site-lisp/mu4e/mu4e > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-vars hides /usr/share/emacs/site-lisp/mu4e/mu4e-vars > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-update hides /usr/share/emacs/site-lisp/mu4e/mu4e-update > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-server hides /usr/share/emacs/site-lisp/mu4e/mu4e-server > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-obsolete hides /usr/share/emacs/site-lisp/mu4e/mu4e-obsolete > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-message hides /usr/share/emacs/site-lisp/mu4e/mu4e-message > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-mark hides /usr/share/emacs/site-lisp/mu4e/mu4e-mark > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-main hides /usr/share/emacs/site-lisp/mu4e/mu4e-main > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-helpers hides /usr/share/emacs/site-lisp/mu4e/mu4e-helpers > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-headers hides /usr/share/emacs/site-lisp/mu4e/mu4e-headers > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-folders hides /usr/share/emacs/site-lisp/mu4e/mu4e-folders > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-draft hides /usr/share/emacs/site-lisp/mu4e/mu4e-draft > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-contrib hides /usr/share/emacs/site-lisp/mu4e/mu4e-contrib > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-context hides /usr/share/emacs/site-lisp/mu4e/mu4e-context > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-compose hides /usr/share/emacs/site-lisp/mu4e/mu4e-compose > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-bookmarks hides /usr/share/emacs/site-lisp/mu4e/mu4e-bookmarks > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-actions hides /usr/share/emacs/site-lisp/mu4e/mu4e-actions > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-speedbar hides /usr/share/emacs/site-lisp/mu4e/mu4e-speedbar > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-lists hides /usr/share/emacs/site-lisp/mu4e/mu4e-lists > /home/azeem/.emacs.d/.local/straight/build-29.0.91/mu4e/mu4e-contacts hides /usr/share/emacs/site-lisp/mu4e/mu4e-contacts > > Features: > (shadow emacsbug evil-collection-xref xref company-ispell > company-yasnippet company-dabbrev delsel jka-compr whitespace > adaptive-wrap face-remap recentf tree-widget saveplace > evil-collection-so-long so-long evil-collection-helpful helpful cc-langs > cc-vars cc-defs evil-collection-imenu imenu trace evil-collection-edebug > edebug evil-collection-debug debug backtrace info-look > evil-collection-info info f f-shortdoc help-fns radix-tree > evil-collection-elisp-refs elisp-refs s vertico-directory hide-mode-line > org-crypt evil-embrace evil-surround eros highlight-quoted > rainbow-delimiters highlight-numbers parent-mode hl-todo > evil-collection-elisp-mode elisp-mode org-eldoc embrace expand-region > text-mode-expansions the-org-mode-expansions er-basic-expansions > expand-region-core expand-region-custom cdlatex texmathp toc-org > evil-org display-line-numbers jit-spell ispell org-indent org-element > org-persist xdg org-id org-refile avl-tree generator ol-bibtex > gnus-async gnus-bcklg gnus-ml disp-table auto-minor-mode link-hint ffap > goto-addr avy sort gnus-cite smiley shr-color mm-archive mail-extr > textsec uni-scripts idna-mapping ucs-normalize uni-confusable > textsec-check qp projectile lisp-mnt evil-collection-grep grep nndraft > nnmh nnfolder cursor-sensor vertico-repeat epa-file network-stream nsm > gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp > gnus-cache evil-collection-which-key which-key savehist better-jumper > company-capf company evil-collection-vertico vertico orderless > all-the-icons-completion marginalia compat evil-goggles pulse color > evil-easymotion evil-escape evil-snipe autorevert filenotify gcmh winner > smartparens-config smartparens-text smartparens dash ws-butler > undo-fu-session undo-fu satchel ibuf-ext evil-collection-ibuffer ibuffer > ibuffer-loaddefs desktop frameset mu4e mu4e-org evil-collection-org > smartparens-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro > org-src ob-comint org-pcomplete pcomplete org-list org-footnote > org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval > org-cycle org-table ol org-fold org-fold-core org-keys oc-natbib oc-csl > bibtex oc-biblatex oc org-loaddefs find-func org-version org-compat > org-macs mu4e-notification notifications mu4e-main mu4e-view gnus-art > mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group > gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source > utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win > evil-collection-gnus gnus nnheader range evil-collection-calendar > cal-menu calendar cal-loaddefs mu4e-headers mu4e-compose mu4e-draft > mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark > mu4e-message shr pixel-fill kinsoku url-file svg xml dom browse-url url > url-proxy url-privacy url-expand url-methods url-history url-cookie > generate-lisp-file url-domsuf url-util url-parse auth-source json map > url-vars flow-fill mule-util hl-line mu4e-contacts mu4e-update > mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline > mu4e-vars mu4e-helpers mu4e-config mu4e-window evil-collection-bookmark > bookmark ido message sendmail mailcap yank-media puny dirvish transient > format-spec eieio eieio-core evil-collection-dired dired dired-loaddefs > rfc822 mml mml-sec password-cache evil-collection-epa epa epg rfc6068 > epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse > rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev > mail-utils gmm-utils mailheader mu4e-obsolete server dtrt-indent > ef-spring-theme ef-themes repeat midnight evil-collection-flymake > flymake-proc flymake project evil-collection-compile > evil-collection-custom cus-edit cus-load wid-edit evil-collection-comint > evil-collection annalist compile text-property-search comint ansi-osc > ansi-color html2text let-alist ibuf-macs evil evil-integration evil-maps > evil-commands reveal evil-jumps evil-command-window evil-search > evil-types evil-macros evil-repeat evil-states evil-core byte-opt advice > evil-common windmove calc calc-loaddefs calc-macs thingatpt rect > evil-digraphs evil-vars ring all-the-icons all-the-icons-faces > data-material data-weathericons data-octicons data-fileicons > data-faicons data-alltheicons derived edmacro kmacro > use-package-bind-key bind-key comp comp-cstr warnings icons rx > doom-editor doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra > help-mode use-package-core bytecomp byte-compile general tex-site > doom-start doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib > pcase gv jansson dynamic-modules subr-x rmc iso-transl tooltip cconv > eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel > term/pgtk-win pgtk-win term/common-win pgtk-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 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 dbusbind inotify > dynamic-setting system-font-setting font-render-setting cairo gtk pgtk > multi-tty make-network-process native-compile emacs) > > Memory information: > ((conses 16 1112649 163180) > (symbols 48 47706 27) > (strings 32 197743 25767) > (string-bytes 1 7031793) > (vectors 16 120738) > (vector-slots 8 2076120 174082) > (floats 8 1459 2514) > (intervals 56 75919 1751) > (buffers 984 23)) If an image is larger than the window, pixel-scroll-precision-mode is unable to determine a position of point that will not cause redisplay to recenter the window after scrolling takes place. There is definitely a solution to this problem, but I haven't found it yet. Patches welcome. Thanks.