GNU bug report logs - #70931
29.3; scratch

Previous Next

Package: emacs;

Reported by: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>

Date: Tue, 14 May 2024 09:54:01 UTC

Severity: normal

Found in version 29.3

Done: Eli Zaretskii <eliz <at> gnu.org>

To reply to this bug, email your comments to 70931 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#70931; Package emacs. (Tue, 14 May 2024 09:54:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 14 May 2024 09:54:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>
To: Bug-gnu Emacs <bug-gnu-emacs <at> gnu.org>
Subject: 29.3; scratch
Date: Tue, 14 May 2024 04:52:59 -0500
$ Open -n -a /Applications/Emacs.app --args -Q

(find-file "/tmp/x") ; then Control-J

;; A buffer appears named x
;; containing the text #<buffer x>
;; but that text should instead be in the buffer named *scratch*

		Peace
			--Devon

In GNU Emacs 29.3 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60
 Version 10.14.6 (Build 18G9323)) of 2024-03-24 built on
 builder10-14.lan
Windowing system distributor 'Apple', version 10.3.1671
System Description:  Mac OS X 10.14.6

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 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: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils 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 37812 5781)
 (symbols 48 5049 0)
 (strings 32 13286 1904)
 (string-bytes 1 381717)
 (vectors 16 10381)
 (vector-slots 8 162645 14115)
 (floats 8 21 23)
 (intervals 56 226 0)
 (buffers 984 12))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70931; Package emacs. (Tue, 14 May 2024 10:47:01 GMT) Full text and rfc822 format available.

Message #8 received at 70931 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>
Cc: 70931 <at> debbugs.gnu.org
Subject: Re: bug#70931: 29.3; scratch
Date: Tue, 14 May 2024 13:46:17 +0300
> Date: Tue, 14 May 2024 04:52:59 -0500
> From: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>
> 
> $ Open -n -a /Applications/Emacs.app --args -Q
> 
> (find-file "/tmp/x") ; then Control-J
> 
> ;; A buffer appears named x
> ;; containing the text #<buffer x>
> ;; but that text should instead be in the buffer named *scratch*

Thanks.  This was caused by a too-eager simplification made back when
Emacs 26 was being developed.

Does the patch below give good results?

CC'ing Stefan in case he has comments.

diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 84814c9..d96fbbd 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -1557,13 +1557,16 @@ elisp--eval-last-sexp
   (pcase-let*
       ((`(,insert-value ,no-truncate ,char-print-limit)
         (eval-expression-get-print-arguments eval-last-sexp-arg-internal)))
-    ;; Setup the lexical environment if lexical-binding is enabled.
-    (elisp--eval-last-sexp-print-value
-     (eval (macroexpand-all
-            (eval-sexp-add-defvars
-             (elisp--eval-defun-1 (macroexpand (elisp--preceding-sexp)))))
-           lexical-binding)
-     (if insert-value (current-buffer) t) no-truncate char-print-limit)))
+    ;; The expression might change to a different buffer, so record that
+    ;; now.
+    (let ((output (if insert-value (current-buffer) t)))
+      ;; Setup the lexical environment if lexical-binding is enabled.
+      (elisp--eval-last-sexp-print-value
+       (eval (macroexpand-all
+              (eval-sexp-add-defvars
+               (elisp--eval-defun-1 (macroexpand (elisp--preceding-sexp)))))
+             lexical-binding)
+       output no-truncate char-print-limit))))
 
 (defun elisp--eval-last-sexp-print-value
     (value output &optional no-truncate char-print-limit)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70931; Package emacs. (Tue, 14 May 2024 12:01:02 GMT) Full text and rfc822 format available.

Message #11 received at 70931 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>
Cc: 70931 <at> debbugs.gnu.org
Subject: Re: bug#70931: 29.3; scratch
Date: Tue, 14 May 2024 14:57:42 +0300
[Please use Reply All to reply, to keep the bug address CC;ed.]

> Date: Tue, 14 May 2024 06:40:48 -0500
> From: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>
> 
> I applied the patch and byte-compiled lisp/progmodes/elisp-mode.el
> but a freshly launched emacs does not see the patch
> unless I explicitly load the patched file.

That's expected, since elisp-mode is preloaded.

> P.S.  Yes, it works after I load it by hand.

Thanks for testing.




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 18 May 2024 09:58:02 GMT) Full text and rfc822 format available.

Notification sent to Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>:
bug acknowledged by developer. (Sat, 18 May 2024 09:58:02 GMT) Full text and rfc822 format available.

Message #16 received at 70931-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Emacs-hacker2023 <at> jovi.net
Cc: 70931-done <at> debbugs.gnu.org
Subject: Re: bug#70931: 29.3; scratch
Date: Sat, 18 May 2024 12:57:39 +0300
> Cc: 70931 <at> debbugs.gnu.org
> Date: Tue, 14 May 2024 14:57:42 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> [Please use Reply All to reply, to keep the bug address CC;ed.]
> 
> > Date: Tue, 14 May 2024 06:40:48 -0500
> > From: Devon Sean McCullough <Emacs-hacker2023 <at> jovi.net>
> > 
> > I applied the patch and byte-compiled lisp/progmodes/elisp-mode.el
> > but a freshly launched emacs does not see the patch
> > unless I explicitly load the patched file.
> 
> That's expected, since elisp-mode is preloaded.
> 
> > P.S.  Yes, it works after I load it by hand.
> 
> Thanks for testing.

Now installed on the master branch, and closing the bug.




This bug report was last modified 14 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.