Subject: 26.0.90; "Invalid client frame" when doing save-buffers-kill-terminal

From: Kaushal Modi <[email-masked]>
Date: Mon, 30 Oct 2017 17:10:13 +0000

X-Debbugs-CC: [email-masked]

Hello,

Normally (99.99% of the time), I run emacs using emacsclient.

Today I happened to run it with just emacs&. But then when I tried to quit
via save-buffers-kill-terminal, I got "Invalid client frame".

In files.el, we have:

(defun save-buffers-kill-terminal (&optional arg)
  "Offer to save each buffer, then kill the current connection.
If the current frame has no client, kill Emacs itself using
`save-buffers-kill-emacs'.

With prefix ARG, silently save all file-visiting buffers, then kill.

If emacsclient was started with a list of filenames to edit, then
only these files will be asked to be saved."
  (interactive "P")
  (if (frame-parameter nil 'client)
      (server-save-buffers-kill-terminal arg)
    (save-buffers-kill-emacs arg)))

When I eval'ed (frame-parameter nil 'client), I got "Unprintable entity"!

So server-save-buffers-kill-terminal gets called incorrectly instead of
save-buffers-kill-emacs when I actually do not have the emacsclient or
daemon running.

I do not see this issue on emacs 25.3 using my same emacs config.

Copying Martin as he might have an idea what could have caused this
regression.

In GNU Emacs 26.0.90 (build 14, x86_64-pc-linux-gnu, GTK+ Version 2.24.23)
 of 2017-10-26
Repository revision: 646e56e150ca08978d6ce736b12867b4958a0cd8
Windowing system distributor 'The X.Org Foundation', version 11.0.60900000
System Description: Red Hat Enterprise Linux Workstation release 6.6
(Santiago)

Recent messages:
Quit [4 times]
Ag finished
Mark saved where search started
Ag finished
nil
Entering debugger...
uncompressing files.el.gz...done
"Unprintable entity" [2 times]
Mark saved where search started
Mark set
"Unprintable entity"
Configured using:
 'configure --with-modules
 --prefix=/home/kmodi/usr_local/apps/6/emacs/emacs-26
 '--program-transform-name=s/^ctags$/ctags_emacs/'
 'CPPFLAGS=-I/home/kmodi/usr_local/6/include -I/usr/include/freetype2
 -I/usr/include' 'CFLAGS=-ggdb3 -O0' 'CXXFLAGS=-ggdb3 -O0'
 'LDFLAGS=-L/home/kmodi/usr_local/6/lib -L/home/kmodi/usr_local/6/lib64
 -ggdb3'
 PKG_CONFIG_PATH=/home/kmodi/usr_local/6/lib/pkgconfig:/home/kmodi/usr_local/6/lib64/pkgconfig:/cad/adi/apps/gnu/linux/x86_64/6/lib/pkgconfig:/cad/adi/apps/gnu/linux/x86_64/6/lib64/pkgconfig:/home/kmodi/stowed/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig:/lib64/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK2 X11 MODULES

-- 

Kaushal Modi