Received: (at 77276) by debbugs.gnu.org; 26 Mar 2025 13:02:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 26 09:02:51 2025 Received: from localhost ([127.0.0.1]:42037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1txQPC-00088S-VQ for submit <at> debbugs.gnu.org; Wed, 26 Mar 2025 09:02:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50844) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1txQPA-00088F-Ag for 77276 <at> debbugs.gnu.org; Wed, 26 Mar 2025 09:02:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1txQP4-0004DW-BN; Wed, 26 Mar 2025 09:02:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=CCv5rBjwPaX2BL8A5+Ihxng7PP4qkQebSSNPG3V8/1U=; b=q6JhBVDsUTWn yEaTz3kGEwpzYhkV/KAxYkqKNezg9rmfv+Dwyi/DPowYYBUKGjk8z2F6y9C3NLlT8S2+8VAbWWozq RLsi2BIYXcsEpYUSc56A099n+JmSsxPMMjOjTD9IrC/fvoEzKuSuHg855xyBo0uOQGBV0l0w9bUuU R4/ss/84459b+z+hPiJUsopDdlBt9EYb1DqypcBR3EyvjKP4AsTkws7BLGSJun7bgxVRGJtI38OkJ JTihnuYQpEhyqkphw44Xy1ti1p+ybYDaPDNoU8Tgt2ALzP3ps0PnXIlvEDbLYScAv1Stslm0O+r1x qDEtjjHUVgV4sNMv85dy/g==; Date: Wed, 26 Mar 2025 15:02:38 +0200 Message-Id: <861pukdjwx.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: "Jay Berkenbilt" <ejb@HIDDEN> In-Reply-To: <b8fec452-f228-45ed-95f8-e9cafdb3829a@HIDDEN> (bug-gnu-emacs@HIDDEN) Subject: Re: bug#77276: 30.1; find-alternate-file no longer disconnects emacsclient References: <b8fec452-f228-45ed-95f8-e9cafdb3829a@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77276 Cc: 77276 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Wed, 26 Mar 2025 07:43:42 -0400 > From: "Jay Berkenbilt" via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > > The issue I'm describing occurs in emacs 30 but not emacs 29 or earlier. I noticed it in during emacs 30.0.93 > but didn't immediately recognize it as a bug. You can see the generated information below, but I have also > reproduced this on macOS with emacs -Q, and it also happens on my Linux system (with emacs -Q) where I > build emacs myself, so I don't believe this is environment-specific. > > When you run emacsclient to open a file in an existing emacs, and then run M-x find-alternate-file on the > same file (e.g., C-x C-v RET), the file loses its connection with emacsclient, but emacsclient does not exit. In > prior versions, emacsclient would exit after C-x C-v RET. > > emacs 30: > shell% emacsclient /tmp/a > emacs: C-x C-v RET ;; emacsclient is still waiting > emacs: C-x # ;; nothing happens; the buffer is no longer connected with emacsclient > > emacs 29 and earlier: > shell% emacsclient /tmp/a > emacs: C-x C-v RET ;; emacsclient exits > emacs: C-x # ;; nothing happens; the buffer is no longer connected with emacsclient > > Explicitly killing the buffer with C-x k does cause emacsclient to exit. > > This is probably related to a change in find-alternate-file as the problem occurs with emacs 30 and > emacsclient from emacs 29 but not with emacs 29 and emacsclient from emacs 30. This was a deliberate change, see bug#65277. The previous behavior was surprising at least, if not a simple bug. > I consider the older behavior to be more desirable and less surprising as emacsclient shouldn't hang around > waiting for an event that will never occur. In both emacs 29 and 30, CTRL-c on emacsclient will cause the > buffer to be removed from emacs before but not after C-x C-v, which I consider to be correct/expected > behavior. The fact that CTRL-c on emacsclient after C-x C-v leaves the buffer alone also shows that > emacsclient is no longer connected to the file in emacs 30 after C-x C-v. Note that explicitly killing the buffer > with C-x k still causes emacsclient to exit. > > I have been using this technique since the dawn of time, perhaps as long as I've been using emacsclient > (which probably goes back to emacs 18 for me) to intentionally disconnect a file from emacsclient. I'm not > sure whether there's a better way. I'm trying to retrain my muscle memory to emacsclient -n, but this change > of behavior has made me realize how deeply this is ingrained into my habits. Anyway, it's not uncommon for > me to do something like `emacsclient *.tf` and then flip through the files doing C-x # on the ones I don't want > and C-x C-v RET on the ones I do. I don't think we should go back to previous behavior, but we might have a user option to get that old behavior back.
bug-gnu-emacs@HIDDEN
:bug#77276
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 26 Mar 2025 11:45:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 26 07:45:03 2025 Received: from localhost ([127.0.0.1]:41800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1txPBt-00018V-PC for submit <at> debbugs.gnu.org; Wed, 26 Mar 2025 07:45:03 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38700) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ejb@HIDDEN>) id 1txPBp-00017t-PZ for submit <at> debbugs.gnu.org; Wed, 26 Mar 2025 07:44:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ejb@HIDDEN>) id 1txPBj-0003Vd-NK for bug-gnu-emacs@HIDDEN; Wed, 26 Mar 2025 07:44:51 -0400 Received: from fhigh-b6-smtp.messagingengine.com ([202.12.124.157]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ejb@HIDDEN>) id 1txPBg-0008LN-C2 for bug-gnu-emacs@HIDDEN; Wed, 26 Mar 2025 07:44:51 -0400 Received: from phl-compute-07.internal (phl-compute-07.phl.internal [10.202.2.47]) by mailfhigh.stl.internal (Postfix) with ESMTP id 2C67825400DE for <bug-gnu-emacs@HIDDEN>; Wed, 26 Mar 2025 07:44:44 -0400 (EDT) Received: from phl-imap-09 ([10.202.2.99]) by phl-compute-07.internal (MEProxy); Wed, 26 Mar 2025 07:44:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ql.org; h=cc :content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1742989484; x=1743075884; bh=Je/Vtmtus5wqvT3KSjAlTnM8q/kDQVAp 6PuR9nubZ7Q=; b=kdWJeHrtoVsO3t7uliw+fO/PdN+HBSdNQkZoRAdXiWuoQRxd HA7H2OeO+0JBktPBxOCx14MEVvS9+089oSMt+FkBhun3JmtFEl1RGujhhyWKxxQV KR6JZVr2mxwfNbC47DPq6L7z2kgvD2fHkaIMJphqP4tiWrqXEZupsyKJoxPQXGFe Tt/SkIhDwszpc8Ary1xIeIiLriLrqtWPdMcqCKj+6SSZYbSvepdWg1BMKqWKfKz9 wMtVX5NoLnfmP75q8PmEUR0zjdFBBDXaightQd3Yqnblprfaox9ZgXnQS4nK1Wq0 vwQK+SBVRKxz5REZFPalfEv4Xlr5Uivvn4qXJg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1742989484; x= 1743075884; bh=Je/Vtmtus5wqvT3KSjAlTnM8q/kDQVAp6PuR9nubZ7Q=; b=E 27NrFN8i4jlIWt05b/VpVTXOsfizM09h4eb/s6EGSPvPDrxrSd4Och1TedRpV4Ph GT7iXhSIv+INuS0tI6OztZg1YUmhzUhj8tiAWF0lFVh0jp4DuW1IvT+dBxoVUPaF N6oisTraanslIyaY9VMto1XcV7/DYQjUr4P9IJCjbbDeytdBLW3N4HRqsY4zIozk YmgfknJw1AqJvZqtxhPdJNcoFIbHySilny433G8PNjwFNTwKMbCQ7hSPCAtLwdfB HktRcs5Vm+3WF9nOLaxV7aB1Z75dvQO8EGvN7D2gw12m4Yc7aLQJkf1bFaEfzLMU E9gazwb/fe1egO3wTn08w== X-ME-Sender: <xms:q-jjZ8_KLl5_jQ1gAKzwPbQupagqrSjtda03lO1-JBmX0D7RnMrtPQ> <xme:q-jjZ0tw7OT1R8ox5rrUhYAV2ESQ-elfMy2Is5dfxQNg-snE3w00AeO-K_y_xuSgS JNyYBf7mdQs0SQRbjI> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduieehgeegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefogg ffhffvkffutgesrgdtreerredttdenucfhrhhomhepfdflrgihuceuvghrkhgvnhgsihhl thdfuceovghjsgesqhhlrdhorhhgqeenucggtffrrghtthgvrhhnpedtieekhefhgeelff ehieeiudetueekffejtdeltdeltddugfduhfehleehvefhgfenucffohhmrghinhepvghm rggtshdrrghpphenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpegvjhgssehqlhdrohhrghdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhht phhouhhtpdhrtghpthhtohepsghughdqghhnuhdqvghmrggtshesghhnuhdrohhrgh X-ME-Proxy: <xmx:q-jjZyCKE2wpJQWDT30wS-bcLYJPriGQRetM9ZJeiPl0zU3FZv0D7A> <xmx:q-jjZ8f7zeyh_TBl-iJVRJiDFYVr_T_A9fAs_Q5x_1fpYfPZhHRS6A> <xmx:q-jjZxPCoM3UBTEi4dYc2J8Qh24ZAWAgPRwX18vX5wCuuLRxx4S3wQ> <xmx:q-jjZ2lQOuCJu6FbjZRnsAexnrlBU6temWLvT1BTIv4rkX8c47w3Bw> <xmx:rOjjZzXLOxBHn4tmOUwV_VNhcBiHm6PiprEqaHoppIeUammGD6FLi1Dl> Feedback-ID: ibd3147ef:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id A4309780068; Wed, 26 Mar 2025 07:44:43 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 Date: Wed, 26 Mar 2025 07:43:42 -0400 From: "Jay Berkenbilt" <ejb@HIDDEN> To: bug-gnu-emacs@HIDDEN Message-Id: <b8fec452-f228-45ed-95f8-e9cafdb3829a@HIDDEN> Subject: 30.1; find-alternate-file no longer disconnects emacsclient Content-Type: multipart/alternative; boundary=8979b2c266374655a65fcc86d4c83541 Received-SPF: pass client-ip=202.12.124.157; envelope-from=ejb@HIDDEN; helo=fhigh-b6-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.3 (/) --8979b2c266374655a65fcc86d4c83541 Content-Type: text/plain Content-Transfer-Encoding: 7bit The issue I'm describing occurs in emacs 30 but not emacs 29 or earlier. I noticed it in during emacs 30.0.93 but didn't immediately recognize it as a bug. You can see the generated information below, but I have also reproduced this on macOS with emacs -Q, and it also happens on my Linux system (with emacs -Q) where I build emacs myself, so I don't believe this is environment-specific. When you run emacsclient to open a file in an existing emacs, and then run M-x find-alternate-file on the same file (e.g., C-x C-v RET), the file loses its connection with emacsclient, but emacsclient does not exit. In prior versions, emacsclient would exit after C-x C-v RET. emacs 30: shell% emacsclient /tmp/a emacs: C-x C-v RET ;; emacsclient is still waiting emacs: C-x # ;; nothing happens; the buffer is no longer connected with emacsclient emacs 29 and earlier: shell% emacsclient /tmp/a emacs: C-x C-v RET ;; emacsclient exits emacs: C-x # ;; nothing happens; the buffer is no longer connected with emacsclient Explicitly killing the buffer with C-x k does cause emacsclient to exit. This is probably related to a change in find-alternate-file as the problem occurs with emacs 30 and emacsclient from emacs 29 but not with emacs 29 and emacsclient from emacs 30. I consider the older behavior to be more desirable and less surprising as emacsclient shouldn't hang around waiting for an event that will never occur. In both emacs 29 and 30, CTRL-c on emacsclient will cause the buffer to be removed from emacs before but not after C-x C-v, which I consider to be correct/expected behavior. The fact that CTRL-c on emacsclient after C-x C-v leaves the buffer alone also shows that emacsclient is no longer connected to the file in emacs 30 after C-x C-v. Note that explicitly killing the buffer with C-x k still causes emacsclient to exit. I have been using this technique since the dawn of time, perhaps as long as I've been using emacsclient (which probably goes back to emacs 18 for me) to intentionally disconnect a file from emacsclient. I'm not sure whether there's a better way. I'm trying to retrain my muscle memory to emacsclient -n, but this change of behavior has made me realize how deeply this is ingrained into my habits. Anyway, it's not uncommon for me to do something like `emacsclient *.tf` and then flip through the files doing C-x # on the ones I don't want and C-x C-v RET on the ones I do. Generated information below. In GNU Emacs 30.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.65 Version 12.7.6 (Build 21H1320)) of 2025-02-24 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.3.2 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no' Configured features: ACL GLIB GMP GNUTLS JPEG LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Terraform Minor modes in effect: terraform-format-on-save-mode: t server-mode: t global-visual-wrap-prefix-mode: t visual-wrap-prefix-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorconfig hides /Applications/Emacs.app/Contents/Resources/lisp/editorconfig <http://emacs.app/Contents/Resources/lisp/editorconfig> /Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorconfig-core hides /Applications/Emacs.app/Contents/Resources/lisp/editorconfig-core <http://emacs.app/Contents/Resources/lisp/editorconfig-core> /Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorconfig-conf-mode hides /Applications/Emacs.app/Contents/Resources/lisp/editorconfig-conf-mode <http://emacs.app/Contents/Resources/lisp/editorconfig-conf-mode> /Users/ejb/elisp/startup hides /Applications/Emacs.app/Contents/Resources/lisp/startup <http://emacs.app/Contents/Resources/lisp/startup> /Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorconfig-tools hides /Applications/Emacs.app/Contents/Resources/lisp/editorconfig-tools <http://emacs.app/Contents/Resources/lisp/editorconfig-tools> /Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorconfig-core-handle hides /Applications/Emacs.app/Contents/Resources/lisp/editorconfig-core-handle <http://emacs.app/Contents/Resources/lisp/editorconfig-core-handle> /Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorconfig-fnmatch hides /Applications/Emacs.app/Contents/Resources/lisp/editorconfig-fnmatch <http://emacs.app/Contents/Resources/lisp/editorconfig-fnmatch> Features: (shadow sort flyspell ispell mail-extr warnings emacsbug imenu terraform-mode dash hcl-mode shell pcomplete yaml-mode misearch multi-isearch vc-git diff-mode track-changes easy-mmode markdown-mode color thingatpt noutline outline cap-words superword subword use-package-ensure cl-extra help-mode use-package-core vc-svn vc vc-dispatcher qmime qmime-compose qmime-view filecache server compile-eslint rx compile ange-ftp comint ansi-osc ansi-color ring message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader cc-styles cc-align cc-engine cc-vars cc-defs jka-compr visual-wrap cus-load advice ahk-mode-autoloads cmake-mode-autoloads company-autoloads dockerfile-mode-autoloads flycheck-golangci-lint-autoloads flymake-go-staticcheck-autoloads go-mode-autoloads groovy-mode-autoloads jinja2-mode-autoloads json-mode-autoloads kotlin-mode-autoloads lsp-mode-autoloads ht-autoloads lua-mode-autoloads lv-autoloads markdown-mode-autoloads mermaid-mode-autoloads prettier-autoloads editorconfig-autoloads nvm-autoloads f-autoloads iter2-autoloads rust-mode-autoloads spinner-autoloads terraform-mode-autoloads hcl-mode-autoloads tide-autoloads flycheck-autoloads s-autoloads info dash-autoloads typescript-mode-autoloads web-mode-autoloads xterm-color-autoloads yaml-mode-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 icons 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 153394 31179) (symbols 48 15524 0) (strings 32 44243 2071) (string-bytes 1 1173627) (vectors 16 23749) (vector-slots 8 232341 13472) (floats 8 195 122) (intervals 56 1844 55) (buffers 992 17)) --8979b2c266374655a65fcc86d4c83541 Content-Type: text/html Content-Transfer-Encoding: quoted-printable <!DOCTYPE html><html><head><title></title><style type=3D"text/css">p.Mso= Normal,p.MsoNoSpacing{margin:0}</style></head><body><div style=3D"font-s= ize:126.56%;">The issue I'm describing occurs in emacs 30 but not emacs = 29 or earlier. I noticed it in during emacs 30.0.93 but didn't immediate= ly recognize it as a bug. You can see the generated information below, b= ut I have also reproduced this on macOS with emacs -Q, and it also happe= ns on my Linux system (with emacs -Q) where I build emacs myself, so I d= on't believe this is environment-specific.<br></div><div style=3D"font-s= ize:126.56%;"><br></div><div style=3D"font-size:126.56%;">When you run e= macsclient to open a file in an existing emacs, and then run M-x find-al= ternate-file on the same file (e.g., C-x C-v RET), the file loses its co= nnection with emacsclient, but emacsclient does not exit. In prior versi= ons, emacsclient would exit after C-x C-v RET.<br></div><div style=3D"fo= nt-size:126.56%;"><br></div><div style=3D"font-size:126.56%;">emacs 30:<= br></div><div style=3D"font-size:126.56%;">shell% emacsclient /tmp/a<br>= </div><div style=3D"font-size:126.56%;">emacs: C-x C-v RET &n= bsp; ;; emacsclient is still waiting<br></div><div style=3D"font-size:12= 6.56%;">emacs: C-x # ;; nothing happens; the buffer is no lo= nger connected with emacsclient<br></div><div style=3D"font-size:126.56%= ;"><br></div><div style=3D"font-size:126.56%;">emacs 29 and earlier:<br>= </div><div style=3D"font-size:126.56%;">shell% emacsclient /tmp/a<br></d= iv><div style=3D"font-size:126.56%;">emacs: C-x C-v RET  = ; ;; emacsclient exits</div><div style=3D"font-size:126.56%;">emacs: C-x= # ;; nothing happens; the buffer is no longer connected wit= h emacsclient<br></div><div style=3D"font-size:126.56%;"><br></div><div = style=3D"font-size:126.56%;">Explicitly killing the buffer with C-x k do= es cause emacsclient to exit.</div><div style=3D"font-size:126.56%;"><br= ></div><div style=3D"font-size:126.56%;">This is probably related to a c= hange in find-alternate-file as the problem occurs with emacs 30 and ema= csclient from emacs 29 but not with emacs 29 and emacsclient from emacs = 30.</div><div style=3D"font-size:126.56%;"><br></div><div style=3D"font-= size:126.56%;">I consider the older behavior to be more desirable and le= ss surprising as emacsclient shouldn't hang around waiting for an event = that will never occur. In both emacs 29 and 30, CTRL-c on emacsclient wi= ll cause the buffer to be removed from emacs before but not after C-x C-= v, which I consider to be correct/expected behavior. The fact that CTRL-= c on emacsclient after C-x C-v leaves the buffer alone also shows that e= macsclient is no longer connected to the file in emacs 30 after C-x C-v.= Note that explicitly killing the buffer with C-x k still causes em= acsclient to exit.<br></div><div style=3D"font-size:126.56%;"><br></div>= <div style=3D"font-size:126.56%;">I have been using this technique since= the dawn of time, perhaps as long as I've been using emacsclient (which= probably goes back to emacs 18 for me) to intentionally disconnect a fi= le from emacsclient. I'm not sure whether there's a better way. I'm tryi= ng to retrain my muscle memory to emacsclient -n, but this change of beh= avior has made me realize how deeply this is ingrained into my habits. A= nyway, it's not uncommon for me to do something like `emacsclient *.tf` = and then flip through the files doing C-x # on the ones I don't want and= C-x C-v RET on the ones I do.</div><div style=3D"font-size:126.56%;"><b= r></div><div style=3D"font-size:126.56%;">Generated information below.<b= r></div><div style=3D"font-size:126.56%;"><br></div><div style=3D"font-s= ize:126.56%;">In GNU Emacs 30.1 (build 1, aarch64-apple-darwin21.6.0, NS= <br></div><div style=3D"font-size:126.56%;">appkit-2113.65 Version 12.7.= 6 (Build 21H1320)) of 2025-02-24 built on<br style=3D"max-width:100%;hei= ght:auto;"></div><div style=3D"font-size:126.56%;">armbob.lan<br style=3D= "max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">Wi= ndowing system distributor 'Apple', version 10.3.2575<br style=3D"max-wi= dth:100%;height:auto;"></div><div style=3D"font-size:126.56%;">System De= scription: macOS 15.3.2<br style=3D"max-width:100%;height:auto;"><= /div><div style=3D"font-size:126.56%;"><br style=3D"max-width:100%;heigh= t:auto;"></div><div style=3D"font-size:126.56%;">Configured using:<br st= yle=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56= %;">'configure --with-ns '--enable-locallisppath=3D/Library/Application<= br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:1= 26.56%;">Support/Emacs/${version}/site-lisp:/Library/Application<br styl= e=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;= ">Support/Emacs/site-lisp' --with-modules 'CFLAGS=3D-DFD_SETSIZE=3D10000= <br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:= 126.56%;">-DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=3Dno'<br style=3D"= max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;"><br= style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126= .56%;">Configured features:<br style=3D"max-width:100%;height:auto;"></d= iv><div style=3D"font-size:126.56%;">ACL GLIB GMP GNUTLS JPEG LIBXML2 MO= DULES NOTIFY KQUEUE NS PDUMPER PNG<br style=3D"max-width:100%;height:aut= o;"></div><div style=3D"font-size:126.56%;">RSVG SQLITE3 THREADS TIFF TO= OLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB<br style=3D"max-width:100%;h= eight:auto;"></div><div style=3D"font-size:126.56%;"><br style=3D"max-wi= dth:100%;height:auto;"></div><div style=3D"font-size:126.56%;">Important= settings:<br style=3D"max-width:100%;height:auto;"></div><div style=3D"= font-size:126.56%;"> value of $LANG: en_US.UTF-8<br style=3D"max-w= idth:100%;height:auto;"></div><div style=3D"font-size:126.56%;"> l= ocale-coding-system: utf-8-unix<br style=3D"max-width:100%;height:auto;"= ></div><div style=3D"font-size:126.56%;"><br style=3D"max-width:100%;hei= ght:auto;"></div><div style=3D"font-size:126.56%;">Major mode: Terraform= <br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:= 126.56%;"><br style=3D"max-width:100%;height:auto;"></div><div style=3D"= font-size:126.56%;">Minor modes in effect:<br style=3D"max-width:100%;he= ight:auto;"></div><div style=3D"font-size:126.56%;"> terraform-for= mat-on-save-mode: t<br style=3D"max-width:100%;height:auto;"></div><div = style=3D"font-size:126.56%;"> server-mode: t<br style=3D"max-width= :100%;height:auto;"></div><div style=3D"font-size:126.56%;"> globa= l-visual-wrap-prefix-mode: t<br style=3D"max-width:100%;height:auto;"></= div><div style=3D"font-size:126.56%;"> visual-wrap-prefix-mode: t<= br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:1= 26.56%;"> tooltip-mode: t<br style=3D"max-width:100%;height:auto;"= ></div><div style=3D"font-size:126.56%;"> global-eldoc-mode: t<br = style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.= 56%;"> show-paren-mode: t<br style=3D"max-width:100%;height:auto;"= ></div><div style=3D"font-size:126.56%;"> electric-indent-mode: t<= br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:1= 26.56%;"> mouse-wheel-mode: t<br style=3D"max-width:100%;height:au= to;"></div><div style=3D"font-size:126.56%;"> file-name-shadow-mod= e: t<br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-s= ize:126.56%;"> global-font-lock-mode: t<br style=3D"max-width:100%= ;height:auto;"></div><div style=3D"font-size:126.56%;"> font-lock-= mode: t<br style=3D"max-width:100%;height:auto;"></div><div style=3D"fon= t-size:126.56%;"> blink-cursor-mode: t<br style=3D"max-width:100%;= height:auto;"></div><div style=3D"font-size:126.56%;"> minibuffer-= regexp-mode: t<br style=3D"max-width:100%;height:auto;"></div><div style= =3D"font-size:126.56%;"> column-number-mode: t<br style=3D"max-wid= th:100%;height:auto;"></div><div style=3D"font-size:126.56%;"> lin= e-number-mode: t<br style=3D"max-width:100%;height:auto;"></div><div sty= le=3D"font-size:126.56%;"> auto-composition-mode: t<br style=3D"ma= x-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;"> = ; auto-encryption-mode: t<br style=3D"max-width:100%;height:auto;"></div= ><div style=3D"font-size:126.56%;"> auto-compression-mode: t<br st= yle=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56= %;"><br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-s= ize:126.56%;">Load-path shadows:<br style=3D"max-width:100%;height:auto;= "></div><div style=3D"font-size:126.56%;">/Users/ejb/.emacs.d/elpa/edito= rconfig-20240604.602/editorconfig hides /Applications/<a href=3D"http://= emacs.app/Contents/Resources/lisp/editorconfig">Emacs.app/Contents/Resou= rces/lisp/editorconfig</a><br style=3D"max-width:100%;height:auto;"></di= v><div style=3D"font-size:126.56%;">/Users/ejb/.emacs.d/elpa/editorconfi= g-20240604.602/editorconfig-core hides /Applications/<a href=3D"http://e= macs.app/Contents/Resources/lisp/editorconfig-core">Emacs.app/Contents/R= esources/lisp/editorconfig-core</a><br style=3D"max-width:100%;height:au= to;"></div><div style=3D"font-size:126.56%;">/Users/ejb/.emacs.d/elpa/ed= itorconfig-20240604.602/editorconfig-conf-mode hides /Applications/<a hr= ef=3D"http://emacs.app/Contents/Resources/lisp/editorconfig-conf-mode">E= macs.app/Contents/Resources/lisp/editorconfig-conf-mode</a><br style=3D"= max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">/Us= ers/ejb/elisp/startup hides /Applications/<a href=3D"http://emacs.app/Co= ntents/Resources/lisp/startup">Emacs.app/Contents/Resources/lisp/startup= </a><br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-s= ize:126.56%;">/Users/ejb/.emacs.d/elpa/editorconfig-20240604.602/editorc= onfig-tools hides /Applications/<a href=3D"http://emacs.app/Contents/Res= ources/lisp/editorconfig-tools">Emacs.app/Contents/Resources/lisp/editor= config-tools</a><br style=3D"max-width:100%;height:auto;"></div><div sty= le=3D"font-size:126.56%;">/Users/ejb/.emacs.d/elpa/editorconfig-20240604= .602/editorconfig-core-handle hides /Applications/<a href=3D"http://emac= s.app/Contents/Resources/lisp/editorconfig-core-handle">Emacs.app/Conten= ts/Resources/lisp/editorconfig-core-handle</a><br style=3D"max-width:100= %;height:auto;"></div><div style=3D"font-size:126.56%;">/Users/ejb/.emac= s.d/elpa/editorconfig-20240604.602/editorconfig-fnmatch hides /Applicati= ons/<a href=3D"http://emacs.app/Contents/Resources/lisp/editorconfig-fnm= atch">Emacs.app/Contents/Resources/lisp/editorconfig-fnmatch</a><br styl= e=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;= "><br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-siz= e:126.56%;">Features:<br style=3D"max-width:100%;height:auto;"></div><di= v style=3D"font-size:126.56%;">(shadow sort flyspell ispell mail-extr wa= rnings emacsbug imenu<br style=3D"max-width:100%;height:auto;"></div><di= v style=3D"font-size:126.56%;">terraform-mode dash hcl-mode shell pcompl= ete yaml-mode misearch<br style=3D"max-width:100%;height:auto;"></div><d= iv style=3D"font-size:126.56%;">multi-isearch vc-git diff-mode track-cha= nges easy-mmode markdown-mode<br style=3D"max-width:100%;height:auto;"><= /div><div style=3D"font-size:126.56%;">color thingatpt noutline outline = cap-words superword subword<br style=3D"max-width:100%;height:auto;"></d= iv><div style=3D"font-size:126.56%;">use-package-ensure cl-extra help-mo= de use-package-core vc-svn vc<br style=3D"max-width:100%;height:auto;"><= /div><div style=3D"font-size:126.56%;">vc-dispatcher qmime qmime-compose= qmime-view filecache server<br style=3D"max-width:100%;height:auto;"></= div><div style=3D"font-size:126.56%;">compile-eslint rx compile ange-ftp= comint ansi-osc ansi-color ring<br style=3D"max-width:100%;height:auto;= "></div><div style=3D"font-size:126.56%;">message sendmail yank-media pu= ny dired dired-loaddefs rfc822 mml mml-sec<br style=3D"max-width:100%;he= ight:auto;"></div><div style=3D"font-size:126.56%;">epa derived epg rfc6= 068 epg-config gnus-util text-property-search<br style=3D"max-width:100%= ;height:auto;"></div><div style=3D"font-size:126.56%;">time-date mm-deco= de mm-bodies mm-encode mail-parse rfc2231 rfc2047<br style=3D"max-width:= 100%;height:auto;"></div><div style=3D"font-size:126.56%;">rfc2045 mm-ut= il ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils<br style=3D"max= -width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">mailhe= ader cc-styles cc-align cc-engine cc-vars cc-defs jka-compr<br style=3D"= max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">vis= ual-wrap cus-load advice ahk-mode-autoloads cmake-mode-autoloads<br styl= e=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;= ">company-autoloads dockerfile-mode-autoloads<br style=3D"max-width:100%= ;height:auto;"></div><div style=3D"font-size:126.56%;">flycheck-golangci= -lint-autoloads flymake-go-staticcheck-autoloads<br style=3D"max-width:1= 00%;height:auto;"></div><div style=3D"font-size:126.56%;">go-mode-autolo= ads groovy-mode-autoloads jinja2-mode-autoloads<br style=3D"max-width:10= 0%;height:auto;"></div><div style=3D"font-size:126.56%;">json-mode-autol= oads kotlin-mode-autoloads lsp-mode-autoloads<br style=3D"max-width:100%= ;height:auto;"></div><div style=3D"font-size:126.56%;">ht-autoloads lua-= mode-autoloads lv-autoloads markdown-mode-autoloads<br style=3D"max-widt= h:100%;height:auto;"></div><div style=3D"font-size:126.56%;">mermaid-mod= e-autoloads prettier-autoloads editorconfig-autoloads<br style=3D"max-wi= dth:100%;height:auto;"></div><div style=3D"font-size:126.56%;">nvm-autol= oads f-autoloads iter2-autoloads rust-mode-autoloads<br style=3D"max-wid= th:100%;height:auto;"></div><div style=3D"font-size:126.56%;">spinner-au= toloads terraform-mode-autoloads hcl-mode-autoloads<br style=3D"max-widt= h:100%;height:auto;"></div><div style=3D"font-size:126.56%;">tide-autolo= ads flycheck-autoloads s-autoloads info dash-autoloads<br style=3D"max-w= idth:100%;height:auto;"></div><div style=3D"font-size:126.56%;">typescri= pt-mode-autoloads web-mode-autoloads xterm-color-autoloads<br style=3D"m= ax-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">yaml= -mode-autoloads package browse-url url url-proxy url-privacy<br style=3D= "max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">ur= l-expand url-methods url-history url-cookie generate-lisp-file<br style=3D= "max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">ur= l-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq<br s= tyle=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.5= 6%;">eieio eieio-core cl-macs icons password-cache json subr-x map byte-= opt<br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-si= ze:126.56%;">gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc is= o-transl<br style=3D"max-width:100%;height:auto;"></div><div style=3D"fo= nt-size:126.56%;">tooltip cconv eldoc paren electric uniquify ediff-hook= vc-hooks<br style=3D"max-width:100%;height:auto;"></div><div style=3D"f= ont-size:126.56%;">lisp-float-type elisp-mode mwheel term/ns-win ns-win = ucs-normalize<br style=3D"max-width:100%;height:auto;"></div><div style=3D= "font-size:126.56%;">mule-util term/common-win tool-bar dnd fontset imag= e regexp-opt fringe<br style=3D"max-width:100%;height:auto;"></div><div = style=3D"font-size:126.56%;">tabulated-list replace newcomment text-mode= lisp-mode prog-mode register<br style=3D"max-width:100%;height:auto;"><= /div><div style=3D"font-size:126.56%;">page tab-bar menu-bar rfn-eshadow= isearch easymenu timer select<br style=3D"max-width:100%;height:auto;">= </div><div style=3D"font-size:126.56%;">scroll-bar mouse jit-lock font-l= ock syntax font-core term/tty-colors<br style=3D"max-width:100%;height:a= uto;"></div><div style=3D"font-size:126.56%;">frame minibuffer nadvice s= eq simple cl-generic indonesian philippine<br style=3D"max-width:100%;he= ight:auto;"></div><div style=3D"font-size:126.56%;">cham georgian utf-8-= lang misc-lang vietnamese tibetan thai tai-viet lao<br style=3D"max-widt= h:100%;height:auto;"></div><div style=3D"font-size:126.56%;">korean japa= nese eucjp-ms cp51932 hebrew greek romanian slovak czech<br style=3D"max= -width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">europe= an ethiopic indian cyrillic chinese composite emoji-zwj charscript<br st= yle=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56= %;">charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclos= ure<br style=3D"max-width:100%;height:auto;"></div><div style=3D"font-si= ze:126.56%;">cl-preloaded button loaddefs theme-loaddefs faces cus-face = macroexp<br style=3D"max-width:100%;height:auto;"></div><div style=3D"fo= nt-size:126.56%;">files window text-properties overlay sha1 md5 base64 f= ormat env<br style=3D"max-width:100%;height:auto;"></div><div style=3D"f= ont-size:126.56%;">code-pages mule custom widget keymap hashtable-print-= readable backquote<br style=3D"max-width:100%;height:auto;"></div><div s= tyle=3D"font-size:126.56%;">threads kqueue cocoa ns multi-tty make-netwo= rk-process emacs)<br style=3D"max-width:100%;height:auto;"></div><div st= yle=3D"font-size:126.56%;"><br style=3D"max-width:100%;height:auto;"></d= iv><div style=3D"font-size:126.56%;">Memory information:<br style=3D"max= -width:100%;height:auto;"></div><div style=3D"font-size:126.56%;">((cons= es 16 153394 31179) (symbols 48 15524 0) (strings 32 44243 2071)<br styl= e=3D"max-width:100%;height:auto;"></div><div style=3D"font-size:126.56%;= ">(string-bytes 1 1173627) (vectors 16 23749)<br style=3D"max-width:100%= ;height:auto;"></div><div style=3D"font-size:126.56%;">(vector-slots 8 2= 32341 13472) (floats 8 195 122)<br style=3D"max-width:100%;height:auto;"= ></div><div style=3D"font-size:126.56%;">(intervals 56 1844 55) (buffers= 992 17))<br style=3D"max-width:100%;height:auto;"></div><div style=3D"f= ont-size:126.56%;"><br style=3D"max-width:100%;height:auto;"></div></bod= y></html> --8979b2c266374655a65fcc86d4c83541--
"Jay Berkenbilt" <ejb@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#77276
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.