GNU bug report logs - #59522
29.0.50; `C-x C-c' on undeleted frame closes Emacs server

Previous Next

Package: emacs;

Reported by: Igor Epstein <igorepst <at> gmail.com>

Date: Wed, 23 Nov 2022 19:03:02 UTC

Severity: normal

Found in version 29.0.50

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59522 in the body.
You can then email your comments to 59522 AT debbugs.gnu.org in the normal way.

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

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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#59522; Package emacs. (Wed, 23 Nov 2022 19:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Igor Epstein <igorepst <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 23 Nov 2022 19:03:03 GMT) Full text and rfc822 format available.

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

From: Igor Epstein <igorepst <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; `C-x C-c' on undeleted frame closes Emacs server
Date: Wed, 23 Nov 2022 15:40:32 +0200
[Message part 1 (text/plain, inline)]
Hello. There is a sequence of actions that triggers shutting down Emacs
server when using undelete frame and `C-x C-c' it.
1. Start with the following init.el:
(require 'server)
(unless (server-running-p) (server-start))
(undelete-frame-mode)
2. In a graphical terminal emulator, run `emacs'
3. In another window of a terminal emulator, run `emacsclient -c'
4. Ensure the second frame is selected, use `C-x C-c'
5. Undelete the frame and again use `C-x C-c' inside the undeleted frame
6. Observe that both frames are now closed
7. Running `emacsclient -c' produces "can't find socket; have you
started the server?"

As far as I saw, this is not reproducible with `emacsclient -nc' or when
a frame is deleted by `C-x 5 0'.

Thank you in advance.


In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.17.6) of 2022-11-23 built on igorLap
Repository revision: 5e8c62ffcae473b89e268e0081d4041fb19abef7
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Arch Linux

Configured using:
 'configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib
 --localstatedir=/var --with-cairo --with-harfbuzz --with-libsystemd
 --with-modules --with-x-toolkit=gtk3 --with-mailutils --with-sound=alsa
 --with-imagemagick --with-json --with-native-compilation=aot
 --without-xaw3d --without-gsettings --without-gconf --with-small-ja-dic
 --with-xwidgets --without-compress-install 'CFLAGS=-march=native -O2
 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat
 -Werror=format-security -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
 'CXXFLAGS=-march=native -O2 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
 -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ IMAGEMAGICK
JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Info

Minor modes in effect:
  server-mode: t
  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
  isearch-fold-quotes-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  undelete-frame-mode: t
  buffer-read-only: 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 mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date cl-loaddefs
comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra
help-mode bytecomp byte-compile cl-lib mule-util jka-compr info server
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd 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 xwidget-internal dbusbind inotify lcms2 dynamic-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 92407 7513)
 (symbols 48 7581 0)
 (strings 32 23773 1926)
 (string-bytes 1 675142)
 (vectors 16 16493)
 (vector-slots 8 337177 14253)
 (floats 8 128 25)
 (intervals 56 669 0)
 (buffers 984 12))
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59522; Package emacs. (Wed, 23 Nov 2022 20:07:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Igor Epstein <igorepst <at> gmail.com>
Cc: 59522 <at> debbugs.gnu.org
Subject: Re: bug#59522: 29.0.50;
 `C-x C-c' on undeleted frame closes Emacs server
Date: Wed, 23 Nov 2022 22:06:58 +0200
> From: Igor Epstein <igorepst <at> gmail.com>
> Date: Wed, 23 Nov 2022 15:40:32 +0200
> 
> Hello. There is a sequence of actions that triggers shutting down Emacs
> server when using undelete frame and `C-x C-c' it.
> 1. Start with the following init.el:
> (require 'server)
> (unless (server-running-p) (server-start))
> (undelete-frame-mode)
> 2. In a graphical terminal emulator, run `emacs'
> 3. In another window of a terminal emulator, run `emacsclient -c'
> 4. Ensure the second frame is selected, use `C-x C-c'
> 5. Undelete the frame and again use `C-x C-c' inside the undeleted frame
> 6. Observe that both frames are now closed
> 7. Running `emacsclient -c' produces "can't find socket; have you
> started the server?"

I'm not sure I understand the expectation that the above should not shut
down Emacs.  The first "C-x C-c" doesn't do that because you are typing
this in a client frame.  But when you undelete that frame, Emacs cannot make
it a client frame, because it cannot restore connection to emacsclient.  So
it makes an ordinary frame, and then "C-x C-c" shuts down Emacs.

So I' not sure I see a bug here, perhaps just a surprising behavior.  Bottom
line is that undeleting a frame doesn't restore all frame attributes of that
frame.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59522; Package emacs. (Wed, 23 Nov 2022 20:38:01 GMT) Full text and rfc822 format available.

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

From: Igor Epstein <igorepst <at> gmail.com>
To: 59522 <at> debbugs.gnu.org
Subject: Re: bug#59522: 29.0.50;
 `C-x C-c' on undeleted frame closes Emacs server
Date: Wed, 23 Nov 2022 22:37:16 +0200
[Message part 1 (text/plain, inline)]
Now that you explained it, it is obvious this is not a bug indeed.
I didn't realize the undeleted frame stops being a client frame. The
behaviour is
surprising for sure.
Please discard/close the bug. I will try to hack around this for my own
purposes.
Thank you for the explanation, Eli.
[Message part 2 (text/html, inline)]

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Thu, 24 Nov 2022 06:24:02 GMT) Full text and rfc822 format available.

Notification sent to Igor Epstein <igorepst <at> gmail.com>:
bug acknowledged by developer. (Thu, 24 Nov 2022 06:24:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Igor Epstein <igorepst <at> gmail.com>
Cc: 59522-done <at> debbugs.gnu.org
Subject: Re: bug#59522: 29.0.50;
 `C-x C-c' on undeleted frame closes Emacs server
Date: Thu, 24 Nov 2022 08:24:07 +0200
> From: Igor Epstein <igorepst <at> gmail.com>
> Date: Wed, 23 Nov 2022 22:37:16 +0200
> 
> Now that you explained it, it is obvious this is not a bug indeed.
> I didn't realize the undeleted frame stops being a client frame. The behaviour is
> surprising for sure.
> Please discard/close the bug. I will try to hack around this for my own purposes.
> Thank you for the explanation, Eli.

Thanks, closed.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 22 Dec 2022 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 236 days ago.

Previous Next


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