From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Sean McAfee Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2024 20:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74438@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.173204792532200 (code B ref -1); Tue, 19 Nov 2024 20:26:02 +0000 Received: (at submit) by debbugs.gnu.org; 19 Nov 2024 20:25:25 +0000 Received: from localhost ([127.0.0.1]:44168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDUmp-0008NF-9h for submit@debbugs.gnu.org; Tue, 19 Nov 2024 15:25:25 -0500 Received: from lists.gnu.org ([209.51.188.17]:51426) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDUml-0008N6-EU for submit@debbugs.gnu.org; Tue, 19 Nov 2024 15:25:21 -0500 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 1tDUmj-0004bm-Jw for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2024 15:25:17 -0500 Received: from mail-yw1-x1132.google.com ([2607:f8b0:4864:20::1132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tDUma-0003up-8j for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2024 15:25:11 -0500 Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-6e2e41bd08bso41645617b3.2 for ; Tue, 19 Nov 2024 12:24:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732047895; x=1732652695; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=1/ssmLKstO4X2fKuZ1P90HRDxGe0+wyQGQ2FkB2malc=; b=ldPLb0TgqhRPS1+gVx/ywEZHlE411aeYmqyMdboyXcl8eIDIaHYoiUlZ+hTLcn++am 6krd5y8+8SmmZey2Ej4pob5BqwkQIHc0MCNVI9I/mtiTUwE7WyoVyB/JxZmFDQ4o6lgj UXkDdAXpyV8PtmbccCnfyXF4q0W9wI1SdlcquuPl+gSLok1gbIeDAvD0rRMLDiMoXUf6 npiFKTfHws41EY8Q5/jU2LRhGtkIDlT6rDkTFBeAGdWePs3aiIwoPXftcKXvjr2EbnZn 2+7GoYWXVG5uXnuaIwZwqCxlmWQW3VW4ZAkEpFIMsIXSSEaWmJKVGa0BofzPwhCOPvvX o7Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732047895; x=1732652695; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=1/ssmLKstO4X2fKuZ1P90HRDxGe0+wyQGQ2FkB2malc=; b=s61HkGTrRxmPw4W0+DV39U/i+R7kWgKLrz+HpxbF9I4z8vd+AHrrYUAEiC0nOKyAbp Ze67ISWmCs/cH55TBR7VAKyP68eHujzfmu4Nbsir9OJHh/bAsZipWmarOk84BpOFDUAr MsYJeX1IU+iwsTp1/wJNAfPoq7c4jt67jde3ixo3oN+I6KKXbbxpzdTT2bJlbhXfYeFD vEEW33YU/xZxlEd+egA7X/9hA/BW2S5CHpxlHoBEoltDXiMLSIl9KOjdzLS/fEUywt4y KCn4tRlbhh+Hi9YhuiDDfyNaIp5kYOn2PyCSQifJgHPOZZpiFNIqWZTYH0p0bc+hHz0e zdzw== X-Gm-Message-State: AOJu0YwnKIT9STIgMq5KfurW2YROwcOwHPcOOMzGJ83ACkeHG7qwKNCu OeuqQe8mn1ySJlpSA+NvwCrkMIEjeFZ0Yc1tsV+WmEoDvg/OFIvc5MrN64+gS0HmTZsWQ+HxZN5 UKDhj11b89ft44xI7e8ddpKocisKTJBj7+KzSfg== X-Google-Smtp-Source: AGHT+IHLDvf6vmBpHYDrOj8ImMjxcRDC5LNtJ0OXWq1ZJ+6VgsIjcPB8cahjuZPRsWl6SUEhC1HcWVHliWrx0A0UnYw= X-Received: by 2002:a05:690c:3391:b0:6e3:bbc:338c with SMTP id 00721157ae682-6eebd0e6530mr2906977b3.6.1732047894137; Tue, 19 Nov 2024 12:24:54 -0800 (PST) MIME-Version: 1.0 From: Sean McAfee Date: Tue, 19 Nov 2024 12:24:43 -0800 Message-ID: Content-Type: multipart/alternative; boundary="00000000000076d493062749d356" Received-SPF: pass client-ip=2607:f8b0:4864:20::1132; envelope-from=eefacm@gmail.com; helo=mail-yw1-x1132.google.com 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.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: -2.3 (--) --00000000000076d493062749d356 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Starting from emacs -Q: - Go to a new buffer named "foo". - Set the mark with C-SPC. - Go to a new buffer named "bar". - Set the mark with C-SPC. - Go back to buffer foo. - Set the mark with C-SPC. - Check the value of the global-mark-ring variable, as with C-h v or giving its name to the eval-expression command. The first marker in the ring is the one in buffer bar, not in buffer foo, even though buffer foo is where the mark was most recently set. This behavior contradicts what is described here: https://www.gnu.org/software/emacs/manual/html_node/emacs/Global-Mark-Ring.= html To wit: "Each time you set a mark, this is recorded in the global mark ring in addition to the current buffer=E2=80=99s own mark ring, if you have switched buffers since the previous mark setting." I've tracked the reason for this to the push-mark-command function, which does not push the mark unless it's not at the same place as point, or if it's given a true argument. set-mark-command calls push-mark-command, but passes nil to it unless, puzzlingly, the command's name is not "set-mark-command". For a bit of background, what I want to do is to set the mark at the beginning of a sexp (actually JSON) in one buffer, then go to the start of another sexp in a different buffer, and run a command that compares the two sexps, using the marker at the front of the global mark ring to find the first sexp. But this is unreliable since setting the mark does not necessarily update the global mark ring. Workarounds I've considered include: - Call push-mark-command manually with M-x, or bind it to a key sequence, and call it with a prefix argument. - Alias set-mark-command as a new command with a different name, and use that instead. - Use a custom marker, updated from a custom command. Obviously, none of these are as convenient as using the global mark ring. And in any event, there's still a bug in Emacs, even if only a documentation bug. In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-08-16 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.7.1 Configured using: 'configure --with-ns '--enable-locallisppath=3D/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=3D-DFD_SETSIZE=3D10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=3Dno' Configured features: ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: recentf-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t tracking-mode: t volatile-highlights-mode: t projectile-mode: t elisp-slime-nav-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t shell-dirtrack-mode: t server-mode: t global-flycheck-mode: t flycheck-mode: t minibuffer-depth-indicate-mode: t ido-vertical-mode: t global-undo-tree-mode: t undo-tree-mode: t paredit-mode: t override-global-mode: t desktop-save-mode: t winner-mode: t electric-pair-mode: t savehist-mode: t ido-everywhere: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-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: ~/emacs/copilot.el/copilot hides ~/emacs/copilot ~/emacs/inf-ruby/inf-ruby hides /Users/sean/.emacs.d/elpa/inf-ruby-20240925.49/inf-ruby /Users/sean/.emacs.d/elpa/transient-20241023.1537/transient hides /Applications/Emacs 3.app/Contents/Resources/lisp/transient /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-jump /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-ensure /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-core /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-delight /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-diminish /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-bind-key /Users/sean/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/bind-key /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-lint /Users/sean/.emacs.d/elpa/flim-20240221.1353/sasl hides /Applications/Emacs 3.app/Contents/Resources/lisp/net/sasl /Users/sean/.emacs.d/elpa/seq-2.24/seq hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/seq /Users/sean/.emacs.d/elpa/eldoc-1.15.0/eldoc hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/eldoc Features: (shadow mail-extr emacsbug japan-util kkc ja-dic-utl quail url-cache pulse vc-annotate expand-region subword-mode-expansions text-mode-expansions cc-mode-expansions the-org-mode-expansions ruby-mode-expansions python-el-fgallina-expansions js2-mode-expansions js-mode-expansions html-mode-expansions css-mode-expansions er-basic-expansions expand-region-core expand-region-custom mc-edit-lines goto-addr ag find-dired tabify org-datetree org-capture sh-script display-line-numbers delsel tramp-sh completion docker-tramp tramp-cache tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat elnode db web time-stamp fakir dotassoc kv noflet cl-indent cl-print magit-bookmark bookmark shortdoc help-fns radix-tree recentf tree-widget misearch multi-isearch executable vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view bug-reference magit-extras face-remap emojify apropos tar-mode arc-mode archive-mode ht network-stream slack slack-company slack-unread slack-websocket slack-thread-event slack-room-event slack-star-event slack-reaction-event slack-reply-event slack-typing slack-slash-commands slack-message-event slack-event slack-dialog-edit-element-buffer slack-dialog-buffer slack-dialog slack-stars-buffer slack-search-result-buffer slack-thread-message-compose-buffer slack-file-list-buffer slack-file-info-buffer slack-all-threads-buffer slack-message-buffer slack-user-profile-buffer slack-pinned-items-buffer slack-pinned-item slack-thread-message-buffer slack-room-info-buffer slack-room-buffer slack-message-share-buffer slack-message-edit-buffer slack-room-message-compose-buffer slack-message-compose-buffer slack-message-attachment-preview-buffer slack-action slack-star slack-reminder slack-search slack-message-reaction slack-message-editor slack-message-sender slack-message-notification alert log4e notifications gntp slack-buffer slack-message-formatter slack-thread slack-im slack-channel slack-group slack-conversations slack-create-message slack-attachment slack-selectable slack-bot-message slack-user-message slack-file slack-message slack-message-faces slack-unescape slack-block slack-mrkdwn slack-usergroup slack-reaction slack-modeline slack-room slack-counts slack-user slack-bot slack-dnd-status slack-emoji slack-image slack-request slack-log lui flyspell ispell slack-team slack-team-ws slack-util websocket diary-lib diary-loaddefs json-mode json-snatcher css-mode color sql view java-ts-mode yaml-ts-mode restclient smartparens-python python cap-words superword subword smartparens-scala scala-mode scala-mode-prettify-symbols scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent scala-mode-paragraph scala-mode-syntax scala-mode-lib kotlin-mode kotlin-mode-indent kotlin-mode-lexer org-bullets oc-basic org-element org-persist org-id org-refile avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi smartparens-org org org-macro org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp org-table org-loaddefs cal-menu calendar cal-loaddefs ruby-ts-mode gnus-dired perl6-detect copilot editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch jsonrpc ert ewoc debug backtrace warnings emms-idapi-browser emms-idapi emms-idapi-musicbrainz emms-mpris dbus emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native emms-info-native-spc emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv emms-playing-time emms-info emms-later-do emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate emms-setup emms emms-compat scribd-sentry scribd-airflow scribd-github request scribd-devkube scribd-aws ob-ruby ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat org-version org-macs hmac csv let-alist smartparens-config smartparens-javascript smartparens-text smartparens-ruby smartparens-html smartparens-c smartparens loadhist robe url-http url-auth url-gw nsm inf-ruby ruby-mode smie git-link yasnippet git-timemachine vc-git whitespace dash-functional gnutls tracking shorten ibuf-macs chruby treesit-auto xref-js2 vc vc-dispatcher js2-mode js c-ts-common treesit cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dired-filter f dired-hacks-utils dired-aux dired-x shell-pop term disp-table ehelp beginend volatile-highlights iedit iedit-lib mc-hide-unmatched-lines-mode mc-mark-more tagedit s sgml-mode facemenu dom mc-cycle-cursors multiple-cursors-core rect dtrt-indent advice projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs elisp-slime-nav etags fileloop generator xref project magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff-mode git-commit log-edit message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor shell pcomplete server magit-mode transient benchmark magit-git magit-base magit-section format-spec cursor-sensor crm compat compat-30 ido-completing-read+ memoize cus-edit pp icons minibuf-eldef flycheck find-func diminish gnus nnheader gnus-util time-date mail-utils range mm-util mail-prsvr wid-edit autoinsert misc hl-line cus-load mb-depth ido-vertical-mode undo-tree diff ack compile text-property-search paredit edmacro kmacro dash cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core desktop frameset finder-inf winner elec-pair savehist hippie-exp comint ansi-osc ansi-color ring thingatpt ido cl company-autoloads counsel-autoloads csv-autoloads cyberpunk-theme-autoloads dired-filter-autoloads dired-launch-autoloads dired-ranger-autoloads dired-hacks-utils-autoloads docker-autoloads dtrt-indent-autoloads editorconfig-autoloads ein-autoloads anaphora-autoloads emms-autoloads enh-ruby-mode-autoloads expand-region-autoloads fix-word flycheck-autoloads folding-autoloads ghub-autoloads git-link-autoloads git-timemachine-autoloads epg rfc6068 epg-config gnu-elpa-keyring-update go-mode-autoloads helm-swoop-autoloads helm-autoloads helm-core-autoloads async-autoloads htmlize-autoloads ido-completing-read+-autoloads inf-ruby-autoloads json-mode-autoloads lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads magit-autoloads pcase magit-section-autoloads markdown-mode-autoloads multiple-cursors-autoloads paredit-autoloads pcre2el-autoloads pdf-tools-autoloads rx polymode-autoloads popup-autoloads projectile-autoloads protobuf-mode-autoloads sbt-mode-autoloads scala-mode-autoloads semi-autoloads flim-autoloads apel-autoloads shell-pop-autoloads log4e-autoloads circe-autoloads oauth2-autoloads smartparens-autoloads swift-mode-autoloads swiper-autoloads ivy-autoloads terraform-mode-autoloads hcl-mode-autoloads transient-autoloads treemacs-autoloads posframe-autoloads treepy-autoloads treesit-auto-autoloads volatile-highlights-autoloads dash-autoloads web-mode-autoloads wfnames-autoloads with-editor-autoloads info compat-autoloads xref-js2-autoloads js2-mode-autoloads yaml-mode-autoloads yasnippet-autoloads zenburn-theme-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 7653353 1099840) (symbols 48 86385 1) (strings 32 645539 137118) (string-bytes 1 21255905) (vectors 16 363777) (vector-slots 8 11459569 492070) (floats 8 4731 140) (intervals 56 408064 16183) (buffers 984 303)) --00000000000076d493062749d356 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Starting from emacs -Q:

- Go to a new buff= er named "foo".
- Set the mark with C-SPC.
- Go to a new bu= ffer named "bar".
- Set the mark with C-SPC.
- Go back to b= uffer foo.
- Set the mark with C-SPC.
- Check the value of the global= -mark-ring variable, as with C-h v
=C2=A0 or giving its name to the eval= -expression command.

The first marker in the ring is the one in buff= er bar, not in
buffer foo, even though buffer foo is where the mark was = most
recently set.=C2=A0 This behavior contradicts what is described her= e:

https://www.gnu.org/software/emacs/manual/html_n= ode/emacs/Global-Mark-Ring.html

To wit: "Each time you set = a mark, this is recorded in the global mark
ring in addition to the curr= ent buffer=E2=80=99s own mark ring, if you have
switched buffers since t= he previous mark setting."

I've tracked the reason for this= to the push-mark-command function,
which does not push the mark unless = it's not at the same place as point,
or if it's given a true arg= ument. =C2=A0set-mark-command calls
push-mark-command, but passes nil to= it unless, puzzlingly, the
command's name is not "set-mark-com= mand".

For a bit of background, what I want to = do is to set the mark at the
beginning of a sexp (actually JSON) in one = buffer, then go to the start
of another sexp in a different buffer, and = run a command that compares
the two sexps, using the marker at the front= of the global mark ring to
find the first sexp.=C2=A0 But this is unrel= iable since setting the mark does
not necessarily update the global mark= ring.=C2=A0 Workarounds I've
considered include:

- = Call push-mark-command manually with M-x, or bind it to a key
=C2=A0 seq= uence, and call it with a prefix argument.
- Alias set-mark-command as a= new command with a different name, and use
=C2=A0 that instead.
- Us= e a custom marker, updated from a custom command.

Obviously, none of= these are as convenient as using the global mark
ring.=C2=A0 And i= n any event, there's still a bug in Emacs, even if only a
doc= umentation bug.


In GNU Emacs 29.1 (build 1, aarch64= -apple-darwin21.6.0, NS
=C2=A0appkit-2113.60 Version 12.6.6 (Build 21G64= 6)) of 2023-08-16 built on
=C2=A0armbob.lan
Windowing system distribu= tor 'Apple', version 10.3.2487
System Description: =C2=A0macOS 1= 4.7.1

Configured using:
=C2=A0'configure --with-ns '--ena= ble-locallisppath=3D/Library/Application
=C2=A0Support/Emacs/${version}/= site-lisp:/Library/Application
=C2=A0Support/Emacs/site-lisp' --with= -modules 'CFLAGS=3D-DFD_SETSIZE=3D10000
=C2=A0-DDARWIN_UNLIMITED_SEL= ECT' --with-x-toolkit=3Dno'

Configured features:
ACL GLIB= GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER
PNG RSVG = SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB

Important = settings:
=C2=A0 value of $LANG: en_US.UTF-8
=C2=A0 locale-coding-sys= tem: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:=C2=A0 recentf-mode: t
=C2=A0 emms-mode-line-mode: t
=C2=A0 emms-pla= ying-time-display-mode: t
=C2=A0 emms-playing-time-mode: t
=C2=A0 tra= cking-mode: t
=C2=A0 volatile-highlights-mode: t
=C2=A0 projectile-mo= de: t
=C2=A0 elisp-slime-nav-mode: t
=C2=A0 global-git-commit-mode: t=
=C2=A0 magit-auto-revert-mode: t
=C2=A0 auto-revert-mode: t
=C2= =A0 shell-dirtrack-mode: t
=C2=A0 server-mode: t
=C2=A0 global-flyche= ck-mode: t
=C2=A0 flycheck-mode: t
=C2=A0 minibuffer-depth-indicate-m= ode: t
=C2=A0 ido-vertical-mode: t
=C2=A0 global-undo-tree-mode: t=C2=A0 undo-tree-mode: t
=C2=A0 paredit-mode: t
=C2=A0 override-glob= al-mode: t
=C2=A0 desktop-save-mode: t
=C2=A0 winner-mode: t
=C2= =A0 electric-pair-mode: t
=C2=A0 savehist-mode: t
=C2=A0 ido-everywhe= re: t
=C2=A0 tooltip-mode: t
=C2=A0 global-eldoc-mode: t
=C2=A0 el= doc-mode: t
=C2=A0 show-paren-mode: t
=C2=A0 electric-indent-mode: t<= br>=C2=A0 mouse-wheel-mode: t
=C2=A0 global-prettify-symbols-mode: t
= =C2=A0 prettify-symbols-mode: t
=C2=A0 menu-bar-mode: t
=C2=A0 file-n= ame-shadow-mode: t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-m= ode: t
=C2=A0 blink-cursor-mode: t
=C2=A0 line-number-mode: t
=C2= =A0 transient-mark-mode: t
=C2=A0 auto-composition-mode: t
=C2=A0 aut= o-encryption-mode: t
=C2=A0 auto-compression-mode: t

Load-path sh= adows:
~/emacs/copilot.el/copilot hides ~/emacs/copilot
~/emacs/inf-r= uby/inf-ruby hides /Users/sean/.emacs.d/elpa/inf-ruby-20240925.49/inf-ruby<= br>/Users/sean/.emacs.d/elpa/transient-20241023.1537/transient hides /Appli= cations/Emacs 3.= app/Contents/Resources/lisp/transient
/Users/sean/.emacs.d/elpa/use-= package-20230426.2324/use-package-jump hides /Applications/Emacs 3.app/C= ontents/Resources/lisp/use-package/use-package-jump
/Users/sean/.ema= cs.d/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/= Emacs 3.app/Contents/Resources/lisp/use-package/use-package-ensure=
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-core hi= des /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-pa= ckage-core
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-p= ackage-delight hides /Applications/Emacs 3.app/Contents/Resources/lis= p/use-package/use-package-delight
/Users/sean/.emacs.d/elpa/use-pack= age-20230426.2324/use-package-diminish hides /Applications/Emacs 3.a= pp/Contents/Resources/lisp/use-package/use-package-diminish
/Users/s= ean/.emacs.d/elpa/use-package-20230426.2324/use-package hides /Applications= /Emacs 3.app/Contents/Resources/lisp/use-package/use-package
/Users/se= an/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /Appl= ications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package= -bind-key
/Users/sean/.emacs.d/elpa/bind-key-20230203.2004/bind-key = hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/bind-key=
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hi= des /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-pa= ckage-lint
/Users/sean/.emacs.d/elpa/flim-20240221.1353/sasl hides /= Applications/Emacs 3.app/Contents/Resources/lisp/net/sasl
/Users/sean/.emacs.d/elpa/s= eq-2.24/seq hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/seq=
/Users/sean/.emacs.d/elpa/eldoc-1.15.0/eldoc hides /Applications/Emacs = 3.app/Con= tents/Resources/lisp/emacs-lisp/eldoc

Features:
(shadow mail-= extr emacsbug japan-util kkc ja-dic-utl quail url-cache
pulse vc-annotat= e expand-region subword-mode-expansions
text-mode-expansions cc-mode-exp= ansions the-org-mode-expansions
ruby-mode-expansions python-el-fgallina-= expansions js2-mode-expansions
js-mode-expansions html-mode-expansions c= ss-mode-expansions
er-basic-expansions expand-region-core expand-region-= custom
mc-edit-lines goto-addr ag find-dired tabify org-datetree org-cap= ture
sh-script display-line-numbers delsel tramp-sh completion docker-tr= amp
tramp-cache tramp tramp-loaddefs trampver tramp-integration files-x<= br>tramp-compat elnode db web time-stamp fakir dotassoc kv noflet cl-indent=
cl-print magit-bookmark bookmark shortdoc help-fns radix-tree recentftree-widget misearch multi-isearch executable vc-hg vc-bzr vc-src
vc-s= ccs vc-svn vc-cvs vc-rcs log-view bug-reference magit-extras
face-remap = emojify apropos tar-mode arc-mode archive-mode ht
network-stream slack s= lack-company slack-unread slack-websocket
slack-thread-event slack-room-= event slack-star-event
slack-reaction-event slack-reply-event slack-typi= ng slack-slash-commands
slack-message-event slack-event slack-dialog-edi= t-element-buffer
slack-dialog-buffer slack-dialog slack-stars-buffer
= slack-search-result-buffer slack-thread-message-compose-buffer
slack-fil= e-list-buffer slack-file-info-buffer slack-all-threads-buffer
slack-mess= age-buffer slack-user-profile-buffer slack-pinned-items-buffer
slack-pin= ned-item slack-thread-message-buffer slack-room-info-buffer
slack-room-b= uffer slack-message-share-buffer slack-message-edit-buffer
slack-room-me= ssage-compose-buffer slack-message-compose-buffer
slack-message-attachme= nt-preview-buffer slack-action slack-star
slack-reminder slack-search sl= ack-message-reaction slack-message-editor
slack-message-sender slack-mes= sage-notification alert log4e
notifications gntp slack-buffer slack-mess= age-formatter slack-thread
slack-im slack-channel slack-group slack-conv= ersations
slack-create-message slack-attachment slack-selectable slack-b= ot-message
slack-user-message slack-file slack-message slack-message-fac= es
slack-unescape slack-block slack-mrkdwn slack-usergroup slack-reactio= n
slack-modeline slack-room slack-counts slack-user slack-bot
slack-d= nd-status slack-emoji slack-image slack-request slack-log lui
flyspell i= spell slack-team slack-team-ws slack-util websocket diary-lib
diary-load= defs json-mode json-snatcher css-mode color sql view
java-ts-mode yaml-t= s-mode restclient smartparens-python python cap-words
superword subword = smartparens-scala scala-mode
scala-mode-prettify-symbols scala-mode-imen= u scala-mode-map
scala-mode-fontlock scala-mode-indent scala-mode-paragr= aph
scala-mode-syntax scala-mode-lib kotlin-mode kotlin-mode-indent
k= otlin-mode-lexer org-bullets oc-basic org-element org-persist org-id
org= -refile avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe
ol-irc = ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime
smime = dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group
gnus-undo gn= us-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7
nnoo parse-= time gnus-spec gnus-int gnus-range gnus-win ol-docview
doc-view jka-comp= r image-mode exif ol-bibtex bibtex iso8601 ol-bbdb
ol-w3m ol-doi org-lin= k-doi smartparens-org org org-macro org-pcomplete
org-list org-footnote = org-faces org-entities noutline outline
ob-emacs-lisp org-table org-load= defs cal-menu calendar cal-loaddefs
ruby-ts-mode gnus-dired perl6-detect= copilot editorconfig
editorconfig-core editorconfig-core-handle editorc= onfig-fnmatch jsonrpc
ert ewoc debug backtrace warnings emms-idapi-brows= er emms-idapi
emms-idapi-musicbrainz emms-mpris dbus emms-librefm-stream= xml
emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-historyemms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks
emms= -cue emms-mode-line-icon emms-browser sort emms-volume
emms-volume-sndio= ctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playl= ist-sort emms-last-played emms-player-xine
emms-player-mpd tq emms-lyric= s emms-url emms-streams emms-show-all
emms-tag-editor emms-tag-tracktag = emms-mark emms-mode-line emms-cache
emms-info-native emms-info-native-sp= c emms-info-native-mp3
emms-info-native-ogg emms-info-native-opus emms-i= nfo-native-flac
emms-info-native-vorbis bindat emms-info-exiftool emms-i= nfo-tinytag
emms-info-metaflac emms-info-opusinfo emms-info-ogginfo
e= mms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv
emms= -playing-time emms-info emms-later-do emms-player-mplayer
emms-player-si= mple emms-source-playlist emms-source-file locate
emms-setup emms emms-c= ompat scribd-sentry scribd-airflow scribd-github
request scribd-devkube = scribd-aws ob-ruby ob ob-tangle ol org-src ob-ref
ob-lob ob-table ob-exp= ob-comint ob-core org-cycle org-fold
org-fold-core ob-eval org-keys oc = org-compat org-version org-macs hmac
csv let-alist smartparens-config sm= artparens-javascript smartparens-text
smartparens-ruby smartparens-html = smartparens-c smartparens loadhist
robe url-http url-auth url-gw nsm inf= -ruby ruby-mode smie git-link
yasnippet git-timemachine vc-git whitespac= e dash-functional gnutls
tracking shorten ibuf-macs chruby treesit-auto = xref-js2 vc vc-dispatcher
js2-mode js c-ts-common treesit cc-mode cc-fon= ts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-def= s dired-filter f
dired-hacks-utils dired-aux dired-x shell-pop term disp= -table ehelp
beginend volatile-highlights iedit iedit-lib
mc-hide-unm= atched-lines-mode mc-mark-more tagedit s sgml-mode facemenu
dom mc-cycle= -cursors multiple-cursors-core rect dtrt-indent advice
projectile lisp-m= nt grep ibuf-ext ibuffer ibuffer-loaddefs
elisp-slime-nav etags fileloop= generator xref project magit-submodule
magit-blame magit-stash magit-re= flog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-re= mote magit-commit magit-sequence
magit-notes magit-worktree magit-tag ma= git-merge magit-branch
magit-reset magit-files magit-refs magit-status m= agit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-= diff smerge-mode
diff-mode git-commit log-edit message sendmail yank-med= ia puny dired
dired-loaddefs rfc822 mml mml-sec epa derived mm-decode mm= -bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbr= ev
gmm-utils mailheader pcvs-util add-log magit-core magit-autorevertautorevert filenotify magit-margin magit-transient magit-process
with-e= ditor shell pcomplete server magit-mode transient benchmark
magit-git ma= git-base magit-section format-spec cursor-sensor crm compat
compat-30 id= o-completing-read+ memoize cus-edit pp icons minibuf-eldef
flycheck find= -func diminish gnus nnheader gnus-util time-date mail-utils
range mm-uti= l mail-prsvr wid-edit autoinsert misc hl-line cus-load
mb-depth ido-vert= ical-mode undo-tree diff ack compile
text-property-search paredit edmacr= o kmacro dash cl-extra help-mode
use-package use-package-ensure use-pack= age-delight use-package-diminish
use-package-bind-key bind-key easy-mmod= e use-package-core desktop
frameset finder-inf winner elec-pair savehist= hippie-exp comint ansi-osc
ansi-color ring thingatpt ido cl company-aut= oloads counsel-autoloads
csv-autoloads cyberpunk-theme-autoloads dired-f= ilter-autoloads
dired-launch-autoloads dired-ranger-autoloads
dired-h= acks-utils-autoloads docker-autoloads dtrt-indent-autoloads
editorconfig= -autoloads ein-autoloads anaphora-autoloads emms-autoloads
enh-ruby-mode= -autoloads expand-region-autoloads fix-word
flycheck-autoloads folding-a= utoloads ghub-autoloads git-link-autoloads
git-timemachine-autoloads epg= rfc6068 epg-config gnu-elpa-keyring-update
go-mode-autoloads helm-swoop= -autoloads helm-autoloads
helm-core-autoloads async-autoloads htmlize-au= toloads
ido-completing-read+-autoloads inf-ruby-autoloads json-mode-auto= loads
lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads
ls= p-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads
mag= it-autoloads pcase magit-section-autoloads markdown-mode-autoloads
multi= ple-cursors-autoloads paredit-autoloads pcre2el-autoloads
pdf-tools-auto= loads rx polymode-autoloads popup-autoloads
projectile-autoloads protobu= f-mode-autoloads sbt-mode-autoloads
scala-mode-autoloads semi-autoloads = flim-autoloads apel-autoloads
shell-pop-autoloads log4e-autoloads circe-= autoloads oauth2-autoloads
smartparens-autoloads swift-mode-autoloads sw= iper-autoloads
ivy-autoloads terraform-mode-autoloads hcl-mode-autoloads=
transient-autoloads treemacs-autoloads posframe-autoloads
treepy-aut= oloads treesit-auto-autoloads volatile-highlights-autoloads
dash-autoloa= ds web-mode-autoloads wfnames-autoloads
with-editor-autoloads info compa= t-autoloads xref-js2-autoloads
js2-mode-autoloads yaml-mode-autoloads ya= snippet-autoloads
zenburn-theme-autoloads package browse-url url url-pro= xy url-privacy
url-expand url-methods url-history url-cookie generate-li= sp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source c= l-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt g= v
bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl toolt= ip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-ty= pe
elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util
term/= common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list r= eplace newcomment text-mode lisp-mode prog-mode register
page tab-bar me= nu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lo= ck font-lock syntax font-core term/tty-colors
frame minibuffer nadvice s= eq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc= -lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51= 932 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 the= me-loaddefs faces cus-face macroexp
files window text-properties overlay= sha1 md5 base64 format env
code-pages mule custom widget keymap hashtab= le-print-readable backquote
threads kqueue cocoa ns multi-tty make-netwo= rk-process emacs)

Memory information:
((conses 16 7653353 1099840= )
=C2=A0(symbols 48 86385 1)
=C2=A0(strings 32 645539 137118)
=C2= =A0(string-bytes 1 21255905)
=C2=A0(vectors 16 363777)
=C2=A0(vector-= slots 8 11459569 492070)
=C2=A0(floats 8 4731 140)
=C2=A0(intervals 5= 6 408064 16183)
=C2=A0(buffers 984 303))
--00000000000076d493062749d356-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Nikolay Kudryavtsev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Nov 2024 10:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Sean McAfee , 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173209799115581 (code B ref 74438); Wed, 20 Nov 2024 10:20:01 +0000 Received: (at 74438) by debbugs.gnu.org; 20 Nov 2024 10:19:51 +0000 Received: from localhost ([127.0.0.1]:45427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDhoM-00043F-L3 for submit@debbugs.gnu.org; Wed, 20 Nov 2024 05:19:51 -0500 Received: from mail-lf1-f48.google.com ([209.85.167.48]:45146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDhoK-000432-9y for 74438@debbugs.gnu.org; Wed, 20 Nov 2024 05:19:49 -0500 Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-539eb97f26aso7023561e87.2 for <74438@debbugs.gnu.org>; Wed, 20 Nov 2024 02:19:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732097922; x=1732702722; darn=debbugs.gnu.org; h=in-reply-to:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=RPpgcuuxYpylU9Yf14HnedaYnNwoyiDD6AitAM+mB+s=; b=T9rsx0N3flcerd1+6OFhgVYMLbAIrHk+Q6qLeRzuV5rBBWFg7yfeYzdYCoQ518diDO iW7gaTQZqQXDbi33ZiOVHdciy2EMGPxgsCTzcgwj0Go9G2zX5fr3kUYU3aPKIfzX4NbQ n0oHkNfV4TMYe/933/SoXbh9G2HffKkwY0YhiODd+dFYoNU3uhbTMBnQwmTP3WHUM/el 5nl/Qyzbb7X3lgern8RPHaoUZmNWLMjF4H+qdk1Siuzq9DZ43ZBSikRGmLBv77PQCTCh FYY7gXQWeJTmM6RW4UoBFZmqHTw7Uiwnz07LAs/If2qwXl8vcfAqusVEcB4+Q3qTrBkm QhoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732097922; x=1732702722; h=in-reply-to:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RPpgcuuxYpylU9Yf14HnedaYnNwoyiDD6AitAM+mB+s=; b=tZ88eGoolRkI1tfArG4axVeq1FFJJonfrM9ssZlaKNYtG9hFsh7QEE8h5jhQXraaWa FEBYZti6uWx4i5Xp8HO6paV1RltEkWBl7dgg+Icy2cYbo2hbJlh3i+5mnC/0qHm2jTDO pZvowGsJm7PO3X1z8W9YPNjk9hlV7c3eCZg9yMyPSkskhssjXtXxnJF9Rw8Nf4kZuLZh hxLVlnzjja75hjwRVpUutO9ojhhO9yJu4MI7oTnfkS4GnFvl5UWpbEbGMnRGcscSPfSt vWR+YzUH0lewPPavDBvF0VnhAq58+TzUhBuboyORrZIFQCbe2gahQyURRKxXTRE9WOBs joEw== X-Forwarded-Encrypted: i=1; AJvYcCVNzHZreC0iQuZNa9zXrdcPj22xrzoCpH3J9Ol5Mz/kJGUDdZnpZvQzbBetGfNIQ2tpfGUK0Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyG9kVMHBLfXUioBj3iCiUTKUzlaNKIiXN9/c2Mqua3VNgRxgWM BUKe800r0ChUf8Gk++V8ETrDeL/QrB+V3o4vYrY9gg98Ao3ZobFj X-Google-Smtp-Source: AGHT+IGdiqq7rwAhcuyaTqrEENdQWnonC+4CLmp36hH4Us7ubPSsQM9yd0VjRNSrkBuiFcv6cqcTKQ== X-Received: by 2002:a05:6512:2316:b0:53d:a264:f25a with SMTP id 2adb3069b0e04-53dc1373e8bmr895198e87.47.1732097921847; Wed, 20 Nov 2024 02:18:41 -0800 (PST) Received: from [192.168.199.2] (broadband-5-228-115-253.ip.moscow.rt.ru. [5.228.115.253]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53dbd3fbe4dsm579892e87.63.2024.11.20.02.18.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Nov 2024 02:18:41 -0800 (PST) From: Nikolay Kudryavtsev X-Google-Original-From: Nikolay Kudryavtsev Content-Type: multipart/alternative; boundary="------------YVxI84EZv4G7Id0GkmV0xLb9" Message-ID: Date: Wed, 20 Nov 2024 13:18:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: Content-Language: ru, en-US In-Reply-To: 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 (-) This is a multi-part message in MIME format. --------------YVxI84EZv4G7Id0GkmV0xLb9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Emacs won't allow you to set multiple marks in the same position, it's just going to activate the current mark. Hence your reproduction recipe can be simplified to: 1. C-x C-f foo 2. C-SPC => Mark set 3. C-SPC => Mark deactivated 4. C-SPC => Mark activated 5. C-SPC => Mark deactivated 6. C-SPC => Mark activated See how you're not getting "Mark set" any time after the first message? Maybe a couple of sentences should be added to the manual regarding this behavior, because mark ring is often a source of confusion for the new users. Also note that the manual recommends you deactivate the mark before trying to jump to it: https://www.gnu.org/software/emacs/manual/html_node/emacs/Setting-Mark.html "Instead of setting the mark in order to operate on a region, you can also use it to remember a position in the buffer (by typing ‘C- C-’), and later jump back there (by typing ‘C-u C-’)." --------------YVxI84EZv4G7Id0GkmV0xLb9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Emacs won't allow you to set multiple marks in the same position, it's just going to activate the current mark. Hence your reproduction recipe can be simplified to:

  1. C-x C-f foo
  2. C-SPC => Mark set
  3. C-SPC => Mark deactivated
  4. C-SPC => Mark activated
  5. C-SPC => Mark deactivated
  6. C-SPC => Mark activated

See how you're not getting "Mark set" any time after the first message?

Maybe a couple of sentences should be added to the manual regarding this behavior, because mark ring is often a source of confusion for the new users.

Also note that the manual recommends you deactivate the mark before trying to jump to it:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Setting-Mark.html

"Instead of setting the mark in order to operate on a region, you can also use it to remember a position in the buffer (by typing ‘C-<SPC> C-<SPC>’), and later jump back there (by typing ‘C-u C-<SPC>’)."

--------------YVxI84EZv4G7Id0GkmV0xLb9-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Nov 2024 14:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nikolay Kudryavtsev Cc: 74438@debbugs.gnu.org, eefacm@gmail.com Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173211334128652 (code B ref 74438); Wed, 20 Nov 2024 14:36:01 +0000 Received: (at 74438) by debbugs.gnu.org; 20 Nov 2024 14:35:41 +0000 Received: from localhost ([127.0.0.1]:45919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDlnx-0007S0-BI for submit@debbugs.gnu.org; Wed, 20 Nov 2024 09:35:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56126) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDlnu-0007Rm-K6 for 74438@debbugs.gnu.org; Wed, 20 Nov 2024 09:35:39 -0500 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 1tDlno-0004Jq-Tc; Wed, 20 Nov 2024 09:35:33 -0500 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=K2zN6KEo5KxeOpUQgwlde0hKhL2aDpesQy3Z100UIx0=; b=k7jYfWqDeOVY V5DqXMre7jtotcHnADKF5Kd6BTdtUFsGNM9QkhRQ6NCtmrUvF4Z4q6rj6hl8yrXw5t3Oxb7UCNJIn xZzayIWtkAT/O1vUErxI6Tb3iX1ZqAvayenRcezH0Z8xQMIrfHGG76e4+NBIni7OsTs6g50UNE8vn H0S42qfgFxL3DsYPzPg0U7sqfyCVzaQenojXd9WuReckZWm7vYb0FIML+Lb3SyyAhTO0lT9+PWDHQ xhZCkSMeXIMFr2YDvvO3apU6/gxr9wLWjgumyGqWZrdJFaVt5+cgkky+Lc3hrww7bVbD1oljXiaoc zO9ii3/jD1BsFGrvI+m0IQ==; Date: Wed, 20 Nov 2024 16:35:13 +0200 Message-Id: <86o72arn1a.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Nikolay Kudryavtsev on Wed, 20 Nov 2024 13:18:00 +0300) References: 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 (---) > From: Nikolay Kudryavtsev > Date: Wed, 20 Nov 2024 13:18:00 +0300 > > Emacs won't allow you to set multiple marks in the same position, it's just going to activate the current mark. > Hence your reproduction recipe can be simplified to: > > 1 C-x C-f foo > 2 C-SPC => Mark set > 3 C-SPC => Mark deactivated > 4 C-SPC => Mark activated > 5 C-SPC => Mark deactivated > 6 C-SPC => Mark activated > > See how you're not getting "Mark set" any time after the first message? Yes, technically, it doesn't set a mark, it just activates the existing mark. And the global-mark-ring section says that Emacs pushes a mark on the ring when it sets the mark in some buffer. Which is not what happens here. > Maybe a couple of sentences should be added to the manual regarding this behavior, because mark ring is > often a source of confusion for the new users. If you can tell what are the confusions, I could work on clarifying them. From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Sean McAfee Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Nov 2024 19:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173213027214322 (code B ref 74438); Wed, 20 Nov 2024 19:18:02 +0000 Received: (at 74438) by debbugs.gnu.org; 20 Nov 2024 19:17:52 +0000 Received: from localhost ([127.0.0.1]:47809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDqD2-0003iw-B2 for submit@debbugs.gnu.org; Wed, 20 Nov 2024 14:17:52 -0500 Received: from mail-yw1-f178.google.com ([209.85.128.178]:59756) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDqD0-0003in-19 for 74438@debbugs.gnu.org; Wed, 20 Nov 2024 14:17:51 -0500 Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-6ee55cfa88cso44227b3.3 for <74438@debbugs.gnu.org>; Wed, 20 Nov 2024 11:17:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732130209; x=1732735009; darn=debbugs.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=gFqsYI+LlCYn4MrMe/1AVbR3FAi+be1wKh38ncNNBcg=; b=k1Y6jvtm7MNMWkwjCheUG8ElI9ivPbwuAGgKWpDwZ2hVqOBH3uLidI5+hE/oC4uOZw sUmgaFsV9LQXgv6CHIBvLZiY4Tsodp9CMDXI06KldiTCRxuF2JCdvpfPAeZKIXaA88XD gZvOnCA7+BysWUtCEl0U+x8MHFoUKzMNkF3v8hCqFryyFSmIUzce5dI9aDdjHxw0/Ep0 M+mIUMW6gojyiQ3VmFnnRE9aZB3acS9sX7aYXtvwr1OjTcxTX2Hrxq0mS7R45UXGbq76 7D5/IY2Yxw8pkB39LqTrYN1knLJLuYfd/eOomhPQoXsfcbVQYz8EgIikGbDOTPtyu59c ISMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732130209; x=1732735009; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gFqsYI+LlCYn4MrMe/1AVbR3FAi+be1wKh38ncNNBcg=; b=J51Jj89+56VamYeO7A7YiOX0zSg5y21kpmKgM0y4KrDpNm1nain+22DP00p8FkVV+N Ogw6pIdSUMTaFr21ssO2YYIC6H6CeFvY5TDL7gkRTjgTpMzVtEOH4gVK5OmgVD/koxGn QUUqZnmdXXgiXXRTDdNUlakBHV66GBhE6/iNIPaI5evojXfy9YXznP1RE9rQ/sihDHjN 1a6wXvQcpKu3Ki0ZgbpMkr41SYkJgEZw7dM/7q5hwUn7c7alyvRF6ybBaRcDqWIn9b2O xYjffDvnj5OZu+3RciW5pMbwxyEBdoVoInrH/y6rGy0Whk75PMiCjJrI3YgsDdAb8feF /6Ug== X-Gm-Message-State: AOJu0YxFs2/9IMVyi+fELxujQL0/TOKgN6OO6MafrNOcQ3bpeNO+1Tjr zRDop8WCyg/zIXawC6pqsddVooXRZ4P30LzYQe48W1JAzJWWNordJ8PkU2TeK98vyjsBrYko+9o FqtTVlkekmwyXuYTJbqN2XwRXezw2zsiE X-Gm-Gg: ASbGncu0dANI3v3J2PmwaO9ZjkU1Kc2KSxG5/Rz+0n9XQaK4H7vKhSrOUWMu0C3LUp2 zsLnIrziVV7XOx1nqrTM3RxMCcinEmCo= X-Google-Smtp-Source: AGHT+IGRd4G9DeIjXJ3za8vlDu0CvgWbWcqYTfS0QxqdsiuJiEMy6ftqpGKxkE7DFwTsE6wrkV2fOoV2ezyt0pjj5ys= X-Received: by 2002:a05:690c:63c8:b0:6e3:1f02:407b with SMTP id 00721157ae682-6eebd0f45famr37415097b3.11.1732130209116; Wed, 20 Nov 2024 11:16:49 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Sean McAfee Date: Wed, 20 Nov 2024 11:16:38 -0800 Message-ID: Content-Type: multipart/alternative; boundary="000000000000d1b7cd06275cfd90" 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 (-) --000000000000d1b7cd06275cfd90 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Nov 20, 2024 at 2:18=E2=80=AFAM Nikolay Kudryavtsev < nikolay.kudryavtsev@gmail.com> wrote: > Emacs won't allow you to set multiple marks in the same position, it's > just going to activate the current mark. > I don't want to set multiple marks in the same position though. I just want to be able to know in which buffer I most recently set a mark. I expected that the first element in global-mark-ring would tell me, but it doesn't, not reliably, because if the mark already happens to be at the place I run set-mark-command, the ring is not updated, and the first element may refer to some other buffer. That may be the "correct" behavior by some standard, but it doesn't match the documentation. --000000000000d1b7cd06275cfd90 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Wed, Nov 20, 2024 at 2:18=E2=80=AFAM N= ikolay Kudryavtsev <nik= olay.kudryavtsev@gmail.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex"> =20 =20 =20

Emacs won't allow you to set multiple marks in the same position= , it's just going to activate the current mark.

I don't want to set multiple marks in the same position though.= =C2=A0 I just want to be able to know in which buffer I most recently set a= mark.=C2=A0 I expected that the first element in global-mark-ring would te= ll me, but it doesn't, not reliably, because if the mark already happen= s to be at the place I run set-mark-command, the ring is not updated, and t= he first element may refer to some other buffer.=C2=A0 That may be the &quo= t;correct" behavior by some standard, but it doesn't match the doc= umentation.

--000000000000d1b7cd06275cfd90-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Nikolay Kudryavtsev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2024 07:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 74438@debbugs.gnu.org, eefacm@gmail.com Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173217554315343 (code B ref 74438); Thu, 21 Nov 2024 07:53:02 +0000 Received: (at 74438) by debbugs.gnu.org; 21 Nov 2024 07:52:23 +0000 Received: from localhost ([127.0.0.1]:48951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tE1zC-0003zO-MP for submit@debbugs.gnu.org; Thu, 21 Nov 2024 02:52:22 -0500 Received: from mail-lf1-f49.google.com ([209.85.167.49]:43340) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tE1zA-0003zE-FA for 74438@debbugs.gnu.org; Thu, 21 Nov 2024 02:52:20 -0500 Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-53da4ff4d7fso1775246e87.1 for <74438@debbugs.gnu.org>; Wed, 20 Nov 2024 23:52:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732175479; x=1732780279; darn=debbugs.gnu.org; h=in-reply-to:content-language:references:cc:to:subject:user-agent :mime-version:date:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=jRaitT2IynZYF3GTNTotKagnfzTfrYDCuoEabQbWnS8=; b=maF51oDP5wNc5aY/ZEcdny5fyiDHcHp7/V56NyHw4mEON0hxAe4/N35B2smLqUDLnD 7p/ZGyP7yJ23DpJt44i0AJ2AUahrf0n9ca/uABi44kf2+co4/CSXx/Nk2MW8XiEAypYF qO4NoExZc+gFV46LwGfHwRcDJaX4/rR78MUmnADMuLFyo75ztYR5yTCF+3BMmdCai2Dt msAWivRBxqcbxOUlOIakuc44sMVdO3ssDFsGE4REjPG1dl64/ejFoa0ML6qitS4Mc2Ry Vuo92SAiTPvQTpdCMpOg/QA2PQQU5uJ+vWIeuxx6lMzYXRjt1BV9knwJlKyu+4svAhgh eg1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732175479; x=1732780279; h=in-reply-to:content-language:references:cc:to:subject:user-agent :mime-version:date:message-id:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jRaitT2IynZYF3GTNTotKagnfzTfrYDCuoEabQbWnS8=; b=dT+Rtc2F7BHP2IcfoYvKsq3ia80Na4MGZ08eGUSfBqPyA33gwAzJrvxOsKE6IbF80+ gv7C7961uk3auQXTpN7VXTemqNq+T06M+BjVPY61X6LU0jMBJRn5WWViWZK5rZ0aJZI8 MiFXuqBroRy30AhWpMfv890eVvkRvuwTYol0usNm4bKqf7R7ih1+HmXNQdiWNwewKyc3 5Np4q7V7dT9rTwqT2hHrfkXhS1wRaMHgdR78TdaD6R7tB3Jf6MT3H7kPNzlEAb83+1BV SptRD5dmqNVb+BGTsq8b3XjnHun5XPEkA5Qe+Unzcvwi3fSB4ZeVX5qTr4HklFTWmROP UOog== X-Forwarded-Encrypted: i=1; AJvYcCXMZIFnJUEw96Lnj7XdtWYcsaoIbVGH+9a4Dlwu06Nxub3DmhkrcA64hTTXJBFxgXF0Ij8yKQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw5O6WUgEs7VSGuzKOgpjakNNMJx6KC230V4a0f+GMbhyUz45GB F3uJMOgxASCUH3d0KJJ1Z06XDiA6aKFMmdRSvRLA6PQwpI7TcFtd X-Google-Smtp-Source: AGHT+IG894TvDgx4PiYUr6t4zVzh45FbNucBj5oq8UwshXZClmfDlMuwDBw2MH1w34QY3UR6q4ulng== X-Received: by 2002:a05:6512:124b:b0:53d:a99e:b63f with SMTP id 2adb3069b0e04-53dc616df8fmr886126e87.14.1732175478970; Wed, 20 Nov 2024 23:51:18 -0800 (PST) Received: from ?IPV6:2a02:2168:b20b:5100:78:cc43:f3d3:7a9b? ([2a02:2168:b20b:5100:78:cc43:f3d3:7a9b]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53dc0f5e79csm522876e87.277.2024.11.20.23.51.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Nov 2024 23:51:17 -0800 (PST) From: Nikolay Kudryavtsev X-Google-Original-From: Nikolay Kudryavtsev Content-Type: multipart/alternative; boundary="------------iF3Sa2Gh5nFJKky5cFwJXfok" Message-ID: Date: Thu, 21 Nov 2024 10:51:14 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86o72arn1a.fsf@gnu.org> Content-Language: ru, en-US In-Reply-To: <86o72arn1a.fsf@gnu.org> 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 (-) This is a multi-part message in MIME format. --------------iF3Sa2Gh5nFJKky5cFwJXfok Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Probably just needs a sentence to this end somewhere in "The Mark Ring" node, akin to this: If you set the mark at a position, you cannot immediately set another mark at the same position. --------------iF3Sa2Gh5nFJKky5cFwJXfok Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Probably just needs a sentence to this end somewhere in "The Mark Ring" node, akin to this:

If you set the mark at a position, you cannot immediately set another mark at the same position.

--------------iF3Sa2Gh5nFJKky5cFwJXfok-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Nikolay Kudryavtsev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2024 08:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Sean McAfee , 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173217665719167 (code B ref 74438); Thu, 21 Nov 2024 08:11:01 +0000 Received: (at 74438) by debbugs.gnu.org; 21 Nov 2024 08:10:57 +0000 Received: from localhost ([127.0.0.1]:49010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tE2HB-0004z5-1O for submit@debbugs.gnu.org; Thu, 21 Nov 2024 03:10:57 -0500 Received: from mail-lf1-f43.google.com ([209.85.167.43]:56489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tE2H8-0004yr-SR for 74438@debbugs.gnu.org; Thu, 21 Nov 2024 03:10:55 -0500 Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-53b34ed38easo547599e87.0 for <74438@debbugs.gnu.org>; Thu, 21 Nov 2024 00:10:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732176589; x=1732781389; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from:from:to:cc :subject:date:message-id:reply-to; bh=pc3PsfgdUya7q+ESKlmp9v7KMYoKxMgGSi1SMdCmc5I=; b=FwYsasJzn5gUy1EFPYvuld1neno1dDoCRhc9QE+XhGqfQDjJPiQ/llSuoOrosMGeXq oIaF/YLR6nNtD6HfHYri31ULS/1d60vRZRuF62xQ96ngWOkkVnHPuunDzXJVB/5qld2l NxGrozQIh7yOElfWvy2TBeMb0k/nJu6g8T3XEyP2/hHjW4V1vtpCQ9DP0d1yfQxADVA+ LPOsqPo/l4ROKXsPmuyPqUHFus8p13ntL4nZ8GFyonVy/qsmjvCPRYfRAhexNzAVilDa S6Iuw/8eeOv8NRLo2R6WtNgjMqTcgIj76f2wU/iVkaDShAvy2PTriicCmvvn2/1BeZpi 1MuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732176589; x=1732781389; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pc3PsfgdUya7q+ESKlmp9v7KMYoKxMgGSi1SMdCmc5I=; b=WHdP6Ezj4fxnF6ZeAVAxwutzOKyVJ3yJtou7NSsyuAZJPKGlPVQgu0xGDpa7k2/T9B S05c0uJx/Y8yNcWk0fx7qy3g9FA0G7lck3bnO0QS93MZpbebEUeOmwexqTxrJ15tyKIe CjYFhbZ6aDF2jm7u/Xf0bCmcjJBgoGRT+yNeuHW8i/qXHyy0t+bEsaAmA9Hgt1p+USZz 9+lnp69aYTg7w6U9cb8TOzzEjtrvWARNAgowknKneSQglcqjalzRttSHBSIbIi5zohce mXVmCmCks2F1rZJlijUZ/J/H7KrjEsYpojnJ8vAPzzrNs8VnkNbkGg+QIYsQ7gn2B13h 9U9A== X-Forwarded-Encrypted: i=1; AJvYcCWHN+9F+h/DdubEed8u5i2q1Lm1bo3MYfrebtWduTEWKAIX9MNFguNXv9UP7Zlu80avxDXggg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxejjpsYdF+37PWtck34/xQE1DrvK45/ESnvrmeDZwstBboxCXA 3xUczaoLvlnxDgxBsrO21iG1h+WJJ+KUKyfv/NZEkYFMpgvrYT5ZA7szHHvt X-Gm-Gg: ASbGncvJ5DsQJuEh4/WHNfbwLItz1XzpfYkgqqemcA5dE+c4/BYF8/rqiMr+13qoViB XeHo1j5WPFbnKP1mq5p52jpLEndaFxfGC1q+DVE7gFDIm30uswCsPz0DcpTxSStcHg/v6soxQG7 vua9CGVs5XnLNikAnU+2LJbOk1wwWAp6wNLv8NomIPIpeoSEPQ9J2u/ahx7gqMjA5Yde3h1jtqm ty9rVuwaC8/hsqtuRffB0QoVIFLnrGkegDUsuRq/V/70X3+GardLQzbAwplGM8E/14z2oeTYnXY DyaTPpS6i3z7YSqg9pqD/qBXRtEBCLF3H2KzqrM= X-Google-Smtp-Source: AGHT+IGMiV/RTT9PrJkxSGW4OyqNlz3mYL6FkO5FKUBJeU7VCLC1uV6yyr0XSQeE+mMZl53AU5mVQQ== X-Received: by 2002:a05:6512:3ca0:b0:53d:cb91:2f3e with SMTP id 2adb3069b0e04-53dcb91300dmr512161e87.22.1732176588781; Thu, 21 Nov 2024 00:09:48 -0800 (PST) Received: from ?IPV6:2a02:2168:b20b:5100:78:cc43:f3d3:7a9b? ([2a02:2168:b20b:5100:78:cc43:f3d3:7a9b]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53dce766a79sm80110e87.60.2024.11.21.00.09.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Nov 2024 00:09:46 -0800 (PST) From: Nikolay Kudryavtsev X-Google-Original-From: Nikolay Kudryavtsev Message-ID: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> Date: Thu, 21 Nov 2024 11:09:44 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: Content-Language: ru, en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 (-) Using the mark ring for programming purposes is generally seen as a faux pas, see the docstrings for push-mark and set-mark, which explicitly warn against this. If you still insist, then nothing is really stopping you from short circuiting this behavior by say doing a forward-char, set-mark, backward-char, set-mark again. But I also don't understand why do you need buffer 1 mark to be at the front of the ring, because it's gonna reliably be as the second element in it anyway. From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2024 09:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nikolay Kudryavtsev Cc: 74438@debbugs.gnu.org, eefacm@gmail.com Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.17321825813540 (code B ref 74438); Thu, 21 Nov 2024 09:50:01 +0000 Received: (at 74438) by debbugs.gnu.org; 21 Nov 2024 09:49:41 +0000 Received: from localhost ([127.0.0.1]:49130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tE3oj-0000v2-5h for submit@debbugs.gnu.org; Thu, 21 Nov 2024 04:49:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tE3oh-0000un-OY for 74438@debbugs.gnu.org; Thu, 21 Nov 2024 04:49:40 -0500 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 1tE3oc-0004Gr-Bj; Thu, 21 Nov 2024 04:49:34 -0500 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=BKOhey/yk28GbO/dXCsHsOyrsipkwyQCfgdQ3GrF8QU=; b=k5Hhw/KUjhcp PS/4qb5Xhq1g+0pPHMwc1UOmrVVjgspdJtd3cZEEkEy5T6DruTv+RiMlZ6JZ4bbgxpzwWT4VU7BsN pl4UPP9HFyRKxh7Nj+yVoob7eBbcpe2/MpCRxZgEeaCcIV8tAlAAsRFDHg9g3pP/p8o4bondKpBEc jtpaaurgqOQ1QCu1Vw146efGJ5byQoEwwd+URZBC6LnscHzzBIb9EFiDYtBKFc1MQmApAYeZ8nlDe +8PMf2OK/U99QHgs7/KkOKwSusBc6n/SuWEpHo+4ERfo82pGG781L/O107+BLjseUAJtfA/mM6UrH d6PeWpsj6gL69Er2uYuDtg==; Date: Thu, 21 Nov 2024 11:49:32 +0200 Message-Id: <86iksgrk5v.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Nikolay Kudryavtsev on Thu, 21 Nov 2024 10:51:14 +0300) References: <86o72arn1a.fsf@gnu.org> 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 (---) > From: Nikolay Kudryavtsev > Date: Thu, 21 Nov 2024 10:51:14 +0300 > Cc: eefacm@gmail.com, 74438@debbugs.gnu.org > > Probably just needs a sentence to this end somewhere in "The Mark Ring" node, akin to this: > > If you set the mark at a position, you cannot immediately set another mark at the same position. Thanks. I mentioned this where set-mark-command is described, as that seemed like a better place. I also added a node to Global Mark Ring that merely activating a mark doesn't record it in the global ring. From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Sean McAfee Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2024 19:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173221867314682 (code B ref 74438); Thu, 21 Nov 2024 19:52:01 +0000 Received: (at 74438) by debbugs.gnu.org; 21 Nov 2024 19:51:13 +0000 Received: from localhost ([127.0.0.1]:51817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEDCq-0003ok-Oq for submit@debbugs.gnu.org; Thu, 21 Nov 2024 14:51:13 -0500 Received: from mail-yw1-f178.google.com ([209.85.128.178]:61929) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEDCo-0003oO-Ai for 74438@debbugs.gnu.org; Thu, 21 Nov 2024 14:51:11 -0500 Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-6ee7ea48ad8so14134547b3.3 for <74438@debbugs.gnu.org>; Thu, 21 Nov 2024 11:51:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732218604; x=1732823404; darn=debbugs.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=dtqfhwGQKA7vv8fBkGD08oh7ZRACVjgB1P5wIRy2VcA=; b=HOY4TmbCHaulDe/38rgFLe+oXQcp9jFgpZbw5O8eOjPdpXxpvwFKhE0uFVB12Qx4Nq dQX5An8d94w4uYHq1RIofJAKe1wVX/BZJvveUvC7V74ke7jaZhwr/JqAVbDInpEP6pRv JZBQpUB0rkQs2AeECBHKa/wVQ6CWbI8lLGKv8taYcF5JLrPfupqJQFzbkt6S/Mhp/cVG 2RAFD5JDkFfSTP6XMJSKYyXzhtL03t0m+zdPGK8Tt7sRnRYtOnEnUolIR5t9zpWpsHV8 vATiXFn5FvhuctRGh64x1/70pyYi+vOQa26gdwQl/flOAJAXxB4A73CBKLup4zO8DJjw CSVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732218604; x=1732823404; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dtqfhwGQKA7vv8fBkGD08oh7ZRACVjgB1P5wIRy2VcA=; b=fTyS/X9WrVhpn4k5fSoF0XocEfKyeXq3VArxTFbBb62T7Ei4XLeD8tA3FAG6ZN37pH QVsP7IBpVZICmkdvFz8n2CjdXzwrFBfLUBCQ2GMd/ZuFuxhfMIZlsEAzytkSWyrf7Qx0 B0J1vSe331ESpbIc3z15fdLph7EUvWMS/lXBnrMudvwCVyLEH/cIuhLG5tqj4E3rGKob hiG8jXJwfWelvCei+C3DsyQintdSZgq0Xp4NmyoLl1Pzyp+LR5o9EyuGjwcjiV3KlJ/E VwiekThxx25JMu/5CjY4xcYG2GsGpOw6wwxZYWY3tKzSt8wNvNNfqsYqb87XPlGLQdpi ByLw== X-Gm-Message-State: AOJu0YyoD4kihOdDwFv+Co/UdlFfofymsmoxoePYqvSMLe7a95IJ+2DU 3s+DvesJpiqTc3Waw4qg1iJAIyzmwcaYLdvH+hUrXJU0vUN7twA3jShFTfnSLPwOSnEwDh/6evs xLFg4XEJ5HyE+bO4c1iFFlF4BABD+OQjO X-Gm-Gg: ASbGnctCmWfugHxTPVDtju4zdqOyauSVxIFitGnOUjNmOVvt+AvTt2smjZ8QMLZGXPv faxF1rvSfPUmvNebmJ3C2LnwLgEL46YOwRr6XfPVd7jeTshYVMzfeBGrFNGIplV2y X-Google-Smtp-Source: AGHT+IHAheBhT65kCwwqKuxGzoR/x2tTL9YWKCULs10EUpNWYHz3Dv2nMvKF2f/5cP+WUqdq0chFXPkCleNpW5D1OAc= X-Received: by 2002:a05:690c:6089:b0:6ea:4d3f:dfa6 with SMTP id 00721157ae682-6eee07b356fmr7493937b3.0.1732218604415; Thu, 21 Nov 2024 11:50:04 -0800 (PST) MIME-Version: 1.0 References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> In-Reply-To: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> From: Sean McAfee Date: Thu, 21 Nov 2024 11:49:53 -0800 Message-ID: Content-Type: multipart/alternative; boundary="00000000000096f7130627719296" 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 (-) --00000000000096f7130627719296 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Nov 21, 2024 at 12:09=E2=80=AFAM Nikolay Kudryavtsev < nikolay.kudryavtsev@gmail.com> wrote: > Using the mark ring for programming purposes is generally seen as a faux > pas, see the docstrings for push-mark and set-mark, which explicitly > warn against this. > I've read those warnings, which seem to be about using the mark to keep track of positions within a single function execution. Here I'm writing a command that wants to use information recorded by a previous command, which seems like a legitimate use to me. > If you still insist, then nothing is really stopping you from short > circuiting this behavior by say doing a forward-char, set-mark, > backward-char, set-mark again. > I could do that, but conceptually I just want to set the mark, and I don't want to have to perpetually keep in mind that when I set the mark in this one specific context, I need to go through an extended routine like that. > But I also don't understand why do you need buffer 1 mark to be at the > front of the ring, because it's gonna reliably be as the second element > in it anyway. > But it won't; it could be anywhere in the global mark ring. - Go to a new buffer foo and press C-SPC; now buffer foo is first in the global mark ring. - Go to a new buffer bar and press C-SPC; now buffer foo is second in the ring. - Go to a new buffer baz and press C-SPC; now buffer foo is third in the ring. - Go back to buffer foo and press C-SPC; buffer foo is still third in the ring. And buffer foo won't be in the ring at all if more than global-mark-ring-max buffers are visited in this way. Anyway, it seems like a consensus is emerging that it's the documentation and not the code that needs to be updated. At least I've thought of a way to get the info I need without changing my workflow. Something like: (defvar last-global-mark (make-marker)) (defun my-set-mark-command (arg) (interactive "P") (set-mark-command arg) (unless (equal arg '(4)) (set-marker last-global-mark (point)))) (global-set-key [remap set-mark-command] #'my-set-mark-command) I wish it weren't necessary, but at least it's not very long. --00000000000096f7130627719296 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Nov 21, 2024 at 12:09=E2=80=AFAM = Nikolay Kudryavtsev <ni= kolay.kudryavtsev@gmail.com> wrote:
=
Using the mark ring for p= rogramming purposes is generally seen as a faux
pas, see the docstrings for push-mark and set-mark, which explicitly
warn against this.

I've read those = warnings, which seem to be about using the mark to keep track of positions = within a single function execution.=C2=A0 Here I'm writing a command th= at wants to use information recorded by a previous command, which seems lik= e a legitimate use to me.
=C2=A0
If you still insist, then nothing is really stopping you from short
circuiting this behavior by say doing a forward-char, set-mark,
backward-char, set-mark again.

I could = do that, but conceptually I just want to set the mark, and I don't want= to have to perpetually keep in mind that when I set the mark in this one s= pecific context, I need to go through an extended routine like that.
=C2=A0
But I also don't understand why do you need buffer 1 mark to be at the =
front of the ring, because it's gonna reliably be as the second element=
in it anyway.

But it won't; it coul= d be anywhere in the global mark ring.

- Go to a n= ew buffer foo and press C-SPC; now buffer foo is first in the global mark r= ing.
- Go to a new buffer bar and press C-SPC; now buffer foo is = second in the ring.
- Go to a new buffer baz and press C-SPC; now= buffer foo is third in the ring.
- Go back to buffer foo and pre= ss C-SPC; buffer foo is still third in the ring.

A= nd buffer foo won't be in the ring at all if more than global-mark-ring= -max buffers are visited in this way.

Anyway, = it seems like a consensus is emerging that it's the documentation and n= ot the code that needs to be updated.=C2=A0 At least I've thought of a = way to get the info I need without changing my workflow.=C2=A0 Something li= ke:

=C2=A0=C2=A0=C2=A0 (defvar last-global-mar= k (make-marker))

=C2=A0=C2=A0=C2=A0 (defun my-set-= mark-command (arg)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (interactive &q= uot;P")
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (set-mark-command arg= )
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (unless (equal arg '(4))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (set-marker last-global-m= ark (point))))

=C2=A0=C2=A0=C2=A0 (global-set-key = [remap set-mark-command] #'my-set-mark-command)

I wish it weren't necessary, but at least it's not very long.

--00000000000096f7130627719296-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Nikolay Kudryavtsev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2024 20:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Sean McAfee , 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173222124622181 (code B ref 74438); Thu, 21 Nov 2024 20:35:02 +0000 Received: (at 74438) by debbugs.gnu.org; 21 Nov 2024 20:34:06 +0000 Received: from localhost ([127.0.0.1]:51912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEDsL-0005lh-TR for submit@debbugs.gnu.org; Thu, 21 Nov 2024 15:34:06 -0500 Received: from mail-lj1-f179.google.com ([209.85.208.179]:59442) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEDsK-0005l8-C6 for 74438@debbugs.gnu.org; Thu, 21 Nov 2024 15:34:05 -0500 Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-2ffa12ad18cso10051051fa.2 for <74438@debbugs.gnu.org>; Thu, 21 Nov 2024 12:34:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732221178; x=1732825978; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from:from:to:cc :subject:date:message-id:reply-to; bh=95vY65U3qaBXlefo/dcerjHMjjGDNqF8rZtQi/X7neQ=; b=YFWd2ZsOJNQUZu9PQkC8hoJ6tn8w40q0onfamlyOZWbCT1ceoCsxRJBSpwY/cz1NGg S4x014tjEQRUZByOCJMFMwoakhTdd/fhhhviWJPVig1Au28q8Oa9snKJ4X3A/o8nqLvw 4ln3FJIi4gaRnrNC16O80oVsZlL5WepL1hu+uIZp5GiqtDQOjhMVxhQNvFRlLcGlxqMP KMsS6DHtj+vmuwedf7HRsX5mR1I2UEh8pUAwSIbsMZ6nhbkHxO86+hiO/6gtUh2arPuJ ZtfrAOKGM1mKKj6CCKDDFprg6YZePTh9lKopNYmVCQdjQf8O1FULvblmBZUXEp/Pvbzg vesg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732221178; x=1732825978; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=95vY65U3qaBXlefo/dcerjHMjjGDNqF8rZtQi/X7neQ=; b=tYtNlB3oG/G3XNoS0+eOVR+pq4NVi6LWo+e35V8SZsjAZwsKy4TtW5MJWkdQXXQg9b PLxV9M5esfU8qFa4a2n+0Xv3dptwapvByiLEt+gGF/yScsDq/ZxkSuS/0l5or9TYvl/V Vai6GXlbDEsaE4SHu9+ipQAgt9NH/GJB/11HEryz+PEE5OjzYFnbYuJcU7JG47BlWZVx F9LvgkAQUberi4hY8dSowP7VY4C0w29GIWzv4iLIh3LBPb4ObQW03KFvLSPNKUUYjUj9 dypEEvrt1QtUuiExa4gk0NXOYLXpzllnoTvN75TBSKxcfCSS1R+DvwSU9kVwXCRPzJ5g d1iQ== X-Forwarded-Encrypted: i=1; AJvYcCUTm9G5lLMfFC00oYWxqlNLs/4P0zCKRFT0C1gqTTpXQp4+DsXkdn59L7KUwaZDOSmWyajELw==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yxbvg8HvLGMlgTaeXA9CWMeiKid3tnXyZiXbyNuWtQxSHKCH19q vd13mTckDISTc7EGo09jGBZWOiKM3CS7iFVhWIioHhj9xo15dhpb X-Gm-Gg: ASbGnctP4pzJJ+GBvAji6AI3WXpYI5dXADkmIboH4sdzQMA1XqXAtKctGX29+G0dvbK nay+ouipEsbmNJgv031Pa1IjIHvU+eMsnjzUbkcvbIPHDRBvj4z7GLGNAoRbFkUqTCJ5kzZRZPz OIQQVn/5lzvKgpfVs8u7Uui1QWjLTa1L2JkCiSPjLRhkxCK1tyVk1KWfk+gZC7EIqpVxUabh65s XZTgL3dPebrLYBtgOAyEWJiKemJ95rTiB8/i+OlP8AuEDjbw5ei44VaY3NWCKiyvlRwmvHXPl5Q Z0HHTSXPl2UEsVT0iRhcKCQBQoBp9UutX4pAT3U= X-Google-Smtp-Source: AGHT+IHqLbH4VTcfAJ025wIIgjgGObUgIEqO6UacbtN+NBEmZ9q//62wdI+M2j0T40Vxim78Jyn+lQ== X-Received: by 2002:a05:6512:1111:b0:530:c212:4a5a with SMTP id 2adb3069b0e04-53dd36a0f8fmr101872e87.22.1732221178272; Thu, 21 Nov 2024 12:32:58 -0800 (PST) Received: from ?IPV6:2a02:2168:b20b:5100:78:cc43:f3d3:7a9b? ([2a02:2168:b20b:5100:78:cc43:f3d3:7a9b]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53dd2451831sm72155e87.84.2024.11.21.12.32.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Nov 2024 12:32:56 -0800 (PST) From: Nikolay Kudryavtsev X-Google-Original-From: Nikolay Kudryavtsev Message-ID: Date: Thu, 21 Nov 2024 23:32:53 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> Content-Language: ru, en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 (-) I still don't understand why do you need more than one mark for your use case? You are comparing two sexps. You put the foo buffer sexp position into the mark ring. Now you go to the bar buffer and select the sexp there. Why do you need to put the bar into the mark ring? Why do you need the second foo mark? You can just use the first(and only) foo mark and be done with it. From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Sean McAfee Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2024 21:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.173222308327305 (code B ref 74438); Thu, 21 Nov 2024 21:05:01 +0000 Received: (at 74438) by debbugs.gnu.org; 21 Nov 2024 21:04:43 +0000 Received: from localhost ([127.0.0.1]:51948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEELy-00076L-JY for submit@debbugs.gnu.org; Thu, 21 Nov 2024 16:04:42 -0500 Received: from mail-yb1-f175.google.com ([209.85.219.175]:57749) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEELx-000769-Cs for 74438@debbugs.gnu.org; Thu, 21 Nov 2024 16:04:42 -0500 Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-e388d8850d3so1442594276.3 for <74438@debbugs.gnu.org>; Thu, 21 Nov 2024 13:04:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732223015; x=1732827815; darn=debbugs.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=5GNrZq1Tw7M7zF7Al057+SHYmrje4llhGzAQIMapgc0=; b=JL+0mqrUl4C7Eb8HdrKxclEb63UAOuz81cqSUDkD5+l1doEVrHUlzmqdKusv8qq0uI 9RpocoCBZyxO4Jw6SZGI45jQYJcSPUo06g7WkqXq8mQHqiHYVVXNpsHUMPU8TLKM4SD/ rp2Bvrk5I0hriMp734wMMO6nrgkaJ/PQggg2JYmGMNyYLsr070CGxj2bd5SB1egefJfR 9AyQDKzoWOQ6tgdnb1+I1t7XWCoR2t+RKKOHn4nBSvLJq9VhsSMPtweBI9R9SgIJagEv olUW+EnWiaVf8g7ePurEM4/2P9C1dATDyzsW5rxGFQ3As8Zw8hYN2jJlZYqZAN7qvZZC Ii0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732223015; x=1732827815; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5GNrZq1Tw7M7zF7Al057+SHYmrje4llhGzAQIMapgc0=; b=KFfBD6v/sL9F41/I/Piw8bHCw5hISqkakiChuZCj794yZJanzsWxfbKIQFtGi8iKIY estFXFPgfVrUOxEAhOG9/ZJTWqHeO/xqnsKHxruTL9PfvQlYSV+BTbmwZU9nKfrB2fTC G4NvMbZ1QYU5iVH8E6EBpOa3rigkKEIy4q4QvmXlGCHN362Qdg3wZ6BAdLURJakOvtyd g3A9Y9hfLAo0LJ/0rKx6CO571gQX00wbcTRhSefcQaiiEtLNIlfiCUOLV1xsL+LyOckV n14AxdSkWDxcmVyfycTvb+R93W4/3H/3o+KPr9y52M9n+00B6iqxn7NsvhptXBNA69EV mKkA== X-Gm-Message-State: AOJu0YxBuqcD9JopUfIp+125ujTahlxqTHjDEpw5bnNDhXpjRZrKfrv5 bfB9bJUUgrXE3KR9kbOFRre6Ua8xRSyjthxO19K1eL0Mc2kd+4BH/IBTy0EpFIVPx6Vfgb2eId4 6ws6Age81F3ouol4oPnRigcW9skAIm3j4goI= X-Gm-Gg: ASbGncuRhTWB09zbEdyCeH+wu2K8Djz+5xYsr+18XSs4XL9elJlHTcvmHrbs+OrYfDH 1PSEKok1nS1PAz8lHgCd8fwCiKDT2gv9g0N2uWXGvfTBJY5WwuZxSl9szTsdpxIEk X-Google-Smtp-Source: AGHT+IF7kItGRkfZOx92ZQqf9hzYz6EzVkuHJqXUkiFnrP6Jq+M8fT0ELE7SZqWrFvBuDw2yIdNL9RUMjhEhJfsCt8M= X-Received: by 2002:a05:6902:701:b0:e38:901b:602d with SMTP id 3f1490d57ef6-e38f8af7c41mr379962276.9.1732223015335; Thu, 21 Nov 2024 13:03:35 -0800 (PST) MIME-Version: 1.0 References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> In-Reply-To: From: Sean McAfee Date: Thu, 21 Nov 2024 13:03:24 -0800 Message-ID: Content-Type: multipart/alternative; boundary="0000000000008043e606277299f9" 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 (-) --0000000000008043e606277299f9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Nov 21, 2024 at 12:32=E2=80=AFPM Nikolay Kudryavtsev < nikolay.kudryavtsev@gmail.com> wrote: > I still don't understand why do you need more than one mark for your use > case? > > You are comparing two sexps. You put the foo buffer sexp position into > the mark ring. Now you go to the bar buffer and select the sexp there. > Why do you need to put the bar into the mark ring? Why do you need the > second foo mark? You can just use the first(and only) foo mark and be > done with it. > Er...yeah. That's exactly what I want to do. Not sure how I gave a different impression. Here's what I have now, minus some defensive coding to keep it short: ;; Helper function: (defun write-sexp-at (pos dest-file) (write-region pos (save-excursion (goto-char pos) (forward-sexp) (point)) dest-file)) (defun json-diff () (interactive) (let ((file-a (make-temp-file "json-diff")) (file-b (make-temp-file "json-diff"))) (with-current-buffer (marker-buffer last-global-mark) (write-sexp-at (marker-position last-global-mark) file-a)) (write-sexp-at (point) file-b) (shell-command (format "~/bin/json-diff %s %s" file-a file-b)))) Originally I tried using (car global-mark-ring) instead of last-global-mark, but that doesn't work, per my original bug report. I also tried saying (mark t) instead of (marker-position (car global-mark-ring)). That would have returned the correct position, but it doesn't matter because (marker-buffer (car global-mark-ring)) can't be relied upon to return the right buffer. --0000000000008043e606277299f9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Nov 21, 2024 at 12:32=E2=80=AFPM = Nikolay Kudryavtsev <ni= kolay.kudryavtsev@gmail.com> wrote:
=
I still don't underst= and why do you need more than one mark for your use
case?

You are comparing two sexps. You put the foo buffer sexp position into
the mark ring. Now you go to the bar buffer and select the sexp there.
Why do you need to put the bar into the mark ring? Why do you need the
second foo mark? You can just use the first(and only) foo mark and be
done with it.

Er...yeah.=C2=A0 That'= ;s exactly what I want to do.=C2=A0 Not sure how I gave a different impress= ion.

Here's what I have now, minus some defens= ive coding to keep it short:

=
=C2=A0 =C2=A0 ;; Helper function:
=C2= =A0 =C2=A0 (defun write-sexp-at (pos dest-file)
=C2=A0 =C2=A0 =C2=A0 (wr= ite-region pos (save-excursion (goto-char pos) (forward-sexp) (point)) dest= -file))

=C2=A0 =C2=A0 (defun json-diff ()
=C2=A0 =C2=A0 =C2=A0 (i= nteractive)
=C2=A0 =C2=A0 =C2=A0 (let ((file-a (make-temp-file "jso= n-diff"))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (file-b (make-t= emp-file "json-diff")))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-curr= ent-buffer (marker-buffer last-global-mark)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 (write-sexp-at (marker-position last-global-mark) file-a))
=C2=A0= =C2=A0 =C2=A0 =C2=A0 (write-sexp-at (point) file-b)
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 (shell-command (format "~/bin/json-diff %s %s" file-a = file-b))))

Originally I tried using (car global-mark-ring) instead of last-global= -mark, but that doesn't work, per my original bug report.=C2=A0 I also = tried saying (mark t) instead of (marker-position (car global-mark-ring)).= =C2=A0 That would have returned the correct position, but it doesn't ma= tter because (marker-buffer (car global-mark-ring)) can't be relied upo= n to return the right buffer.

--0000000000008043e606277299f9-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Nikolay Kudryavtsev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 Nov 2024 12:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Sean McAfee , 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.1732279245555 (code B ref 74438); Fri, 22 Nov 2024 12:41:02 +0000 Received: (at 74438) by debbugs.gnu.org; 22 Nov 2024 12:40:45 +0000 Received: from localhost ([127.0.0.1]:53583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tESxp-00008t-BV for submit@debbugs.gnu.org; Fri, 22 Nov 2024 07:40:45 -0500 Received: from mail-lf1-f54.google.com ([209.85.167.54]:46559) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tESxn-00008l-Ru for 74438@debbugs.gnu.org; Fri, 22 Nov 2024 07:40:44 -0500 Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-53a007743e7so2336091e87.1 for <74438@debbugs.gnu.org>; Fri, 22 Nov 2024 04:40:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732279182; x=1732883982; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from:from:to:cc :subject:date:message-id:reply-to; bh=o30WSSD7MrszcVdarw+kZjf7Yk1HHmj+0FVqFMeg/jU=; b=A4xfM9W3pUpuYYC0u6p+IjEE1BWRbzphy7wdsbyhq5iD8eonrvrc0YOG+tZRiJjaCX x2ASOgTrJ2P+QojA4nXKwhDnIMvv5LoL3BEXiYcZgbOAGX9n2q/poHOVM2qpoA4ZXFNo vrExygmxfCvn5R6lw/ztMwLM8w+s5/jrFaN2uwv69xQu5ZQF6ofcVpYoOsa3joQin9KX ekB7IADZmxC+JYHXmXTUJPOD63sLpsx1DUqIr2+p9iydUwQuX7lF2nSyuQ1D9P4paxgi Z4wA0YsQhfOUwwzFEvZ/jh90JuUkW9AeyxkKf9vtX5k0BDZPB3yW1zp8xt+qatX3OZCh sBag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732279182; x=1732883982; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=o30WSSD7MrszcVdarw+kZjf7Yk1HHmj+0FVqFMeg/jU=; b=s3HobOx3s+YZZ+BCvivvW+ElsXtlKzxVhf6W7kamZWiRtgiSlcBsuthnsVm5w3xt1y B7nVGA84l9DCc+tHy/MPgKJqNgaeTgmE1L7/JODHF9IZ1hxA2XP/kHXfVjqnLMo77J49 OLxQVUdPDya39ZSsZGsYZlZX1hZgNgLhFtgN4e6MeKZ4SID13Exak96zdRf7n4/by/Ld 1LFSD+dydEi/8BiP89BGAxqSNVsq40SFJoB7Sgnq87TqVhL5762M34ImWUntU1y6o3jg 5ASIZwmeKdNCbtP8GujmgB+z7wK5rVrJML7ydhgU82/s5z6kDnwtAml/JFmRtYyPv9DO R0aA== X-Forwarded-Encrypted: i=1; AJvYcCXZVYNeKV4Z2huQ5V/cnNoRc9ypZXyzZWh9i0JxyjsenS4cDVDwELbfvuhkdUNmvv7CrELxzA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yy35+qh/8Bee8Ea7/gorxhH4e64I6IEM+dpYuk4d1NdJwT2mOrc Z7OrBH2JInQvFDAlXEAlw5+quS4h4hdUoR7m9CCiLShz5EBZPbIi X-Gm-Gg: ASbGncvPViEuGaAEPL3kRpUDVRklN25M39Ql+jbvYF92xW9aQSnXtgtRP3G73pg3J25 7QsTuxnTjN0syAjtihqtRCSwAG52EWvM9O+IF+cj/SsOlgwL1zx9uq5QbVmJE+uxmrd2hHJGBEt cS2IDAo7EtOZbbTZ8dTVfwzFDdF54+J0AOg8fG7c8KCfUzTKZBgS97MTHR1oRpdf0ZaVWCE5BgZ Rk6PEezapMrCOK7VnR4TzHnZgORJKPxzWpFpKa81uBTY+U/RufI71ps2nsuGC1CEe/Z3+BPG7tP kuktVll4DLuomRa9TF69pa3bvHptpYM0k/Aj4H4VTLVL X-Google-Smtp-Source: AGHT+IHR178Dafv3Kc60Hp30OhnydhjemD5ybaZ5rawddI/mdzoQY5qrG9akAWcjXpsGNlgRLxUtsQ== X-Received: by 2002:a05:6512:2356:b0:539:e2cc:d380 with SMTP id 2adb3069b0e04-53dd389c8cbmr1159337e87.27.1732279182268; Fri, 22 Nov 2024 04:39:42 -0800 (PST) Received: from ?IPV6:2a02:2168:b20b:5100:5de5:64c1:f480:28d3? ([2a02:2168:b20b:5100:5de5:64c1:f480:28d3]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53dd2451228sm365319e87.74.2024.11.22.04.39.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Nov 2024 04:39:40 -0800 (PST) From: Nikolay Kudryavtsev X-Google-Original-From: Nikolay Kudryavtsev Message-ID: <64684e77-0a4d-41b7-b24d-842f6db2b151@gmail.com> Date: Fri, 22 Nov 2024 15:39:36 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> Content-Language: ru, en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 (-) Sorry, but your code does not demonstrate at what points you're pushing the mark(s). If you get the file-a marker before doing any write operations, you should be safe: (defun json-diff ()   (interactive)   (let ((buffer-a (find-file (make-temp-file "json-diff"))))     (with-current-buffer buffer-a (push-mark))     ;; At this point we presumably no longer have the mark for buffer-a for some reason     (let ((first-mark (car global-mark-ring)))       (with-current-buffer (marker-buffer first-mark)         (message (format "Working with %s at %s" (buffer-file-name (current-buffer)) (marker-position first-mark))))))) But be aware that you're never really safe if you're relying on the mark ring here. If json-diff is an interactive command, nothing is stopping the user from pushing another mark to the ring in between of specifying file-a and file-b. Even worse if you're trying to get something from the previous command(as you said in the letter before), because you can never be sure what the previous command was and what it did. Also, I don't know where did you get the last-global-mark thing, it's not something that's in the Emacs 29 or 30's core. From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Sean McAfee Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 Nov 2024 18:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.17323013897205 (code B ref 74438); Fri, 22 Nov 2024 18:50:02 +0000 Received: (at 74438) by debbugs.gnu.org; 22 Nov 2024 18:49:49 +0000 Received: from localhost ([127.0.0.1]:55480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEYiy-0001s8-Qg for submit@debbugs.gnu.org; Fri, 22 Nov 2024 13:49:49 -0500 Received: from mail-yb1-f172.google.com ([209.85.219.172]:51588) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEYiv-0001rx-Gm for 74438@debbugs.gnu.org; Fri, 22 Nov 2024 13:49:48 -0500 Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-e388186edbfso2359937276.3 for <74438@debbugs.gnu.org>; Fri, 22 Nov 2024 10:49:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732301324; x=1732906124; darn=debbugs.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=75qNN50t9fYaa0ydAV5ZEfk9rpnMdzjiGEy0vNimk0o=; b=kBP33cpBtmWHISICo9SJPqJY19U6U2/26YQYDhZFE5FKbWx/k3Ffb/npvL+hAr8R5d AUPI6WUW20XQ5ZMMNS0c+wd3uB/KsgH2mlscwuCMnBZJ9P0dGRqtR/Fw7wzebZ2h6hRY o+1fdyX4qhbU7HcFTNfO8IQSUi8un/GwPnenXp84SFG4vaDlxfcyPEGTVBUy1G2h/tyO qt3K26HN021IZ0rOG97GTx+qRqevEM6aZ3HhU16PQxZMNl2rkBU0hzcxvChoazyyKv00 0eizubhl80RlV1sx21cfAAhRGhqrD+euUKAgxF1UvNeKFCrFEeHfFVU/jgOtAjE0lKKs mirQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732301324; x=1732906124; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=75qNN50t9fYaa0ydAV5ZEfk9rpnMdzjiGEy0vNimk0o=; b=qp0Z+QhuLAQtcY6NfTYexDIvmLD58dC+nHGSuX1dVDd0FkeSsZ0h1cwS0gSQy9kC0G aNrOv6uOtgydfIPJRHACHigQKl1YdDvaFD5dtIbnxPIfUbAdwYKKv37fkZXBRogMkQtx 2SYoAtsqGYWYdN6if37XjUPUF2wE7Jl4JYzS3NM2YtDLcJUOG/9OBgNFNtSpzM444ryP VqPrxio9qPW7qE4E7oHN09SPOClaOit//5Rpcwt3Pb3FXtiB5bKuLkDcT6LiD9j6u9JS u+qPDtGItQ0mAmA4BZPbDWYnckPLxMzCly+ZkX5AWKBmixA6x4zuUMSX3lrMFUZ0tMJS d/iA== X-Gm-Message-State: AOJu0YyfSNTGrLpeOYYgDCvn+PgqjhaX0euAaFqW88KZLFrisfa2j8nJ Xs+7kc5eQASpCAx/JI/SE55OCMAlaBeHh3KoFj7oGWre3f0y64h9BlvjpExklnaRu613kV5g6tL 65j4k3LrBwEp//3xE7RLvwTgdOlMCFJRb X-Gm-Gg: ASbGnctIXAI5jfF4E2BLffjRUObZGUl+vz0m2OQSoLzHPkXuVNeca89GHD8hCLBJYx3 eS58GxaW6JPMNoPK2XIHoQzlpoD8aZMGy21Tx7TJr4533c4PPfbuxQ4QkXV4yDACD X-Google-Smtp-Source: AGHT+IFvUngMb3LPWN+D2M4r2fi3AHYqPfZ7co8h9ciygyqOK7FlBpHNEi397kS/1CNULaBFrN7f+bfaar6aq5AU6Fc= X-Received: by 2002:a05:6902:2185:b0:e29:1b94:ef67 with SMTP id 3f1490d57ef6-e38f8afe983mr4025963276.19.1732301324622; Fri, 22 Nov 2024 10:48:44 -0800 (PST) MIME-Version: 1.0 References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> <64684e77-0a4d-41b7-b24d-842f6db2b151@gmail.com> In-Reply-To: <64684e77-0a4d-41b7-b24d-842f6db2b151@gmail.com> From: Sean McAfee Date: Fri, 22 Nov 2024 10:48:33 -0800 Message-ID: Content-Type: multipart/alternative; boundary="000000000000192515062784d51a" 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 (-) --000000000000192515062784d51a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Nov 22, 2024 at 4:39=E2=80=AFAM Nikolay Kudryavtsev < nikolay.kudryavtsev@gmail.com> wrote: > But be aware that you're never really safe if you're relying on the mark > ring here. If json-diff is an interactive command, nothing is stopping > the user from pushing another mark to the ring in between of specifying > file-a and file-b. Yes. The command is intended to be used after setting a mark at the start of a JSON sexp and moving to the start of a JSON sexp somewhere else, and doing nothing else in between. > Also, I don't know where did you get the last-global-mark thing, it's > not something that's in the Emacs 29 or 30's core. > Indeed not. It's from the workaround I described in this thread just yesterday. Welp, I'm done. I've invested more effort into this bug report than I ever thought would be necessary. It's the second time in a row that I've reported a bug to a free software project and had it devolve into me having to defend my use case. Fix the code or the docs, or don't. I'll just use my workaround. --000000000000192515062784d51a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, Nov 22, 2024 at = 4:39=E2=80=AFAM Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com> wrote= :
But be aware that you're never really safe if you're rel= ying on the mark
ring here. If json-diff is an interactive command, nothing is stopping
the user from pushing another mark to the ring in between of specifying file-a and file-b.

Yes.=C2=A0 The command i= s intended to be used after setting a mark at the start of a JSON sexp and = moving to the start of a JSON sexp somewhere else, and doing nothing else i= n between.
=C2=A0
Also, I don't know where did you get the last-global-mark t= hing, it's
not something that's in the Emacs 29 or 30's core.
=

Indeed not.=C2=A0 It's from the workaround I descri= bed in this thread just yesterday.

Welp, I'm d= one.=C2=A0 I've invested more effort into this bug report than I ever t= hought would be necessary.=C2=A0 It's the second time in a row that I&#= 39;ve reported a bug to a free software project and had it devolve into me = having to defend my use case.=C2=A0 Fix the code or the docs, or don't.= =C2=A0 I'll just use my workaround.

--000000000000192515062784d51a-- From unknown Sun Sep 07 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74438: 29.1; global-mark-ring does not work as described Resent-From: Nikolay Kudryavtsev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 Nov 2024 21:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Sean McAfee , 74438@debbugs.gnu.org Received: via spool by 74438-submit@debbugs.gnu.org id=B74438.17323102847049 (code B ref 74438); Fri, 22 Nov 2024 21:19:02 +0000 Received: (at 74438) by debbugs.gnu.org; 22 Nov 2024 21:18:04 +0000 Received: from localhost ([127.0.0.1]:55797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEb2R-0001pc-MQ for submit@debbugs.gnu.org; Fri, 22 Nov 2024 16:18:03 -0500 Received: from mail-lf1-f53.google.com ([209.85.167.53]:49214) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEb2P-0001pB-9W for 74438@debbugs.gnu.org; Fri, 22 Nov 2024 16:18:02 -0500 Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-539f8490856so2869326e87.2 for <74438@debbugs.gnu.org>; Fri, 22 Nov 2024 13:18:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732310220; x=1732915020; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from:from:to:cc :subject:date:message-id:reply-to; bh=t/TjK/g1ZhbDhKbq4Ivw0LrS/LojLszcoY75ImR3lkc=; b=K9HsN1zZP2dNSvB8hMdJzHm/KZZXB1DNoz2VZ9/LwkbtPI2Qff1+cipwuMSYkESZBH 6YmK7G+TZYreyOYKrrbtVVJeU0eor76Jknew/568QlQXs7jrQCRxKxNy9Y8MEHPUyj2z lyv9+29CzNYkf8Tj4io5Qjajd/y7ltcihfCdu9EeoSNMSxIrGc1CuGCdstB3sEuW1ry/ UltTrjc0UHzIQOaIQZFcj8KLP0jD/ClDolTgPxapM6bvdQ4IYuP4vKdzDLhQx0CEHArU 3VtJqDUIA2nSwQ/f9/C4/fNe/N9T8E44oZ9RpqxWUGEzFg6zXlbEzIjF016dyIzif1NC 49IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732310220; x=1732915020; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=t/TjK/g1ZhbDhKbq4Ivw0LrS/LojLszcoY75ImR3lkc=; b=C+zoiUWWChD/QdD2JO556qdHmoUZKaQdGuX8irKRKbRshsU75okMOQrAYgmqqbtM5E t2N8IZ7Vh+TrWlPcLH3ug3n0t9/x95xdxiALDbRrr/1CxKYmq9fr0XWDKCbz1O4UK89S iIhEHfNN6xZIM6yUkY7R/w55TMjFiARWOWXZANmKbLlZCXYmdeLjpZlw1YkRpzYHfW2j qHfRik9jKyldTvGn+Exa5SwUasOTFjqzaDpFHodgh3OpxXh1FXb2yDWxdD0MxsFVwE91 eng6b7pDelxk8+k62Qgdfk4q+SjTAHXMHWKzCR6ZrRTaeWOCipfrHbY5aBfns/02Fhnz nmDw== X-Forwarded-Encrypted: i=1; AJvYcCXxik2RuUOHo46gkmhoT/txCcG6tVBRcqKYrJpno2MOzqJtnNwlYs4aB5KpZOS3OzOyp8WezQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx7DRgi6Qb6u1juvKdYlcSusJvpOunUcWGy3WgXM4YPG7cV5yYm YNCLvy0481JEDNjEfSK0t0+tW6D2TkE2S9h+EfIQWzv6zhP5UcAT X-Gm-Gg: ASbGnctI6s244c4Or1L8AsS2oZQMlpnVenemzKFrv7EIicJnwqnmZBbjN/Tz+RLcLre SAKxGRmUreqGMHHCmPt6EZQyy2tf6dUw1lb9qk6lvfmbJzwlfJSZNAl/lJrkAjUki87eHTwQLcJ YdFJYKej79cdN98pEOceuqWoVKMxgDcqQfg1fJ1B7HSbX0/k3e+CALNp0rvEyf99M/m45S/M0WE hCiM/O2Y3PFZ0WtSddEY99DaQS1RXpVETMChnXGK+14yIzbL7+8l8xUtkFEXmr6h44KHW6usUM6 j8eFDtO56pMYEjNzcfkYwmBKxIM03d2W+2t9Bkd7JopY X-Google-Smtp-Source: AGHT+IHSJTe10hCAAyRufkHXtnjxfPKsVlUzvW1eLvba8k9gPkuvzdcUN0+ldrkl1fD9Mh6TEiZ6aQ== X-Received: by 2002:a05:6512:2808:b0:53d:d96b:aa97 with SMTP id 2adb3069b0e04-53dd96bab58mr1643587e87.23.1732310219836; Fri, 22 Nov 2024 13:16:59 -0800 (PST) Received: from ?IPV6:2a02:2168:b20b:5100:5de5:64c1:f480:28d3? ([2a02:2168:b20b:5100:5de5:64c1:f480:28d3]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53dd2451fa5sm555098e87.75.2024.11.22.13.16.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Nov 2024 13:16:57 -0800 (PST) From: Nikolay Kudryavtsev X-Google-Original-From: Nikolay Kudryavtsev Message-ID: Date: Sat, 23 Nov 2024 00:16:53 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> <64684e77-0a4d-41b7-b24d-842f6db2b151@gmail.com> Content-Language: ru, en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 (-) Don't get me wrong, I'm not trying to attack your use case in any way, just trying to help you solve it in the most efficient way possible. Also trying to make sure that your use-case is really affected by this behavior. Because if I now understand correctly, this should only affect you if you are breaking the "doing nothing else in between" constraint. Anyway, I feel like you can easily get rid of the "doing nothing else in between" limitation if you rework your code to just work with a particular register. From unknown Sun Sep 07 01:43:35 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Sean McAfee Subject: bug#74438: closed (Re: bug#74438: 29.1; global-mark-ring does not work as described) Message-ID: References: <86bjxnk8ex.fsf@gnu.org> X-Gnu-PR-Message: they-closed 74438 X-Gnu-PR-Package: emacs Reply-To: 74438@debbugs.gnu.org Date: Sat, 07 Dec 2024 12:03:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1733572982-2420-1" This is a multi-part message in MIME format... ------------=_1733572982-2420-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #74438: 29.1; global-mark-ring does not work as described which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 74438@debbugs.gnu.org. --=20 74438: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74438 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1733572982-2420-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 74438-done) by debbugs.gnu.org; 7 Dec 2024 12:02:57 +0000 Received: from localhost ([127.0.0.1]:45630 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJtWT-0000cj-Ex for submit@debbugs.gnu.org; Sat, 07 Dec 2024 07:02:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40032) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tJtWQ-0000cT-Sp for 74438-done@debbugs.gnu.org; Sat, 07 Dec 2024 07:02:55 -0500 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 1tJtWL-00062I-Lq; Sat, 07 Dec 2024 07:02:49 -0500 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=hOv0fv5PY5jsh5DKIV8tPl0KDIscNt39FOIxysdkC7o=; b=FfiCBgOrm5hX AlGCNcK38UlyF2eN+0SnN/TxV0pHTer/p1FoE6xHL8SG6yy7L6ZwZEpBVPUW6Oe0aoWEv/Cfs5Bxu +UD5N5RhGHGrboU2FkUp5wzUHJHH/KlqRPzlyTgBTe2FNs/AiGH7OXz7f1OuzY4UV0la4qhGGKOHn olIl3nCcBp8qWOZch92BwxB+pldnSgisBpaki5NQ3p/rDbXlGyf6PXU3FtaZU/PvkG/DO0QC7MlzF c757V6StOw7Yi5mcRo/gX6FbJFQCBVloAzd8/2Ef+YPepA1IjAqtPLhsgibCJGlVJeq3orm7WPaKD sSGVIUeqWCtDvjxeASs2lQ==; Date: Sat, 07 Dec 2024 14:02:46 +0200 Message-Id: <86bjxnk8ex.fsf@gnu.org> From: Eli Zaretskii To: Nikolay Kudryavtsev In-Reply-To: (message from Nikolay Kudryavtsev on Sat, 23 Nov 2024 00:16:53 +0300) Subject: Re: bug#74438: 29.1; global-mark-ring does not work as described References: <37667f67-9c28-4543-a28a-c5d42878dbce@gmail.com> <64684e77-0a4d-41b7-b24d-842f6db2b151@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 74438-done Cc: eefacm@gmail.com, 74438-done@debbugs.gnu.org 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 (---) > From: Nikolay Kudryavtsev > Date: Sat, 23 Nov 2024 00:16:53 +0300 > > Don't get me wrong, I'm not trying to attack your use case in any way, > just trying to help you solve it in the most efficient way possible. > > Also trying to make sure that your use-case is really affected by this > behavior. Because if I now understand correctly, this should only affect > you if you are breaking the "doing nothing else in between" constraint. > > Anyway, I feel like you can easily get rid of the "doing nothing else in > between" limitation if you rework your code to just work with a > particular register. No further comments, so I'm now closing this bug. ------------=_1733572982-2420-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 19 Nov 2024 20:25:25 +0000 Received: from localhost ([127.0.0.1]:44168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDUmp-0008NF-9h for submit@debbugs.gnu.org; Tue, 19 Nov 2024 15:25:25 -0500 Received: from lists.gnu.org ([209.51.188.17]:51426) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tDUml-0008N6-EU for submit@debbugs.gnu.org; Tue, 19 Nov 2024 15:25:21 -0500 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 1tDUmj-0004bm-Jw for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2024 15:25:17 -0500 Received: from mail-yw1-x1132.google.com ([2607:f8b0:4864:20::1132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tDUma-0003up-8j for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2024 15:25:11 -0500 Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-6e2e41bd08bso41645617b3.2 for ; Tue, 19 Nov 2024 12:24:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732047895; x=1732652695; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=1/ssmLKstO4X2fKuZ1P90HRDxGe0+wyQGQ2FkB2malc=; b=ldPLb0TgqhRPS1+gVx/ywEZHlE411aeYmqyMdboyXcl8eIDIaHYoiUlZ+hTLcn++am 6krd5y8+8SmmZey2Ej4pob5BqwkQIHc0MCNVI9I/mtiTUwE7WyoVyB/JxZmFDQ4o6lgj UXkDdAXpyV8PtmbccCnfyXF4q0W9wI1SdlcquuPl+gSLok1gbIeDAvD0rRMLDiMoXUf6 npiFKTfHws41EY8Q5/jU2LRhGtkIDlT6rDkTFBeAGdWePs3aiIwoPXftcKXvjr2EbnZn 2+7GoYWXVG5uXnuaIwZwqCxlmWQW3VW4ZAkEpFIMsIXSSEaWmJKVGa0BofzPwhCOPvvX o7Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732047895; x=1732652695; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=1/ssmLKstO4X2fKuZ1P90HRDxGe0+wyQGQ2FkB2malc=; b=s61HkGTrRxmPw4W0+DV39U/i+R7kWgKLrz+HpxbF9I4z8vd+AHrrYUAEiC0nOKyAbp Ze67ISWmCs/cH55TBR7VAKyP68eHujzfmu4Nbsir9OJHh/bAsZipWmarOk84BpOFDUAr MsYJeX1IU+iwsTp1/wJNAfPoq7c4jt67jde3ixo3oN+I6KKXbbxpzdTT2bJlbhXfYeFD vEEW33YU/xZxlEd+egA7X/9hA/BW2S5CHpxlHoBEoltDXiMLSIl9KOjdzLS/fEUywt4y KCn4tRlbhh+Hi9YhuiDDfyNaIp5kYOn2PyCSQifJgHPOZZpiFNIqWZTYH0p0bc+hHz0e zdzw== X-Gm-Message-State: AOJu0YwnKIT9STIgMq5KfurW2YROwcOwHPcOOMzGJ83ACkeHG7qwKNCu OeuqQe8mn1ySJlpSA+NvwCrkMIEjeFZ0Yc1tsV+WmEoDvg/OFIvc5MrN64+gS0HmTZsWQ+HxZN5 UKDhj11b89ft44xI7e8ddpKocisKTJBj7+KzSfg== X-Google-Smtp-Source: AGHT+IHLDvf6vmBpHYDrOj8ImMjxcRDC5LNtJ0OXWq1ZJ+6VgsIjcPB8cahjuZPRsWl6SUEhC1HcWVHliWrx0A0UnYw= X-Received: by 2002:a05:690c:3391:b0:6e3:bbc:338c with SMTP id 00721157ae682-6eebd0e6530mr2906977b3.6.1732047894137; Tue, 19 Nov 2024 12:24:54 -0800 (PST) MIME-Version: 1.0 From: Sean McAfee Date: Tue, 19 Nov 2024 12:24:43 -0800 Message-ID: Subject: 29.1; global-mark-ring does not work as described To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="00000000000076d493062749d356" Received-SPF: pass client-ip=2607:f8b0:4864:20::1132; envelope-from=eefacm@gmail.com; helo=mail-yw1-x1132.google.com 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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.3 (--) --00000000000076d493062749d356 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Starting from emacs -Q: - Go to a new buffer named "foo". - Set the mark with C-SPC. - Go to a new buffer named "bar". - Set the mark with C-SPC. - Go back to buffer foo. - Set the mark with C-SPC. - Check the value of the global-mark-ring variable, as with C-h v or giving its name to the eval-expression command. The first marker in the ring is the one in buffer bar, not in buffer foo, even though buffer foo is where the mark was most recently set. This behavior contradicts what is described here: https://www.gnu.org/software/emacs/manual/html_node/emacs/Global-Mark-Ring.= html To wit: "Each time you set a mark, this is recorded in the global mark ring in addition to the current buffer=E2=80=99s own mark ring, if you have switched buffers since the previous mark setting." I've tracked the reason for this to the push-mark-command function, which does not push the mark unless it's not at the same place as point, or if it's given a true argument. set-mark-command calls push-mark-command, but passes nil to it unless, puzzlingly, the command's name is not "set-mark-command". For a bit of background, what I want to do is to set the mark at the beginning of a sexp (actually JSON) in one buffer, then go to the start of another sexp in a different buffer, and run a command that compares the two sexps, using the marker at the front of the global mark ring to find the first sexp. But this is unreliable since setting the mark does not necessarily update the global mark ring. Workarounds I've considered include: - Call push-mark-command manually with M-x, or bind it to a key sequence, and call it with a prefix argument. - Alias set-mark-command as a new command with a different name, and use that instead. - Use a custom marker, updated from a custom command. Obviously, none of these are as convenient as using the global mark ring. And in any event, there's still a bug in Emacs, even if only a documentation bug. In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-08-16 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.7.1 Configured using: 'configure --with-ns '--enable-locallisppath=3D/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=3D-DFD_SETSIZE=3D10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=3Dno' Configured features: ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: recentf-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t tracking-mode: t volatile-highlights-mode: t projectile-mode: t elisp-slime-nav-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t shell-dirtrack-mode: t server-mode: t global-flycheck-mode: t flycheck-mode: t minibuffer-depth-indicate-mode: t ido-vertical-mode: t global-undo-tree-mode: t undo-tree-mode: t paredit-mode: t override-global-mode: t desktop-save-mode: t winner-mode: t electric-pair-mode: t savehist-mode: t ido-everywhere: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-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: ~/emacs/copilot.el/copilot hides ~/emacs/copilot ~/emacs/inf-ruby/inf-ruby hides /Users/sean/.emacs.d/elpa/inf-ruby-20240925.49/inf-ruby /Users/sean/.emacs.d/elpa/transient-20241023.1537/transient hides /Applications/Emacs 3.app/Contents/Resources/lisp/transient /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-jump /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-ensure /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-core /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-delight /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-diminish /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-bind-key /Users/sean/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/bind-key /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-lint /Users/sean/.emacs.d/elpa/flim-20240221.1353/sasl hides /Applications/Emacs 3.app/Contents/Resources/lisp/net/sasl /Users/sean/.emacs.d/elpa/seq-2.24/seq hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/seq /Users/sean/.emacs.d/elpa/eldoc-1.15.0/eldoc hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/eldoc Features: (shadow mail-extr emacsbug japan-util kkc ja-dic-utl quail url-cache pulse vc-annotate expand-region subword-mode-expansions text-mode-expansions cc-mode-expansions the-org-mode-expansions ruby-mode-expansions python-el-fgallina-expansions js2-mode-expansions js-mode-expansions html-mode-expansions css-mode-expansions er-basic-expansions expand-region-core expand-region-custom mc-edit-lines goto-addr ag find-dired tabify org-datetree org-capture sh-script display-line-numbers delsel tramp-sh completion docker-tramp tramp-cache tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat elnode db web time-stamp fakir dotassoc kv noflet cl-indent cl-print magit-bookmark bookmark shortdoc help-fns radix-tree recentf tree-widget misearch multi-isearch executable vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view bug-reference magit-extras face-remap emojify apropos tar-mode arc-mode archive-mode ht network-stream slack slack-company slack-unread slack-websocket slack-thread-event slack-room-event slack-star-event slack-reaction-event slack-reply-event slack-typing slack-slash-commands slack-message-event slack-event slack-dialog-edit-element-buffer slack-dialog-buffer slack-dialog slack-stars-buffer slack-search-result-buffer slack-thread-message-compose-buffer slack-file-list-buffer slack-file-info-buffer slack-all-threads-buffer slack-message-buffer slack-user-profile-buffer slack-pinned-items-buffer slack-pinned-item slack-thread-message-buffer slack-room-info-buffer slack-room-buffer slack-message-share-buffer slack-message-edit-buffer slack-room-message-compose-buffer slack-message-compose-buffer slack-message-attachment-preview-buffer slack-action slack-star slack-reminder slack-search slack-message-reaction slack-message-editor slack-message-sender slack-message-notification alert log4e notifications gntp slack-buffer slack-message-formatter slack-thread slack-im slack-channel slack-group slack-conversations slack-create-message slack-attachment slack-selectable slack-bot-message slack-user-message slack-file slack-message slack-message-faces slack-unescape slack-block slack-mrkdwn slack-usergroup slack-reaction slack-modeline slack-room slack-counts slack-user slack-bot slack-dnd-status slack-emoji slack-image slack-request slack-log lui flyspell ispell slack-team slack-team-ws slack-util websocket diary-lib diary-loaddefs json-mode json-snatcher css-mode color sql view java-ts-mode yaml-ts-mode restclient smartparens-python python cap-words superword subword smartparens-scala scala-mode scala-mode-prettify-symbols scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent scala-mode-paragraph scala-mode-syntax scala-mode-lib kotlin-mode kotlin-mode-indent kotlin-mode-lexer org-bullets oc-basic org-element org-persist org-id org-refile avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi smartparens-org org org-macro org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp org-table org-loaddefs cal-menu calendar cal-loaddefs ruby-ts-mode gnus-dired perl6-detect copilot editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch jsonrpc ert ewoc debug backtrace warnings emms-idapi-browser emms-idapi emms-idapi-musicbrainz emms-mpris dbus emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native emms-info-native-spc emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv emms-playing-time emms-info emms-later-do emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate emms-setup emms emms-compat scribd-sentry scribd-airflow scribd-github request scribd-devkube scribd-aws ob-ruby ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat org-version org-macs hmac csv let-alist smartparens-config smartparens-javascript smartparens-text smartparens-ruby smartparens-html smartparens-c smartparens loadhist robe url-http url-auth url-gw nsm inf-ruby ruby-mode smie git-link yasnippet git-timemachine vc-git whitespace dash-functional gnutls tracking shorten ibuf-macs chruby treesit-auto xref-js2 vc vc-dispatcher js2-mode js c-ts-common treesit cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dired-filter f dired-hacks-utils dired-aux dired-x shell-pop term disp-table ehelp beginend volatile-highlights iedit iedit-lib mc-hide-unmatched-lines-mode mc-mark-more tagedit s sgml-mode facemenu dom mc-cycle-cursors multiple-cursors-core rect dtrt-indent advice projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs elisp-slime-nav etags fileloop generator xref project magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff-mode git-commit log-edit message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor shell pcomplete server magit-mode transient benchmark magit-git magit-base magit-section format-spec cursor-sensor crm compat compat-30 ido-completing-read+ memoize cus-edit pp icons minibuf-eldef flycheck find-func diminish gnus nnheader gnus-util time-date mail-utils range mm-util mail-prsvr wid-edit autoinsert misc hl-line cus-load mb-depth ido-vertical-mode undo-tree diff ack compile text-property-search paredit edmacro kmacro dash cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core desktop frameset finder-inf winner elec-pair savehist hippie-exp comint ansi-osc ansi-color ring thingatpt ido cl company-autoloads counsel-autoloads csv-autoloads cyberpunk-theme-autoloads dired-filter-autoloads dired-launch-autoloads dired-ranger-autoloads dired-hacks-utils-autoloads docker-autoloads dtrt-indent-autoloads editorconfig-autoloads ein-autoloads anaphora-autoloads emms-autoloads enh-ruby-mode-autoloads expand-region-autoloads fix-word flycheck-autoloads folding-autoloads ghub-autoloads git-link-autoloads git-timemachine-autoloads epg rfc6068 epg-config gnu-elpa-keyring-update go-mode-autoloads helm-swoop-autoloads helm-autoloads helm-core-autoloads async-autoloads htmlize-autoloads ido-completing-read+-autoloads inf-ruby-autoloads json-mode-autoloads lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads magit-autoloads pcase magit-section-autoloads markdown-mode-autoloads multiple-cursors-autoloads paredit-autoloads pcre2el-autoloads pdf-tools-autoloads rx polymode-autoloads popup-autoloads projectile-autoloads protobuf-mode-autoloads sbt-mode-autoloads scala-mode-autoloads semi-autoloads flim-autoloads apel-autoloads shell-pop-autoloads log4e-autoloads circe-autoloads oauth2-autoloads smartparens-autoloads swift-mode-autoloads swiper-autoloads ivy-autoloads terraform-mode-autoloads hcl-mode-autoloads transient-autoloads treemacs-autoloads posframe-autoloads treepy-autoloads treesit-auto-autoloads volatile-highlights-autoloads dash-autoloads web-mode-autoloads wfnames-autoloads with-editor-autoloads info compat-autoloads xref-js2-autoloads js2-mode-autoloads yaml-mode-autoloads yasnippet-autoloads zenburn-theme-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 7653353 1099840) (symbols 48 86385 1) (strings 32 645539 137118) (string-bytes 1 21255905) (vectors 16 363777) (vector-slots 8 11459569 492070) (floats 8 4731 140) (intervals 56 408064 16183) (buffers 984 303)) --00000000000076d493062749d356 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Starting from emacs -Q:

- Go to a new buff= er named "foo".
- Set the mark with C-SPC.
- Go to a new bu= ffer named "bar".
- Set the mark with C-SPC.
- Go back to b= uffer foo.
- Set the mark with C-SPC.
- Check the value of the global= -mark-ring variable, as with C-h v
=C2=A0 or giving its name to the eval= -expression command.

The first marker in the ring is the one in buff= er bar, not in
buffer foo, even though buffer foo is where the mark was = most
recently set.=C2=A0 This behavior contradicts what is described her= e:

https://www.gnu.org/software/emacs/manual/html_n= ode/emacs/Global-Mark-Ring.html

To wit: "Each time you set = a mark, this is recorded in the global mark
ring in addition to the curr= ent buffer=E2=80=99s own mark ring, if you have
switched buffers since t= he previous mark setting."

I've tracked the reason for this= to the push-mark-command function,
which does not push the mark unless = it's not at the same place as point,
or if it's given a true arg= ument. =C2=A0set-mark-command calls
push-mark-command, but passes nil to= it unless, puzzlingly, the
command's name is not "set-mark-com= mand".

For a bit of background, what I want to = do is to set the mark at the
beginning of a sexp (actually JSON) in one = buffer, then go to the start
of another sexp in a different buffer, and = run a command that compares
the two sexps, using the marker at the front= of the global mark ring to
find the first sexp.=C2=A0 But this is unrel= iable since setting the mark does
not necessarily update the global mark= ring.=C2=A0 Workarounds I've
considered include:

- = Call push-mark-command manually with M-x, or bind it to a key
=C2=A0 seq= uence, and call it with a prefix argument.
- Alias set-mark-command as a= new command with a different name, and use
=C2=A0 that instead.
- Us= e a custom marker, updated from a custom command.

Obviously, none of= these are as convenient as using the global mark
ring.=C2=A0 And i= n any event, there's still a bug in Emacs, even if only a
doc= umentation bug.


In GNU Emacs 29.1 (build 1, aarch64= -apple-darwin21.6.0, NS
=C2=A0appkit-2113.60 Version 12.6.6 (Build 21G64= 6)) of 2023-08-16 built on
=C2=A0armbob.lan
Windowing system distribu= tor 'Apple', version 10.3.2487
System Description: =C2=A0macOS 1= 4.7.1

Configured using:
=C2=A0'configure --with-ns '--ena= ble-locallisppath=3D/Library/Application
=C2=A0Support/Emacs/${version}/= site-lisp:/Library/Application
=C2=A0Support/Emacs/site-lisp' --with= -modules 'CFLAGS=3D-DFD_SETSIZE=3D10000
=C2=A0-DDARWIN_UNLIMITED_SEL= ECT' --with-x-toolkit=3Dno'

Configured features:
ACL GLIB= GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER
PNG RSVG = SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB

Important = settings:
=C2=A0 value of $LANG: en_US.UTF-8
=C2=A0 locale-coding-sys= tem: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:=C2=A0 recentf-mode: t
=C2=A0 emms-mode-line-mode: t
=C2=A0 emms-pla= ying-time-display-mode: t
=C2=A0 emms-playing-time-mode: t
=C2=A0 tra= cking-mode: t
=C2=A0 volatile-highlights-mode: t
=C2=A0 projectile-mo= de: t
=C2=A0 elisp-slime-nav-mode: t
=C2=A0 global-git-commit-mode: t=
=C2=A0 magit-auto-revert-mode: t
=C2=A0 auto-revert-mode: t
=C2= =A0 shell-dirtrack-mode: t
=C2=A0 server-mode: t
=C2=A0 global-flyche= ck-mode: t
=C2=A0 flycheck-mode: t
=C2=A0 minibuffer-depth-indicate-m= ode: t
=C2=A0 ido-vertical-mode: t
=C2=A0 global-undo-tree-mode: t=C2=A0 undo-tree-mode: t
=C2=A0 paredit-mode: t
=C2=A0 override-glob= al-mode: t
=C2=A0 desktop-save-mode: t
=C2=A0 winner-mode: t
=C2= =A0 electric-pair-mode: t
=C2=A0 savehist-mode: t
=C2=A0 ido-everywhe= re: t
=C2=A0 tooltip-mode: t
=C2=A0 global-eldoc-mode: t
=C2=A0 el= doc-mode: t
=C2=A0 show-paren-mode: t
=C2=A0 electric-indent-mode: t<= br>=C2=A0 mouse-wheel-mode: t
=C2=A0 global-prettify-symbols-mode: t
= =C2=A0 prettify-symbols-mode: t
=C2=A0 menu-bar-mode: t
=C2=A0 file-n= ame-shadow-mode: t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-m= ode: t
=C2=A0 blink-cursor-mode: t
=C2=A0 line-number-mode: t
=C2= =A0 transient-mark-mode: t
=C2=A0 auto-composition-mode: t
=C2=A0 aut= o-encryption-mode: t
=C2=A0 auto-compression-mode: t

Load-path sh= adows:
~/emacs/copilot.el/copilot hides ~/emacs/copilot
~/emacs/inf-r= uby/inf-ruby hides /Users/sean/.emacs.d/elpa/inf-ruby-20240925.49/inf-ruby<= br>/Users/sean/.emacs.d/elpa/transient-20241023.1537/transient hides /Appli= cations/Emacs 3.= app/Contents/Resources/lisp/transient
/Users/sean/.emacs.d/elpa/use-= package-20230426.2324/use-package-jump hides /Applications/Emacs 3.app/C= ontents/Resources/lisp/use-package/use-package-jump
/Users/sean/.ema= cs.d/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/= Emacs 3.app/Contents/Resources/lisp/use-package/use-package-ensure=
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-core hi= des /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-pa= ckage-core
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-p= ackage-delight hides /Applications/Emacs 3.app/Contents/Resources/lis= p/use-package/use-package-delight
/Users/sean/.emacs.d/elpa/use-pack= age-20230426.2324/use-package-diminish hides /Applications/Emacs 3.a= pp/Contents/Resources/lisp/use-package/use-package-diminish
/Users/s= ean/.emacs.d/elpa/use-package-20230426.2324/use-package hides /Applications= /Emacs 3.app/Contents/Resources/lisp/use-package/use-package
/Users/se= an/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /Appl= ications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package= -bind-key
/Users/sean/.emacs.d/elpa/bind-key-20230203.2004/bind-key = hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/bind-key=
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hi= des /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-pa= ckage-lint
/Users/sean/.emacs.d/elpa/flim-20240221.1353/sasl hides /= Applications/Emacs 3.app/Contents/Resources/lisp/net/sasl
/Users/sean/.emacs.d/elpa/s= eq-2.24/seq hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/seq=
/Users/sean/.emacs.d/elpa/eldoc-1.15.0/eldoc hides /Applications/Emacs = 3.app/Con= tents/Resources/lisp/emacs-lisp/eldoc

Features:
(shadow mail-= extr emacsbug japan-util kkc ja-dic-utl quail url-cache
pulse vc-annotat= e expand-region subword-mode-expansions
text-mode-expansions cc-mode-exp= ansions the-org-mode-expansions
ruby-mode-expansions python-el-fgallina-= expansions js2-mode-expansions
js-mode-expansions html-mode-expansions c= ss-mode-expansions
er-basic-expansions expand-region-core expand-region-= custom
mc-edit-lines goto-addr ag find-dired tabify org-datetree org-cap= ture
sh-script display-line-numbers delsel tramp-sh completion docker-tr= amp
tramp-cache tramp tramp-loaddefs trampver tramp-integration files-x<= br>tramp-compat elnode db web time-stamp fakir dotassoc kv noflet cl-indent=
cl-print magit-bookmark bookmark shortdoc help-fns radix-tree recentftree-widget misearch multi-isearch executable vc-hg vc-bzr vc-src
vc-s= ccs vc-svn vc-cvs vc-rcs log-view bug-reference magit-extras
face-remap = emojify apropos tar-mode arc-mode archive-mode ht
network-stream slack s= lack-company slack-unread slack-websocket
slack-thread-event slack-room-= event slack-star-event
slack-reaction-event slack-reply-event slack-typi= ng slack-slash-commands
slack-message-event slack-event slack-dialog-edi= t-element-buffer
slack-dialog-buffer slack-dialog slack-stars-buffer
= slack-search-result-buffer slack-thread-message-compose-buffer
slack-fil= e-list-buffer slack-file-info-buffer slack-all-threads-buffer
slack-mess= age-buffer slack-user-profile-buffer slack-pinned-items-buffer
slack-pin= ned-item slack-thread-message-buffer slack-room-info-buffer
slack-room-b= uffer slack-message-share-buffer slack-message-edit-buffer
slack-room-me= ssage-compose-buffer slack-message-compose-buffer
slack-message-attachme= nt-preview-buffer slack-action slack-star
slack-reminder slack-search sl= ack-message-reaction slack-message-editor
slack-message-sender slack-mes= sage-notification alert log4e
notifications gntp slack-buffer slack-mess= age-formatter slack-thread
slack-im slack-channel slack-group slack-conv= ersations
slack-create-message slack-attachment slack-selectable slack-b= ot-message
slack-user-message slack-file slack-message slack-message-fac= es
slack-unescape slack-block slack-mrkdwn slack-usergroup slack-reactio= n
slack-modeline slack-room slack-counts slack-user slack-bot
slack-d= nd-status slack-emoji slack-image slack-request slack-log lui
flyspell i= spell slack-team slack-team-ws slack-util websocket diary-lib
diary-load= defs json-mode json-snatcher css-mode color sql view
java-ts-mode yaml-t= s-mode restclient smartparens-python python cap-words
superword subword = smartparens-scala scala-mode
scala-mode-prettify-symbols scala-mode-imen= u scala-mode-map
scala-mode-fontlock scala-mode-indent scala-mode-paragr= aph
scala-mode-syntax scala-mode-lib kotlin-mode kotlin-mode-indent
k= otlin-mode-lexer org-bullets oc-basic org-element org-persist org-id
org= -refile avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe
ol-irc = ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime
smime = dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group
gnus-undo gn= us-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7
nnoo parse-= time gnus-spec gnus-int gnus-range gnus-win ol-docview
doc-view jka-comp= r image-mode exif ol-bibtex bibtex iso8601 ol-bbdb
ol-w3m ol-doi org-lin= k-doi smartparens-org org org-macro org-pcomplete
org-list org-footnote = org-faces org-entities noutline outline
ob-emacs-lisp org-table org-load= defs cal-menu calendar cal-loaddefs
ruby-ts-mode gnus-dired perl6-detect= copilot editorconfig
editorconfig-core editorconfig-core-handle editorc= onfig-fnmatch jsonrpc
ert ewoc debug backtrace warnings emms-idapi-brows= er emms-idapi
emms-idapi-musicbrainz emms-mpris dbus emms-librefm-stream= xml
emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-historyemms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks
emms= -cue emms-mode-line-icon emms-browser sort emms-volume
emms-volume-sndio= ctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playl= ist-sort emms-last-played emms-player-xine
emms-player-mpd tq emms-lyric= s emms-url emms-streams emms-show-all
emms-tag-editor emms-tag-tracktag = emms-mark emms-mode-line emms-cache
emms-info-native emms-info-native-sp= c emms-info-native-mp3
emms-info-native-ogg emms-info-native-opus emms-i= nfo-native-flac
emms-info-native-vorbis bindat emms-info-exiftool emms-i= nfo-tinytag
emms-info-metaflac emms-info-opusinfo emms-info-ogginfo
e= mms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv
emms= -playing-time emms-info emms-later-do emms-player-mplayer
emms-player-si= mple emms-source-playlist emms-source-file locate
emms-setup emms emms-c= ompat scribd-sentry scribd-airflow scribd-github
request scribd-devkube = scribd-aws ob-ruby ob ob-tangle ol org-src ob-ref
ob-lob ob-table ob-exp= ob-comint ob-core org-cycle org-fold
org-fold-core ob-eval org-keys oc = org-compat org-version org-macs hmac
csv let-alist smartparens-config sm= artparens-javascript smartparens-text
smartparens-ruby smartparens-html = smartparens-c smartparens loadhist
robe url-http url-auth url-gw nsm inf= -ruby ruby-mode smie git-link
yasnippet git-timemachine vc-git whitespac= e dash-functional gnutls
tracking shorten ibuf-macs chruby treesit-auto = xref-js2 vc vc-dispatcher
js2-mode js c-ts-common treesit cc-mode cc-fon= ts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-def= s dired-filter f
dired-hacks-utils dired-aux dired-x shell-pop term disp= -table ehelp
beginend volatile-highlights iedit iedit-lib
mc-hide-unm= atched-lines-mode mc-mark-more tagedit s sgml-mode facemenu
dom mc-cycle= -cursors multiple-cursors-core rect dtrt-indent advice
projectile lisp-m= nt grep ibuf-ext ibuffer ibuffer-loaddefs
elisp-slime-nav etags fileloop= generator xref project magit-submodule
magit-blame magit-stash magit-re= flog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-re= mote magit-commit magit-sequence
magit-notes magit-worktree magit-tag ma= git-merge magit-branch
magit-reset magit-files magit-refs magit-status m= agit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-= diff smerge-mode
diff-mode git-commit log-edit message sendmail yank-med= ia puny dired
dired-loaddefs rfc822 mml mml-sec epa derived mm-decode mm= -bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbr= ev
gmm-utils mailheader pcvs-util add-log magit-core magit-autorevertautorevert filenotify magit-margin magit-transient magit-process
with-e= ditor shell pcomplete server magit-mode transient benchmark
magit-git ma= git-base magit-section format-spec cursor-sensor crm compat
compat-30 id= o-completing-read+ memoize cus-edit pp icons minibuf-eldef
flycheck find= -func diminish gnus nnheader gnus-util time-date mail-utils
range mm-uti= l mail-prsvr wid-edit autoinsert misc hl-line cus-load
mb-depth ido-vert= ical-mode undo-tree diff ack compile
text-property-search paredit edmacr= o kmacro dash cl-extra help-mode
use-package use-package-ensure use-pack= age-delight use-package-diminish
use-package-bind-key bind-key easy-mmod= e use-package-core desktop
frameset finder-inf winner elec-pair savehist= hippie-exp comint ansi-osc
ansi-color ring thingatpt ido cl company-aut= oloads counsel-autoloads
csv-autoloads cyberpunk-theme-autoloads dired-f= ilter-autoloads
dired-launch-autoloads dired-ranger-autoloads
dired-h= acks-utils-autoloads docker-autoloads dtrt-indent-autoloads
editorconfig= -autoloads ein-autoloads anaphora-autoloads emms-autoloads
enh-ruby-mode= -autoloads expand-region-autoloads fix-word
flycheck-autoloads folding-a= utoloads ghub-autoloads git-link-autoloads
git-timemachine-autoloads epg= rfc6068 epg-config gnu-elpa-keyring-update
go-mode-autoloads helm-swoop= -autoloads helm-autoloads
helm-core-autoloads async-autoloads htmlize-au= toloads
ido-completing-read+-autoloads inf-ruby-autoloads json-mode-auto= loads
lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads
ls= p-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads
mag= it-autoloads pcase magit-section-autoloads markdown-mode-autoloads
multi= ple-cursors-autoloads paredit-autoloads pcre2el-autoloads
pdf-tools-auto= loads rx polymode-autoloads popup-autoloads
projectile-autoloads protobu= f-mode-autoloads sbt-mode-autoloads
scala-mode-autoloads semi-autoloads = flim-autoloads apel-autoloads
shell-pop-autoloads log4e-autoloads circe-= autoloads oauth2-autoloads
smartparens-autoloads swift-mode-autoloads sw= iper-autoloads
ivy-autoloads terraform-mode-autoloads hcl-mode-autoloads=
transient-autoloads treemacs-autoloads posframe-autoloads
treepy-aut= oloads treesit-auto-autoloads volatile-highlights-autoloads
dash-autoloa= ds web-mode-autoloads wfnames-autoloads
with-editor-autoloads info compa= t-autoloads xref-js2-autoloads
js2-mode-autoloads yaml-mode-autoloads ya= snippet-autoloads
zenburn-theme-autoloads package browse-url url url-pro= xy url-privacy
url-expand url-methods url-history url-cookie generate-li= sp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source c= l-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt g= v
bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl toolt= ip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-ty= pe
elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util
term/= common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list r= eplace newcomment text-mode lisp-mode prog-mode register
page tab-bar me= nu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lo= ck font-lock syntax font-core term/tty-colors
frame minibuffer nadvice s= eq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc= -lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51= 932 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 the= me-loaddefs faces cus-face macroexp
files window text-properties overlay= sha1 md5 base64 format env
code-pages mule custom widget keymap hashtab= le-print-readable backquote
threads kqueue cocoa ns multi-tty make-netwo= rk-process emacs)

Memory information:
((conses 16 7653353 1099840= )
=C2=A0(symbols 48 86385 1)
=C2=A0(strings 32 645539 137118)
=C2= =A0(string-bytes 1 21255905)
=C2=A0(vectors 16 363777)
=C2=A0(vector-= slots 8 11459569 492070)
=C2=A0(floats 8 4731 140)
=C2=A0(intervals 5= 6 408064 16183)
=C2=A0(buffers 984 303))
--00000000000076d493062749d356-- ------------=_1733572982-2420-1--