Package: emacs;
Reported by: Steven Allen <steven <at> stebalien.com>
Date: Wed, 12 Jun 2024 19:22:01 UTC
Severity: normal
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 71525 in the body.
You can then email your comments to 71525 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Wed, 12 Jun 2024 19:22:02 GMT) Full text and rfc822 format available.Steven Allen <steven <at> stebalien.com>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 12 Jun 2024 19:22:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.50; Spin in delete-region/interval_deletion_adjustment Date: Wed, 12 Jun 2024 12:20:49 -0700
[Message part 1 (text/plain, inline)]
After rebuilding today, enabling the eshell-tramp module and calling sudo is causing a `delete-region` subcall (presumably from within `tramp-wait-for-output`?) to spin within `interval_deletion_adjustment` (or it might be repeatedly calling it?). NOTE: this happens after authentication. To reproduce: 1. `emacs -Q` 2. `M-x eval-expression RET (require 'eshell) RET` 3. `M-x eval-expression RET (add-to-list 'eshell-modules-list 'eshell-tramp)`. 4. `M-x eshell` 5. `sudo /usr/bin/echo` 6. Authenticate, press enter, and watch Emacs lock up and go to 100% CPU usage. I've collected two backtraces: one with native compilation (with-native-comp.txt) and one after re-evaluating (with-eval.txt) the appropriate files (tramp-sh.el, tramp.el) to rule out compilation issues. See attached. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.18.0) of 2024-06-12 built on Laptop Repository revision: 6893c327e982528fdc93e3a956a4b6830a09ea3f Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-m17n-flt --without-selinux --without-pop --without-gconf --enable-link-time-optimization --with-native-compilation=yes --with-xinput2 --with-x-toolkit=no --without-toolkit-scroll-bars --without-xft --without-xaw3d --without-gsettings --with-cairo-xcb --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -Wl,-z,noexecstack -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: notmuch-bookmarks-mode: t rainbow-mode: t rainbow-delimiters-mode: t ligature-mode: t windmove-mode: t global-atomic-chrome-edit-mode: t i3bar-mode: t ednc-mode: t exwm-xsettings-mode: t exwm-background-mode: t exwm-systemtray-mode: t exwm-randr-mode: t ws-butler-mode: t auto-compile-on-load-mode: t auto-compile-on-save-mode: t auto-compile-mode: t save-place-mode: t savehist-mode: t openwith-mode: t org-super-agenda-mode: t global-org-modern-mode: t goto-address-prog-mode: t eat-eshell-mode: t magit-todos-mode: t global-git-commit-mode: t dired-async-mode: t magit-auto-revert-mode: t server-mode: t recentf-mode: t global-treesit-auto-mode: t yas-global-mode: t yas-minor-mode: t async-bytecomp-package-mode: t sudo-edit-indicator-mode: t global-auto-revert-mode: t vertico-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t isearch-mb-mode: t pixel-scroll-precision-mode: t global-hl-todo-mode: t hl-todo-mode: t all-the-icons-completion-mode: t marginalia-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-anzu-mode: t anzu-mode: t global-jinx-mode: t evil-goggles-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-collection-unimpaired-mode: t evil-collection-unimpaired-mode: t evil-mode: t evil-local-mode: t desktop-environment-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t prettify-symbols-mode: t tab-bar-history-mode: t tab-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t minibuffer-regexp-mode: t buffer-read-only: 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: /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch hides /usr/share/emacs/site-lisp/notmuch /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-wash hides /usr/share/emacs/site-lisp/notmuch-wash /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-tree hides /usr/share/emacs/site-lisp/notmuch-tree /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-tag hides /usr/share/emacs/site-lisp/notmuch-tag /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-show hides /usr/share/emacs/site-lisp/notmuch-show /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-query hides /usr/share/emacs/site-lisp/notmuch-query /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-print hides /usr/share/emacs/site-lisp/notmuch-print /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-parser hides /usr/share/emacs/site-lisp/notmuch-parser /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-mua hides /usr/share/emacs/site-lisp/notmuch-mua /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-message hides /usr/share/emacs/site-lisp/notmuch-message /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-maildir-fcc hides /usr/share/emacs/site-lisp/notmuch-maildir-fcc /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-lib hides /usr/share/emacs/site-lisp/notmuch-lib /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-jump hides /usr/share/emacs/site-lisp/notmuch-jump /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-hello hides /usr/share/emacs/site-lisp/notmuch-hello /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-draft hides /usr/share/emacs/site-lisp/notmuch-draft /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-crypto hides /usr/share/emacs/site-lisp/notmuch-crypto /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-compat hides /usr/share/emacs/site-lisp/notmuch-compat /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-company hides /usr/share/emacs/site-lisp/notmuch-company /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-address hides /usr/share/emacs/site-lisp/notmuch-address /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/coolj hides /usr/share/emacs/site-lisp/coolj /home/steb/.cache/emacs/elpa/protobuf-mode-20240222.1652/protobuf-mode hides /usr/share/emacs/site-lisp/protobuf-mode /home/steb/.cache/emacs/elpa/transient-20240609.2020/transient hides /usr/share/emacs/30.0.50/lisp/transient /home/steb/.cache/emacs/elpa/modus-themes-20240227.715/theme-loaddefs hides /usr/share/emacs/30.0.50/lisp/theme-loaddefs Features: (shadow sort mail-extr semantic/symref/grep semantic/symref semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw cedet emacsbug consult-xref flymake-cc vc evil-collection-eglot eglot external-completion jsonrpc evil-collection-ert ert ewoc evil-collection-flymake flymake cc-mode cc-fonts cc-guess cc-menus cc-cmds tramp-rclone evil-collection-vterm vterm vterm-module term/xterm xterm eshell-syntax-highlighting em-elecslash em-tramp em-extpipe em-glob em-basic em-alias tramp-cmds tramp-cache time-stamp tramp-sshfs tramp-fuse evil-collection-vc-git vc-git vc-dispatcher evil-collection-consult consult magit-bookmark org-bookmark-heading notmuch-bookmarks evil-collection-bookmark bookmark buffer-move info-colors ffap misearch multi-isearch rainbow-mode rainbow-delimiters ligature mule-util evil-collection-helpful helpful cc-langs trace cl-print evil-collection-edebug edebug evil-collection-debug debug backtrace info-look help-fns radix-tree evil-collection-elisp-refs elisp-refs vertico-repeat app-launcher windmove pinentry evil-collection-atomic-chrome atomic-chrome websocket bindat i3bar ednc filechooser dbus exwm-xsettings xcb-xsettings exwm-background exwm-systemtray xcb-systemtray xcb-xembed exwm-randr xcb-randr exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug cus-start posframe visual-wrap face-remap visual-fill-column evil-org ws-butler oc-basic bibtex ol-man ol-info ol-docview evil-collection-doc-view doc-view jka-compr evil-collection-image image-mode exif auto-compile saveplace tramp-sh savehist openwith org-super-agenda ts ht org-habit org-crypt org-protocol ob-http ob-http-mode org-modern ob-dot ob-latex ob-python evil-collection-python python ob-gnuplot 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 evil-org-agenda org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist org-id org-refile org-element-ast inline avl-tree ob-calc calc-store calc-trail calc-ext evil-collection-calc calc calc-loaddefs calc-macs ob-shell evil-collection-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro evil-collection-xref xref org-src evil-collection-sh-script sh-script smie executable 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 org-compat org-version org-macs evil-collection-notmuch notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser notmuch-wash coolj goto-addr icalendar diary-lib diary-loaddefs evil-collection-calendar cal-menu calendar cal-loaddefs notmuch-tag notmuch-lib notmuch-compat mm-view mml-smime smime dig eshell-prompt-extras em-dirs em-ls em-prompt em-hist em-unix em-pred esh-mode esh-var evil-collection-eat eat evil-collection-term term disp-table ehelp eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-util evil-collection-forge forge-repos forge-topics forge-tablist hl-line forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth let-alist gnutls forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference forge-post evil-collection-markdown-mode markdown-mode edit-indirect evil-collection-outline noutline outline forge-repo forge forge-core forge-db closql emacsql-sqlite-common emacsql emacsql-compiler eieio-base evil-collection-magit-todos magit-todos pcre2el rxt re-builder f s evil-collection-grep grep evil-collection-compile compile evil-collection-magit 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 evil-collection-magit-repos magit-repos magit-apply magit-wip magit-log which-func evil-collection-imenu imenu magit-diff smerge-mode diff diff-mode track-changes easy-mmode git-commit evil-collection-log-edit log-edit message sendmail yank-media puny dired-async dired-aux evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-base evil-collection-magit-section magit-section cursor-sensor crm recentf tree-widget treesit-auto yasnippet async-bytecomp async sudo-edit tramp trampver tramp-integration files-x tramp-message tramp-compat shell pcomplete evil-collection-comint comint ansi-osc parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs autorevert filenotify project vertico corfu-popupinfo evil-collection-corfu corfu orderless isearch-mb pixel-scroll cua-base hl-todo all-the-icons-completion all-the-icons all-the-icons-faces all-the-icons-data-material-icons all-the-icons-data-fluentui-system-icons all-the-icons-data-fontawesome-4 all-the-icons-data-weather-icons all-the-icons-data-vscode-codicons all-the-icons-data-octicons all-the-icons-data-mfixx all-the-icons-data-file-icons all-the-icons-data-devopicons all-the-icons-data-alltheicons svg dom xml marginalia page-break-lines anzu modus-vivendi-theme modus-themes jinx evil-goggles pulse color evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point evil-textobj-tree-sitter-core treesit evil-args evil-surround evil-collection-unimpaired evil-collection-tabulated-list evil-collection-tab-bar evil-collection-simple evil-collection-replace evil-collection-process-menu evil-collection-package-menu evil-collection-kmacro evil-collection-info evil-collection-indent evil-collection-help evil-collection-elisp-mode evil-collection-eldoc evil-collection-custom evil-collection-buff-menu evil-collection annalist evil evil-integration evil-maps evil-commands evil-digraphs pcase reveal evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp-run advice evil-common thingatpt rect evil-vars ring edmacro kmacro general dash mode-local find-func no-littering compat finder-inf notmuch-version info all-the-icons-completion-autoloads all-the-icons-dired-autoloads all-the-icons-ibuffer-autoloads all-the-icons-autoloads app-launcher-autoloads aria2-autoloads atomic-chrome-autoloads auto-compile-autoloads bash-completion-autoloads bluetooth-autoloads buffer-move-autoloads calibre-autoloads cape-autoloads casual-autoloads casual-dired-autoloads casual-info-autoloads clojure-mode-autoloads consult-eglot-autoloads consult-project-extra-autoloads consult-autoloads corfu-autoloads coverage-autoloads csv-mode-autoloads dape-autoloads devdocs-autoloads dired-filter-autoloads dired-hacks-utils-autoloads dired-k-autoloads discomfort-autoloads debase-autoloads disk-usage-autoloads eat-autoloads edit-indirect-autoloads ednc-autoloads eff-autoloads ellama-autoloads ement-autoloads eshell-prompt-extras-autoloads eshell-syntax-highlighting-autoloads eshell-vterm-autoloads evil-anzu-autoloads anzu-autoloads evil-args-autoloads evil-collection-autoloads annalist-autoloads evil-goggles-autoloads evil-nerd-commenter-autoloads evil-org-autoloads evil-surround-autoloads evil-autoloads evil-textobj-tree-sitter-autoloads evm-mode-autoloads expand-region-autoloads exwm-autoloads filechooser-autoloads flymake-ruff-autoloads general-autoloads git-link-autoloads git-modes-autoloads gnuplot-autoloads goto-chg-autoloads graphviz-dot-mode-autoloads helpful-autoloads elisp-refs-autoloads htmlize-autoloads i3bar-autoloads igist-autoloads info-colors-autoloads isearch-mb-autoloads iwindow-autoloads jinx-autoloads journalctl-autoloads kotlin-mode-autoloads ligature-autoloads link-hint-autoloads avy-autoloads llm-autoloads magit-todos-autoloads hl-todo-autoloads f-autoloads marginalia-autoloads mastodon-autoloads microdata-autoloads modus-themes-autoloads named-pipe-autoloads nftables-mode-autoloads no-littering-autoloads notmuch-transient-autoloads nov-autoloads esxml-autoloads kv-autoloads ob-async-autoloads ob-http-autoloads ol-notmuch-autoloads notmuch-autoloads openwith-autoloads orderless-autoloads org-bookmark-heading-autoloads org-download-autoloads async-autoloads org-margin-autoloads org-modern-autoloads org-super-agenda-autoloads orgit-forge-autoloads orgit-autoloads forge-autoloads markdown-mode-autoloads magit-autoloads git-commit-autoloads ghub-autoloads closql-autoloads emacsql-autoloads ox-pandoc-autoloads ht-autoloads package-lint-flymake-autoloads package-lint-autoloads page-break-lines-autoloads password-store-autoloads pcre2el-autoloads pdf-tools-autoloads persist-autoloads pinentry-autoloads pkgbuild-mode-autoloads playerctl-autoloads plz-autoloads posframe-autoloads proced-narrow-autoloads protobuf-mode-autoloads pulseaudio-control-autoloads qrencode-autoloads rainbow-delimiters-autoloads rainbow-mode-autoloads request-autoloads rg-autoloads rmsbolt-autoloads rust-playground-autoloads solidity-mode-autoloads spinner-autoloads ssh-config-mode-autoloads sudo-edit-autoloads svg-lib-autoloads systemctl-autoloads systemd-autoloads tablist-autoloads taxy-magit-section-autoloads taxy-autoloads magit-section-autoloads tmr-autoloads transient-autoloads treepy-autoloads treesit-auto-autoloads ts-autoloads s-autoloads dash-autoloads tzc-autoloads udev-mode-autoloads vala-mode-autoloads cc-styles cc-align cc-engine cc-vars cc-defs vertico-autoloads vimrc-mode-autoloads visual-fill-column-autoloads vterm-autoloads vundo-autoloads wat-ts-mode-autoloads watch-autoloads web-mode-autoloads websocket-autoloads wgrep-autoloads whisper-autoloads with-editor-autoloads wordnut-autoloads ws-butler-autoloads xelb-autoloads yaml-autoloads yasnippet-autoloads comp comp-cstr cl-extra help-mode comp-common warnings rx xdg 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 cus-edit pp cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen 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 lcms2 dynamic-setting font-render-setting cairo xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 1393955 1049946) (symbols 48 74675 2) (strings 32 379763 68125) (string-bytes 1 12693577) (vectors 16 139684) (vector-slots 8 1625666 443250) (floats 8 715 7279) (intervals 56 21960 9365) (buffers 992 46))
[with-eval.txt (text/plain, inline)]
#0 0x000059ee4b16dd06 in interval_deletion_adjustment () #1 0x000059ee4b1718ab in offset_intervals () #2 0x000059ee4b08a4ae in del_range_2 () #3 0x000059ee4b08b922 in del_range_1 () #4 0x000059ee4b0e43ec in Fdelete_region () #5 0x000059ee4b0f1730 in eval_sub () #6 0x000059ee4b0f2650 in Flet () #7 0x000059ee4b0f15ae in eval_sub () #8 0x000059ee4b0dc0c0 in Fsave_current_buffer () #9 0x000059ee4b0f15ae in eval_sub () #10 0x000059ee4b0f2200 in FletX () #11 0x000059ee4b0f15ae in eval_sub () #12 0x000059ee4b0f3290 in funcall_lambda () #13 0x000059ee4b0f7489 in apply_lambda () #14 0x000059ee4b0f0f79 in eval_sub () #15 0x000059ee4b0f2650 in Flet () #16 0x000059ee4b0f15ae in eval_sub () #17 0x000059ee4b0f3290 in funcall_lambda () #18 0x000059ee4b0f7489 in apply_lambda () #19 0x000059ee4b0f0f79 in eval_sub () #20 0x000059ee4b0f2650 in Flet () #21 0x000059ee4b0f15ae in eval_sub () #22 0x000059ee4b0f1b76 in Fprog1 () #23 0x000059ee4b0f15ae in eval_sub () #24 0x000059ee4b0f29eb in Funwind_protect () #25 0x000059ee4b0f15ae in eval_sub () #26 0x000059ee4b0f2650 in Flet () #27 0x000059ee4b0f15ae in eval_sub () #28 0x000059ee4b0f1a20 in Fif () #29 0x000059ee4b0f15ae in eval_sub () #30 0x000059ee4b0f3290 in funcall_lambda () #31 0x000059ee4b0f7489 in apply_lambda () #32 0x000059ee4b0f0f79 in eval_sub () #33 0x000059ee4b0f2650 in Flet () #34 0x000059ee4b0f15ae in eval_sub () #35 0x000059ee4b0f3290 in funcall_lambda () #36 0x000059ee4b0f7489 in apply_lambda () #37 0x000059ee4b0f0f79 in eval_sub () #38 0x000059ee4b0f2650 in Flet () #39 0x000059ee4b0f15ae in eval_sub () #40 0x000059ee4b0f1b76 in Fprog1 () #41 0x000059ee4b0f15ae in eval_sub () #42 0x000059ee4b0f29eb in Funwind_protect () #43 0x000059ee4b0f15ae in eval_sub () #44 0x000059ee4b0f2650 in Flet () #45 0x000059ee4b0f15ae in eval_sub () #46 0x000059ee4b0f1a20 in Fif () #47 0x000059ee4b0f15ae in eval_sub () #48 0x000059ee4b0f2200 in FletX () #49 0x000059ee4b0f15ae in eval_sub () #50 0x000059ee4b0f1970 in Fprogn () #51 0x000059ee4b0eef7a in internal_catch () #52 0x000059ee4b0f15ae in eval_sub () #53 0x000059ee4b0f1a20 in Fif () #54 0x000059ee4b0f15ae in eval_sub () #55 0x000059ee4b0f2de9 in internal_lisp_condition_case () #56 0x000059ee4b0f15ae in eval_sub () #57 0x000059ee4b0f2650 in Flet () #58 0x000059ee4b0f15ae in eval_sub () #59 0x000059ee4b0f1a20 in Fif () #60 0x000059ee4b0f15ae in eval_sub () #61 0x000059ee4b0f3290 in funcall_lambda () #62 0x000059ee4b0f7489 in apply_lambda () #63 0x000059ee4b0f0f79 in eval_sub () #64 0x000059ee4b0f1a20 in Fif () #65 0x000059ee4b0f15ae in eval_sub () #66 0x000059ee4b0f3290 in funcall_lambda () #67 0x000059ee4b0f7489 in apply_lambda () #68 0x000059ee4b0f0f79 in eval_sub () #69 0x000059ee4b0f2650 in Flet () #70 0x000059ee4b0f15ae in eval_sub () #71 0x000059ee4b0f3290 in funcall_lambda () #72 0x000059ee4b0f7489 in apply_lambda () #73 0x000059ee4b0f0f79 in eval_sub () #74 0x000059ee4b0f1900 in For () #75 0x000059ee4b0f15ae in eval_sub () #76 0x000059ee4b0f3290 in funcall_lambda () #77 0x000059ee4b0f7489 in apply_lambda () #78 0x000059ee4b0f0f79 in eval_sub () #79 0x000059ee4b0f1a20 in Fif () #80 0x000059ee4b0f15ae in eval_sub () #81 0x000059ee4b0f19a5 in Fif () #82 0x000059ee4b0f15ae in eval_sub () #83 0x000059ee4b0f3290 in funcall_lambda () #84 0x000059ee4b0f7489 in apply_lambda () #85 0x000059ee4b0f0f79 in eval_sub () #86 0x000059ee4b0f274e in Flet () #87 0x000059ee4b0f15ae in eval_sub () #88 0x000059ee4b0f1970 in Fprogn () #89 0x000059ee4b0eef7a in internal_catch () #90 0x000059ee4b0f15ae in eval_sub () #91 0x000059ee4b0f2650 in Flet () #92 0x000059ee4b0f15ae in eval_sub () #93 0x000059ee4b0e6020 in Fsave_restriction () #94 0x000059ee4b0f15ae in eval_sub () #95 0x000059ee4b0dc4c0 in Fsave_excursion () #96 0x000059ee4b0f15ae in eval_sub () #97 0x000059ee4b0f29eb in Funwind_protect () #98 0x000059ee4b0f15ae in eval_sub () #99 0x000059ee4b0dc0c0 in Fsave_current_buffer () #100 0x000059ee4b0f15ae in eval_sub () #101 0x000059ee4b0f1970 in Fprogn () #102 0x000059ee4b0f15ae in eval_sub () #103 0x000059ee4b0f29eb in Funwind_protect () #104 0x000059ee4b0f15ae in eval_sub () #105 0x000059ee4b0f2200 in FletX () #106 0x000059ee4b0f15ae in eval_sub () #107 0x000059ee4b0f2200 in FletX () #108 0x000059ee4b0f15ae in eval_sub () #109 0x000059ee4b0f2650 in Flet () #110 0x000059ee4b0f15ae in eval_sub () #111 0x000059ee4b0f2650 in Flet () #112 0x000059ee4b0f15ae in eval_sub () #113 0x000059ee4b0f2200 in FletX () #114 0x000059ee4b0f15ae in eval_sub () #115 0x000059ee4b0f1970 in Fprogn () #116 0x000059ee4b0f15ae in eval_sub () #117 0x000059ee4b0f15ae in eval_sub () #118 0x000059ee4b0f1a20 in Fif () #119 0x000059ee4b0f15ae in eval_sub () #120 0x000059ee4b0f3290 in funcall_lambda () #121 0x000059ee4b0f3aca in Ffuncall () #122 0x000059ee4b0f4be0 in Fapply () #123 0x000059ee4b0f17e3 in eval_sub () #124 0x000059ee4b0f1970 in Fprogn () #125 0x000059ee4b0f15ae in eval_sub () #126 0x000059ee4b0f29eb in Funwind_protect () #127 0x000059ee4b0f15ae in eval_sub () #128 0x000059ee4b0f2650 in Flet () #129 0x000059ee4b0f15ae in eval_sub () #130 0x000059ee4b0f1b76 in Fprog1 () #131 0x000059ee4b0f15ae in eval_sub () #132 0x000059ee4b0f15ae in eval_sub () #133 0x000059ee4b0f2200 in FletX () #134 0x000059ee4b0f15ae in eval_sub () #135 0x000059ee4b0f3290 in funcall_lambda () #136 0x000059ee4b0f3aca in Ffuncall () #137 0x000059ee4b0f4be0 in Fapply () #138 0x000059ee4b0f17e3 in eval_sub () #139 0x000059ee4b0f1970 in Fprogn () #140 0x000059ee4b0eef7a in internal_catch () #141 0x000059ee4b0f15ae in eval_sub () #142 0x000059ee4b0f1970 in Fprogn () #143 0x000059ee4b0eef7a in internal_catch () #144 0x000059ee4b0f15ae in eval_sub () #145 0x000059ee4b0f1c5b in Fsetq () #146 0x000059ee4b0f15ae in eval_sub () #147 0x000059ee4b0f1a20 in Fif () #148 0x000059ee4b0f15ae in eval_sub () #149 0x000059ee4b0f2650 in Flet () #150 0x000059ee4b0f15ae in eval_sub () #151 0x000059ee4b0f15ae in eval_sub () #152 0x000059ee4b0f29eb in Funwind_protect () #153 0x000059ee4b0f15ae in eval_sub () #154 0x000059ee4b0f2650 in Flet () #155 0x000059ee4b0f15ae in eval_sub () #156 0x000059ee4b0f2200 in FletX () #157 0x000059ee4b0f15ae in eval_sub () #158 0x000059ee4b0f1970 in Fprogn () #159 0x000059ee4b0f15ae in eval_sub () #160 0x000059ee4b0f29eb in Funwind_protect () #161 0x000059ee4b0f15ae in eval_sub () #162 0x000059ee4b0f2650 in Flet () #163 0x000059ee4b0f15ae in eval_sub () #164 0x000059ee4b0f15ae in eval_sub () #165 0x000059ee4b0f2650 in Flet () #166 0x000059ee4b0f15ae in eval_sub () #167 0x000059ee4b0f3290 in funcall_lambda () #168 0x000059ee4b0f3aca in Ffuncall () #169 0x000059ee4b0f4be0 in Fapply () #170 0x000059ee4b155efa in Fmake_process () #171 0x00007021d12a2dd3 in F657368656c6c2d6761746865722d70726f636573732d6f7574707574_eshell_gather_process_output_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-proc-276ac638-b9009414.eln #172 0x000059ee4b0f3aca in Ffuncall () #173 0x00007021d123ea1d in F657368656c6c2d636f6e6e656374696f6e2d6c6f63616c2d636f6d6d616e64_eshell_connection_local_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-ext-9adf61a7-391dc0d5.eln #174 0x000059ee4b0f3aca in Ffuncall () #175 0x00007021d123eca0 in F657368656c6c2d65787465726e616c2d636f6d6d616e64_eshell_external_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-ext-9adf61a7-391dc0d5.eln #176 0x000059ee4b0f3aca in Ffuncall () #177 0x00007021d125bf16 in F657368656c6c2d706c61696e2d636f6d6d616e64_eshell_plain_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #178 0x000059ee4b0f3aca in Ffuncall () #179 0x00007021d125b96d in F657368656c6c2d6e616d65642d636f6d6d616e64_eshell_named_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #180 0x000059ee4b0f1730 in eval_sub () #181 0x000059ee4b0f3073 in Feval () #182 0x000059ee4b0f3aca in Ffuncall () #183 0x00007021d125acdc in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #184 0x000059ee4b14a039 in exec_byte_code () #185 0x000059ee4b0f3aca in Ffuncall () #186 0x000059ee4b0f17e3 in eval_sub () #187 0x000059ee4b0f2650 in Flet () #188 0x000059ee4b0f15ae in eval_sub () #189 0x000059ee4b0f3073 in Feval () #190 0x000059ee4b0f3aca in Ffuncall () #191 0x00007021d125939c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #192 0x000059ee4b0f3aca in Ffuncall () #193 0x00007021d125ac92 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #194 0x000059ee4b0f3aca in Ffuncall () #195 0x00007021d125a155 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #196 0x000059ee4b14a039 in exec_byte_code () #197 0x000059ee4b0f3aca in Ffuncall () #198 0x000059ee4b0f17e3 in eval_sub () #199 0x000059ee4b0f2650 in Flet () #200 0x000059ee4b0f15ae in eval_sub () #201 0x000059ee4b0f3073 in Feval () #202 0x000059ee4b0f3aca in Ffuncall () #203 0x00007021d125939c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #204 0x000059ee4b0f1730 in eval_sub () #205 0x000059ee4b0f2de9 in internal_lisp_condition_case () #206 0x000059ee4b0f15ae in eval_sub () #207 0x000059ee4b0f3073 in Feval () #208 0x000059ee4b0f3aca in Ffuncall () #209 0x00007021d1258650 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #210 0x000059ee4b0f3aca in Ffuncall () #211 0x00007021d12583bf in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #212 0x000059ee4b14a039 in exec_byte_code () #213 0x000059ee4b0f3aca in Ffuncall () #214 0x000059ee4b0f17e3 in eval_sub () #215 0x000059ee4b0f2650 in Flet () #216 0x000059ee4b0f15ae in eval_sub () #217 0x000059ee4b0f3073 in Feval () #218 0x000059ee4b0f3aca in Ffuncall () #219 0x00007021d125939c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #220 0x000059ee4b0f3aca in Ffuncall () #221 0x00007021d125a9b1 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #222 0x000059ee4b0f3aca in Ffuncall () #223 0x00007021d125a155 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #224 0x000059ee4b0f3aca in Ffuncall () #225 0x00007021d125a9b1 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #226 0x000059ee4b14a039 in exec_byte_code () #227 0x000059ee4b0f3aca in Ffuncall () #228 0x000059ee4b0f17e3 in eval_sub () #229 0x000059ee4b0f2650 in Flet () #230 0x000059ee4b0f15ae in eval_sub () #231 0x000059ee4b0f3073 in Feval () #232 0x000059ee4b0f3aca in Ffuncall () #233 0x00007021d125939c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #234 0x000059ee4b0f3aca in Ffuncall () #235 0x00007021d1256027 in F657368656c6c2d726573756d652d6576616c_eshell_resume_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #236 0x000059ee4b0f3aca in Ffuncall () #237 0x00007021d12557b5 in F657368656c6c2d6576616c2d636f6d6d616e64_eshell_eval_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #238 0x000059ee4b0f3aca in Ffuncall () #239 0x00007021d117ef81 in F657368656c6c2d73656e642d696e707574_eshell_send_input_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-mode-29140b27-601e69ac.eln #240 0x000059ee4b0f3aca in Ffuncall () #241 0x000059ee4b0e5a22 in Ffuncall_interactively () #242 0x000059ee4b0f3aca in Ffuncall () #243 0x000059ee4b0f69e3 in Fcall_interactively () #244 0x00007021d30ba8a5 in F636f6d6d616e642d65786563757465_command_execute_0 () at /usr/bin/../lib/emacs/30.0.50/native-lisp/30.0.50-227e13ca/preloaded/simple-fab5b0cf-c39c6ea4.eln #245 0x000059ee4b0f3aca in Ffuncall () #246 0x000059ee4b0560c1 in command_loop_1.lto_priv () #247 0x000059ee4b0ef037 in internal_condition_case () #248 0x000059ee4b053eae in command_loop_2 () #249 0x000059ee4b0eef7a in internal_catch () #250 0x000059ee4b055c03 in command_loop.lto_priv () #251 0x000059ee4b1d71eb in recursive_edit_1.isra () #252 0x000059ee4b057980 in Frecursive_edit () #253 0x000059ee4af251ea in main ()
[with-native-comp.txt (text/plain, inline)]
#0 0x00005e3281ce5ce7 in interval_deletion_adjustment () #1 0x00005e3281ce98ab in offset_intervals () #2 0x00005e3281c024ae in del_range_2 () #3 0x00005e3281c03922 in del_range_1 () #4 0x00005e3281cc2ac5 in exec_byte_code () #5 0x00005e3281c6baca in Ffuncall () #6 0x00007b975f9204b8 in F7472616d702d73656e642d636f6d6d616e64_tramp_send_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #7 0x00005e3281c6baca in Ffuncall () #8 0x00007b975f90efca in F7472616d702d6f70656e2d7368656c6c_tramp_open_shell_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #9 0x00005e3281c6baca in Ffuncall () #10 0x00007b975f9100e3 in F7472616d702d6f70656e2d636f6e6e656374696f6e2d73657475702d696e7465726163746976652d7368656c6c_tramp_open_connection_setup_interactive_shell_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #11 0x00005e3281c6baca in Ffuncall () #12 0x00007b975f91f63d in F7472616d702d6d617962652d6f70656e2d636f6e6e656374696f6e_tramp_maybe_open_connection_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #13 0x00005e3281c6baca in Ffuncall () #14 0x00007b975f920585 in F7472616d702d73656e642d636f6d6d616e64_tramp_send_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #15 0x00005e3281c6baca in Ffuncall () #16 0x00007b975f921239 in F7472616d702d73656e642d636f6d6d616e642d616e642d636865636b_tramp_send_command_and_check_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #17 0x00005e3281c6baca in Ffuncall () #18 0x00007b975f9217e0 in F7472616d702d626172662d756e6c6573732d6f6b6179_tramp_barf_unless_okay_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #19 0x00005e3281c6baca in Ffuncall () #20 0x00007b975f922006 in F7472616d702d73656e642d636f6d6d616e642d616e642d72656164_tramp_send_command_and_read_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #21 0x00005e3281c6baca in Ffuncall () #22 0x00007b975f8f4f7e in F7472616d702d73682d68616e646c652d6d616b652d70726f63657373_tramp_sh_handle_make_process_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #23 0x00005e3281c6baca in Ffuncall () #24 0x00005e3281c6cbe0 in Fapply () #25 0x00007b975f90720a in F7472616d702d73682d66696c652d6e616d652d68616e646c6572_tramp_sh_file_name_handler_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/tramp-sh-c6a0d036-f0745ec2.eln #26 0x00005e3281c6baca in Ffuncall () #27 0x00005e3281c6cbe0 in Fapply () #28 0x00005e3281cc2039 in exec_byte_code () #29 0x00005e3281c6baca in Ffuncall () #30 0x00005e3281c6cbe0 in Fapply () #31 0x00005e3281ccdefa in Fmake_process () #32 0x00007b975ffc1dd3 in F657368656c6c2d6761746865722d70726f636573732d6f7574707574_eshell_gather_process_output_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-proc-276ac638-b9009414.eln #33 0x00005e3281c6baca in Ffuncall () #34 0x00007b975fd68a1d in F657368656c6c2d636f6e6e656374696f6e2d6c6f63616c2d636f6d6d616e64_eshell_connection_local_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-ext-9adf61a7-391dc0d5.eln #35 0x00005e3281c6baca in Ffuncall () #36 0x00007b975fd68ca0 in F657368656c6c2d65787465726e616c2d636f6d6d616e64_eshell_external_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-ext-9adf61a7-391dc0d5.eln #37 0x00005e3281c6baca in Ffuncall () #38 0x00007b975fd85f16 in F657368656c6c2d706c61696e2d636f6d6d616e64_eshell_plain_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #39 0x00005e3281c6baca in Ffuncall () #40 0x00007b975fd8596d in F657368656c6c2d6e616d65642d636f6d6d616e64_eshell_named_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #41 0x00005e3281c69730 in eval_sub () #42 0x00005e3281c6b073 in Feval () #43 0x00005e3281c6baca in Ffuncall () #44 0x00007b975fd84cdc in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #45 0x00005e3281cc2039 in exec_byte_code () #46 0x00005e3281c6baca in Ffuncall () #47 0x00005e3281c697e3 in eval_sub () #48 0x00005e3281c6a650 in Flet () #49 0x00005e3281c695ae in eval_sub () #50 0x00005e3281c6b073 in Feval () #51 0x00005e3281c6baca in Ffuncall () #52 0x00007b975fd8339c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #53 0x00005e3281c6baca in Ffuncall () #54 0x00007b975fd84c92 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #55 0x00005e3281c6baca in Ffuncall () #56 0x00007b975fd84155 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #57 0x00005e3281cc2039 in exec_byte_code () #58 0x00005e3281c6baca in Ffuncall () #59 0x00005e3281c697e3 in eval_sub () #60 0x00005e3281c6a650 in Flet () #61 0x00005e3281c695ae in eval_sub () #62 0x00005e3281c6b073 in Feval () #63 0x00005e3281c6baca in Ffuncall () #64 0x00007b975fd8339c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #65 0x00005e3281c69730 in eval_sub () #66 0x00005e3281c6ade9 in internal_lisp_condition_case () #67 0x00005e3281c695ae in eval_sub () #68 0x00005e3281c6b073 in Feval () #69 0x00005e3281c6baca in Ffuncall () #70 0x00007b975fd82650 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #71 0x00005e3281c6baca in Ffuncall () #72 0x00007b975fd823bf in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #73 0x00005e3281cc2039 in exec_byte_code () #74 0x00005e3281c6baca in Ffuncall () #75 0x00005e3281c697e3 in eval_sub () #76 0x00005e3281c6a650 in Flet () #77 0x00005e3281c695ae in eval_sub () #78 0x00005e3281c6b073 in Feval () #79 0x00005e3281c6baca in Ffuncall () #80 0x00007b975fd8339c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #81 0x00005e3281c6baca in Ffuncall () #82 0x00007b975fd849b1 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #83 0x00005e3281c6baca in Ffuncall () #84 0x00007b975fd84155 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #85 0x00005e3281c6baca in Ffuncall () #86 0x00007b975fd849b1 in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #87 0x00005e3281cc2039 in exec_byte_code () #88 0x00005e3281c6baca in Ffuncall () #89 0x00005e3281c697e3 in eval_sub () #90 0x00005e3281c6a650 in Flet () #91 0x00005e3281c695ae in eval_sub () #92 0x00005e3281c6b073 in Feval () #93 0x00005e3281c6baca in Ffuncall () #94 0x00007b975fd8339c in F657368656c6c2d646f2d6576616c_eshell_do_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #95 0x00005e3281c6baca in Ffuncall () #96 0x00007b975fd80027 in F657368656c6c2d726573756d652d6576616c_eshell_resume_eval_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #97 0x00005e3281c6baca in Ffuncall () #98 0x00007b975fd7f7b5 in F657368656c6c2d6576616c2d636f6d6d616e64_eshell_eval_command_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-cmd-40a07574-cc16f19e.eln #99 0x00005e3281c6baca in Ffuncall () #100 0x00007b975fd24f81 in F657368656c6c2d73656e642d696e707574_eshell_send_input_0 () at /home/steb/.config/emacs/eln-cache/30.0.50-227e13ca/esh-mode-29140b27-601e69ac.eln #101 0x00005e3281c6baca in Ffuncall () #102 0x00005e3281c5da22 in Ffuncall_interactively () #103 0x00005e3281c6baca in Ffuncall () #104 0x00005e3281c6e9e3 in Fcall_interactively () #105 0x00007b976156c8a5 in F636f6d6d616e642d65786563757465_command_execute_0 () at /usr/bin/../lib/emacs/30.0.50/native-lisp/30.0.50-227e13ca/preloaded/simple-fab5b0cf-c39c6ea4.eln #106 0x00005e3281c6baca in Ffuncall () #107 0x00005e3281bce0c1 in command_loop_1.lto_priv () #108 0x00005e3281c67037 in internal_condition_case () #109 0x00005e3281bcbeae in command_loop_2 () #110 0x00005e3281c66f7a in internal_catch () #111 0x00005e3281bcdc03 in command_loop.lto_priv () #112 0x00005e3281d4f1eb in recursive_edit_1.isra () #113 0x00005e3281bcf980 in Frecursive_edit () #114 0x00005e3281a9d1ea in main ()
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 05:15:02 GMT) Full text and rfc822 format available.Message #8 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: Acknowledgement (30.0.50; Spin in delete-region/interval_deletion_adjustment) Date: Wed, 12 Jun 2024 22:14:49 -0700
I just ran into this bug with jinx calling `next-single-char-property-change` and hanging forever. NOTE: I last compiled Emacs on the 8th, so the issue must have been introduced some time between now and then.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 05:50:02 GMT) Full text and rfc822 format available.Message #11 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Steven Allen <steven <at> stebalien.com> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Date: Thu, 13 Jun 2024 08:49:35 +0300
> Date: Wed, 12 Jun 2024 12:20:49 -0700 > From: Steven Allen via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> > > After rebuilding today, enabling the eshell-tramp module and calling > sudo is causing a `delete-region` subcall (presumably from within > `tramp-wait-for-output`?) to spin within `interval_deletion_adjustment` > (or it might be repeatedly calling it?). > > NOTE: this happens after authentication. > > To reproduce: > > 1. `emacs -Q` > 2. `M-x eval-expression RET (require 'eshell) RET` > 3. `M-x eval-expression RET (add-to-list 'eshell-modules-list 'eshell-tramp)`. > 4. `M-x eshell` > 5. `sudo /usr/bin/echo` > 6. Authenticate, press enter, and watch Emacs lock up and go to 100% CPU usage. > > > I've collected two backtraces: one with native compilation > (with-native-comp.txt) and one after re-evaluating (with-eval.txt) the > appropriate files (tramp-sh.el, tramp.el) to rule out compilation > issues. See attached. Thanks, but please also start GDB from the Emacs src directory (or type "source /path/to/emacs/src/.gdbinit" after starting GDB), and show Lisp backtrace produced together with the C backtrace. This will make it easier to analyze the relevant Lisp code -- all those Ffuncall and Fapply calls will show the Lisp symbols they call.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 05:53:02 GMT) Full text and rfc822 format available.Message #14 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Steven Allen <steven <at> stebalien.com> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 08:52:42 +0300
> Date: Wed, 12 Jun 2024 22:14:49 -0700 > From: Steven Allen via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> > > > I just ran into this bug with jinx calling > `next-single-char-property-change` and hanging forever. > > NOTE: I last compiled Emacs on the 8th, so the issue must have been > introduced some time between now and then. Yes, please update from Git and try again. There were a couple of bugs fixed meanwhile which could explain what you see.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 15:33:01 GMT) Full text and rfc822 format available.Message #17 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 08:32:14 -0700
> Yes, please update from Git and try again. There were a couple of > bugs fixed meanwhile which could explain what you see. Ah, no, I mean the bug was introduced between the 8th and the 12th. Between: - e2527dd9fd376b15d2f59ae440858b442b069577 (8th) - 6893c327e982528fdc93e3a956a4b6830a09ea3f (12th)
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 15:54:01 GMT) Full text and rfc822 format available.Message #20 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Steven Allen <steven <at> stebalien.com>, Jim Porter <jporterbugs <at> gmail.com> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 18:52:42 +0300
> From: Steven Allen <steven <at> stebalien.com> > Cc: 71525 <at> debbugs.gnu.org > Date: Thu, 13 Jun 2024 08:32:14 -0700 > > > > Yes, please update from Git and try again. There were a couple of > > bugs fixed meanwhile which could explain what you see. > > Ah, no, I mean the bug was introduced between the 8th and the 12th. > Between: > > - e2527dd9fd376b15d2f59ae440858b442b069577 (8th) > - 6893c327e982528fdc93e3a956a4b6830a09ea3f (12th) I see a couple of Eshell-related changes, but no obvious suspects. Can someone please reproduce this and post a detailed backtrace, including Lisp backtrace? Jim, are you looking into this?
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 16:01:02 GMT) Full text and rfc822 format available.Message #23 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Eli Zaretskii <eliz <at> gnu.org>, Jim Porter <jporterbugs <at> gmail.com> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 09:00:33 -0700
Eli Zaretskii <eliz <at> gnu.org> writes: > I see a couple of Eshell-related changes, but no obvious suspects. > > Can someone please reproduce this and post a detailed backtrace, > including Lisp backtrace? Jim, are you looking into this? It's hanging in the C code, not lisp. I believe the issue is: https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00241.html So I'm trying that patch now. If that doesn't work, I'll produce a backtrace sometime later today.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 16:07:01 GMT) Full text and rfc822 format available.Message #26 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Eli Zaretskii <eliz <at> gnu.org>, Jim Porter <jporterbugs <at> gmail.com> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 09:06:07 -0700
Steven Allen <steven <at> stebalien.com> writes: > Eli Zaretskii <eliz <at> gnu.org> writes: >> I see a couple of Eshell-related changes, but no obvious suspects. >> >> Can someone please reproduce this and post a detailed backtrace, >> including Lisp backtrace? Jim, are you looking into this? > > It's hanging in the C code, not lisp. I believe the issue is: > > https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00241.html > > So I'm trying that patch now. > > If that doesn't work, I'll produce a backtrace sometime later today. I can confirm that the linked patch fixes the issue. Would you still like me to produce a backtrace?
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 16:32:02 GMT) Full text and rfc822 format available.Message #29 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Steven Allen <steven <at> stebalien.com> Cc: jporterbugs <at> gmail.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 19:31:07 +0300
> From: Steven Allen <steven <at> stebalien.com> > Cc: 71525 <at> debbugs.gnu.org > Date: Thu, 13 Jun 2024 09:06:07 -0700 > > > Steven Allen <steven <at> stebalien.com> writes: > > Eli Zaretskii <eliz <at> gnu.org> writes: > >> I see a couple of Eshell-related changes, but no obvious suspects. > >> > >> Can someone please reproduce this and post a detailed backtrace, > >> including Lisp backtrace? Jim, are you looking into this? > > > > It's hanging in the C code, not lisp. I believe the issue is: > > > > https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00241.html > > > > So I'm trying that patch now. > > > > If that doesn't work, I'll produce a backtrace sometime later today. > > I can confirm that the linked patch fixes the issue. Would you still > like me to produce a backtrace? No need, thanks. That issue is already on someone's table.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 19:20:01 GMT) Full text and rfc822 format available.Message #32 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Jim Porter <jporterbugs <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org>, Steven Allen <steven <at> stebalien.com> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 12:18:03 -0700
On 6/13/2024 8:52 AM, Eli Zaretskii wrote: > Can someone please reproduce this and post a detailed backtrace, > including Lisp backtrace? Jim, are you looking into this? It sounds like we've found the culprit, but I am tracking this and can help fix/update Eshell if that's the way we decide to go. (I haven't read through all of bug#66020 yet so I don't fully understand all of the changes there, and can't yet say where the fix should be.)
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 19:43:02 GMT) Full text and rfc822 format available.Message #35 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Jim Porter <jporterbugs <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org> Cc: 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Thu, 13 Jun 2024 12:42:02 -0700
Jim Porter <jporterbugs <at> gmail.com> writes: > It sounds like we've found the culprit, but I am tracking this and can > help fix/update Eshell if that's the way we decide to go. (I haven't > read through all of bug#66020 yet so I don't fully understand all of the > changes there, and can't yet say where the fix should be.) From what I can tell, it's not Eshell, just triggered by Eshell. It appears that Emacs locks up _inside_ the C code and never leaves (not even `C-g` works). I believe I reproduced this once with `jinx` calling `next-single-char-property-change` in a non-eshell buffer. At the very least, it locked up in the same way (right after I tried to delete a buffer). But I'm not sure how that would have interacted with the process output code.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 21:48:01 GMT) Full text and rfc822 format available.Message #38 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Dmitry Gutov <dmitry <at> gutov.dev> To: Eli Zaretskii <eliz <at> gnu.org>, Steven Allen <steven <at> stebalien.com> Cc: jporterbugs <at> gmail.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 00:47:40 +0300
On 13/06/2024 19:31, Eli Zaretskii wrote: >> From: Steven Allen<steven <at> stebalien.com> >> Cc:71525 <at> debbugs.gnu.org >> Date: Thu, 13 Jun 2024 09:06:07 -0700 >> >> >> Steven Allen<steven <at> stebalien.com> writes: >>> Eli Zaretskii<eliz <at> gnu.org> writes: >>>> I see a couple of Eshell-related changes, but no obvious suspects. >>>> >>>> Can someone please reproduce this and post a detailed backtrace, >>>> including Lisp backtrace? Jim, are you looking into this? >>> It's hanging in the C code, not lisp. I believe the issue is: >>> >>> https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00241.html >>> >>> So I'm trying that patch now. >>> >>> If that doesn't work, I'll produce a backtrace sometime later today. >> I can confirm that the linked patch fixes the issue. Would you still >> like me to produce a backtrace? > No need, thanks. That issue is already on someone's table. I think I see it now. The thing is, decode_coding_c_string already calls adjust_markers_for_insert through decode_coding_object->decode_coding->produce_chars->insert_from_gap And the extra call moves the markers too far. Unfortunately, it's called with BEFORE_MARKERS=nil, and the above call chain makes it difficult to pass through the extra argument. Perhaps we should do this? diff --git a/src/process.c b/src/process.c index eb526311c53..3c6cbe9b188 100644 --- a/src/process.c +++ b/src/process.c @@ -6423,9 +6423,17 @@ read_and_insert_process_output (struct Lisp_Process *p, char *buf, specbind (Qinhibit_modification_hooks, Qt); decode_coding_c_string (process_coding, (unsigned char *) buf, nread, curbuf); - adjust_markers_for_insert (PT, PT_BYTE, - PT + process_coding->produced_char, - PT_BYTE + process_coding->produced, true); + /* The previous call adjusts the markers, except for those + exactly at PT (it inserts with BEFORE_MARKERS=nil). */ + struct Lisp_Marker *m; + for (m = BUF_MARKERS (current_buffer); m; m = m->next) + { + if (m->bytepos == PT_BYTE) + { + m->bytepos = PT_BYTE + process_coding->produced; + m->charpos = PT + process_coding->produced_char; + } + } unbind_to (count1, Qnil); read_process_output_set_last_coding_system (p, process_coding); That doesn't adjust the overlays, however (the adjust_overlays_for_insert call inside adjust_markers_for_insert). And doing the same trick with them seems more difficult.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Thu, 13 Jun 2024 23:42:01 GMT) Full text and rfc822 format available.Message #41 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Dmitry Gutov <dmitry <at> gutov.dev> To: Eli Zaretskii <eliz <at> gnu.org>, Steven Allen <steven <at> stebalien.com> Cc: jporterbugs <at> gmail.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 02:41:15 +0300
[Message part 1 (text/plain, inline)]
On 14/06/2024 00:47, Dmitry Gutov wrote: > The thing is, decode_coding_c_string already calls > adjust_markers_for_insert through > > decode_coding_object->decode_coding->produce_chars->insert_from_gap > > And the extra call moves the markers too far. > > Unfortunately, it's called with BEFORE_MARKERS=nil, and the above call > chain makes it difficult to pass through the extra argument. We can do it through the coding_system structure, though. See attached. It fixes the freezes in my testing. It seems like the least invasive possible fix, but better suggestions welcome.
[dst_before_markers.diff (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Fri, 14 Jun 2024 07:14:02 GMT) Full text and rfc822 format available.Message #44 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Dmitry Gutov <dmitry <at> gutov.dev> Cc: jporterbugs <at> gmail.com, steven <at> stebalien.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 10:13:30 +0300
> Date: Fri, 14 Jun 2024 02:41:15 +0300 > From: Dmitry Gutov <dmitry <at> gutov.dev> > Cc: jporterbugs <at> gmail.com, 71525 <at> debbugs.gnu.org > > On 14/06/2024 00:47, Dmitry Gutov wrote: > > The thing is, decode_coding_c_string already calls > > adjust_markers_for_insert through > > > > decode_coding_object->decode_coding->produce_chars->insert_from_gap > > > > And the extra call moves the markers too far. > > > > Unfortunately, it's called with BEFORE_MARKERS=nil, and the above call > > chain makes it difficult to pass through the extra argument. > > We can do it through the coding_system structure, though. > > See attached. It fixes the freezes in my testing. > > It seems like the least invasive possible fix, but better suggestions > welcome. This is the correct approach, IMO. But see some minor comments below. > @@ -7814,7 +7815,7 @@ encode_coding (struct coding_system *coding) > } while (coding->consumed_char < coding->src_chars); > > if (BUFFERP (coding->dst_object) && coding->produced_char > 0) > - insert_from_gap (coding->produced_char, coding->produced, 0); > + insert_from_gap (coding->produced_char, coding->produced, 0, coding->dst_before_markers); Here (and elsewhere in the patch) too-long lines should be broken in two. > + /* True to insert before markers in the DST_OBJECT buffer. */ > + bool_bf dst_before_markers : 1; I'd call this 'insert_before_markers' instead. Please also add a detailed comment here explaining what this flag is for and where and why used. > /* Insert a sequence of NCHARS chars which occupy NBYTES bytes > starting at GAP_END_ADDR - NBYTES (if text_at_gap_tail) and at > - GPT_ADDR (if not text_at_gap_tail). */ > + GPT_ADDR (if not text_at_gap_tail). > + > + If BEFORE_MARKERS is true, insert before markers. */ This commentary should also mention process.c as the single caller using this facility in unconventional ways. > extern void insert_from_gap_1 (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail); > -extern void insert_from_gap (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail); > +extern void insert_from_gap (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail, > + bool before_markers); We don't have names of arguments in prototypes, only their types. (Yes, it means the original prototype, and the ones around it, were also wrong.) > --- a/src/process.c > +++ b/src/process.c > @@ -6415,6 +6415,7 @@ read_and_insert_process_output (struct Lisp_Process *p, char *buf, > specpdl_ref count1 = SPECPDL_INDEX (); > > XSETBUFFER (curbuf, current_buffer); > + process_coding->dst_before_markers = true; Please also add a comment here explaining why this is done. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Fri, 14 Jun 2024 16:52:02 GMT) Full text and rfc822 format available.Message #47 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Dmitry Gutov <dmitry <at> gutov.dev> To: Eli Zaretskii <eliz <at> gnu.org> Cc: jporterbugs <at> gmail.com, steven <at> stebalien.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 19:51:44 +0300
On 14/06/2024 10:13, Eli Zaretskii wrote: > This is the correct approach, IMO. But see some minor comments below. > >> @@ -7814,7 +7815,7 @@ encode_coding (struct coding_system *coding) >> } while (coding->consumed_char < coding->src_chars); >> >> if (BUFFERP (coding->dst_object) && coding->produced_char > 0) >> - insert_from_gap (coding->produced_char, coding->produced, 0); >> + insert_from_gap (coding->produced_char, coding->produced, 0, coding->dst_before_markers); > Here (and elsewhere in the patch) too-long lines should be broken in > two. > >> + /* True to insert before markers in the DST_OBJECT buffer. */ >> + bool_bf dst_before_markers : 1; > I'd call this 'insert_before_markers' instead. Please also add a > detailed comment here explaining what this flag is for and where and > why used. > >> /* Insert a sequence of NCHARS chars which occupy NBYTES bytes >> starting at GAP_END_ADDR - NBYTES (if text_at_gap_tail) and at >> - GPT_ADDR (if not text_at_gap_tail). */ >> + GPT_ADDR (if not text_at_gap_tail). >> + >> + If BEFORE_MARKERS is true, insert before markers. */ > This commentary should also mention process.c as the single caller > using this facility in unconventional ways. > >> extern void insert_from_gap_1 (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail); >> -extern void insert_from_gap (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail); >> +extern void insert_from_gap (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail, >> + bool before_markers); > We don't have names of arguments in prototypes, only their types. > (Yes, it means the original prototype, and the ones around it, were > also wrong.) > >> --- a/src/process.c >> +++ b/src/process.c >> @@ -6415,6 +6415,7 @@ read_and_insert_process_output (struct Lisp_Process *p, char *buf, >> specpdl_ref count1 = SPECPDL_INDEX (); >> >> XSETBUFFER (curbuf, current_buffer); >> + process_coding->dst_before_markers = true; > Please also add a comment here explaining why this is done. Thanks! I've pushed the amended patch to master, please see how you like the result.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Fri, 14 Jun 2024 18:16:01 GMT) Full text and rfc822 format available.Message #50 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Steven Allen <steven <at> stebalien.com> To: Dmitry Gutov <dmitry <at> gutov.dev>, Eli Zaretskii <eliz <at> gnu.org> Cc: jporterbugs <at> gmail.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 11:14:55 -0700
Dmitry Gutov <dmitry <at> gutov.dev> writes: > Thanks! I've pushed the amended patch to master, please see how you like > the result. I can't comment on the patch but I can confirm that it fixes the bug (or, at least, the one I observed).
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Fri, 14 Jun 2024 18:18:02 GMT) Full text and rfc822 format available.Message #53 received at 71525 <at> debbugs.gnu.org (full text, mbox):
From: Dmitry Gutov <dmitry <at> gutov.dev> To: Eli Zaretskii <eliz <at> gnu.org> Cc: jporterbugs <at> gmail.com, steven <at> stebalien.com, 71525 <at> debbugs.gnu.org Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 21:17:22 +0300
On 14/06/2024 10:13, Eli Zaretskii wrote: >> /* Insert a sequence of NCHARS chars which occupy NBYTES bytes >> starting at GAP_END_ADDR - NBYTES (if text_at_gap_tail) and at >> - GPT_ADDR (if not text_at_gap_tail). */ >> + GPT_ADDR (if not text_at_gap_tail). >> + >> + If BEFORE_MARKERS is true, insert before markers. */ > This commentary should also mention process.c as the single caller > using this facility in unconventional ways. Also note that I did make some effort to make the field coding->insert_before_markers used consistently: in the changeset, it's not just obeyed on the code path that decode_coding_c_string goes through - it's used anywhere where insert_from_gap is called and a coding_system structure is available - e.g. in encode_coding. Also in decode_coding_gap, but that one seems to only have one caller (insert-file-contents), so that choice is moot. Something else I've noticed (a bit off topic): insert_from_gap_1's comments says that it "does not invalidate any cache, nor update any markers, nor record any buffer modification information of any sort", but then it calls treesit_record_change when available. Not sure we need to change that, but maybe we should update the comment, at least.
Eli Zaretskii <eliz <at> gnu.org>
:Steven Allen <steven <at> stebalien.com>
:Message #58 received at 71525-done <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Dmitry Gutov <dmitry <at> gutov.dev> Cc: jporterbugs <at> gmail.com, 71525-done <at> debbugs.gnu.org, steven <at> stebalien.com Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 21:46:23 +0300
> Date: Fri, 14 Jun 2024 21:17:22 +0300 > Cc: steven <at> stebalien.com, jporterbugs <at> gmail.com, 71525 <at> debbugs.gnu.org > From: Dmitry Gutov <dmitry <at> gutov.dev> > > On 14/06/2024 10:13, Eli Zaretskii wrote: > >> /* Insert a sequence of NCHARS chars which occupy NBYTES bytes > >> starting at GAP_END_ADDR - NBYTES (if text_at_gap_tail) and at > >> - GPT_ADDR (if not text_at_gap_tail). */ > >> + GPT_ADDR (if not text_at_gap_tail). > >> + > >> + If BEFORE_MARKERS is true, insert before markers. */ > > This commentary should also mention process.c as the single caller > > using this facility in unconventional ways. > > Also note that I did make some effort to make the field > coding->insert_before_markers used consistently: in the changeset, it's > not just obeyed on the code path that decode_coding_c_string goes > through - it's used anywhere where insert_from_gap is called and a > coding_system structure is available - e.g. in encode_coding. > > Also in decode_coding_gap, but that one seems to only have one caller > (insert-file-contents), so that choice is moot. > > Something else I've noticed (a bit off topic): insert_from_gap_1's > comments says that it "does not invalidate any cache, nor update any > markers, nor record any buffer modification information of any sort", > but then it calls treesit_record_change when available. Not sure we need > to change that, but maybe we should update the comment, at least. Thanks, done. I think we can now close this bug.
bug-gnu-emacs <at> gnu.org
:bug#71525
; Package emacs
.
(Fri, 14 Jun 2024 19:14:02 GMT) Full text and rfc822 format available.Message #61 received at 71525-done <at> debbugs.gnu.org (full text, mbox):
From: Dmitry Gutov <dmitry <at> gutov.dev> To: Eli Zaretskii <eliz <at> gnu.org> Cc: jporterbugs <at> gmail.com, 71525-done <at> debbugs.gnu.org, steven <at> stebalien.com Subject: Re: bug#71525: 30.0.50; Spin in delete-region/interval_deletion_adjustment Spin in delete-region/interval_deletion_adjustment) Date: Fri, 14 Jun 2024 22:13:37 +0300
On 14/06/2024 21:46, Eli Zaretskii wrote: >> Date: Fri, 14 Jun 2024 21:17:22 +0300 >> Cc:steven <at> stebalien.com,jporterbugs <at> gmail.com,71525 <at> debbugs.gnu.org >> From: Dmitry Gutov<dmitry <at> gutov.dev> >> >> On 14/06/2024 10:13, Eli Zaretskii wrote: >>>> /* Insert a sequence of NCHARS chars which occupy NBYTES bytes >>>> starting at GAP_END_ADDR - NBYTES (if text_at_gap_tail) and at >>>> - GPT_ADDR (if not text_at_gap_tail). */ >>>> + GPT_ADDR (if not text_at_gap_tail). >>>> + >>>> + If BEFORE_MARKERS is true, insert before markers. */ >>> This commentary should also mention process.c as the single caller >>> using this facility in unconventional ways. >> Also note that I did make some effort to make the field >> coding->insert_before_markers used consistently: in the changeset, it's >> not just obeyed on the code path that decode_coding_c_string goes >> through - it's used anywhere where insert_from_gap is called and a >> coding_system structure is available - e.g. in encode_coding. >> >> Also in decode_coding_gap, but that one seems to only have one caller >> (insert-file-contents), so that choice is moot. >> >> Something else I've noticed (a bit off topic): insert_from_gap_1's >> comments says that it "does not invalidate any cache, nor update any >> markers, nor record any buffer modification information of any sort", >> but then it calls treesit_record_change when available. Not sure we need >> to change that, but maybe we should update the comment, at least. > Thanks, done. > > I think we can now close this bug. Thanks everyone! I think we've now crash-debugged every new code path. ;-)
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sat, 13 Jul 2024 11:24:07 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.