Subject: bug#17352: .emacs.desktop has become unportable between GUI and TTY.

From: Juanma Barranquero <[email-masked]>
Date: Sun, 27 Apr 2014 14:29:44 +0200

On Sun, Apr 27, 2014 at 11:02 AM, Alan Mackenzie <[email-masked]> wrote:

I don't have access to a GNU/Linux system, so let's try to analyze the
problem step by step from your side.

> With a throwaway userid, in a Linux tty (virtual terminal), start Emacs
> and create a ~/.emacs containing the single line
>
>     (desktop-save-mode 1)
>
> Evaluate this form with C-x C-e.
>
> With .emacs in the current window, visit a new file in a new frame with
> C-x 5 C-f asdf <RET>, put some random text into the new buffer and save
> it with C-x C-s.  Exit Emacs with C-x C-c.

After this, please tell me the value of desktop-saved-frameset in the
.emacs.desktop file.

> With the same userid, in X Windows, open a terminal and start Emacs (with
> no command line arguments).  This produces the aforementioned error
> messages:
>
>     Error (frameset): Font `tty' is not defined [2 times]
>     Warning (frameset): Attempt to delete the sole visible or iconified frame
>
> .  Only one frame is currently open.
>
> Now close this Emacs session with C-x C-c

Also after this step.

> and attempt to start another
> session on the tty.  In the *scratch* buffer (apparently) appear the
> following error messages:
>
>     (emacs:3488): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
>     Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
>
> , the pair being repeated 9 times (for a total of twenty messages).  Each
> one started directly below where the previous one ended (as though a Unix
> file was being displayed on a device expecting MS-DOS line terminators).
> This Emacs is unusable, some control characters not being interpreted.
> For example, on typing M-x, "^[x" gets displayed in the minibuffer
> region, and the minibuffer is not active.  C-x C-c works, however.

I don't understand why should this happen. Could you also please try
your recipe, but in the fist step, put this in your .emacs

   (setq desktop-restore-frames nil)
   (desktop-save-mode 1)

instead, to make sure that all problems do indeed depend on frameset
restoration.

Thanks,

    J