GNU bug report logs - #7837
23.2.91; Logging out of GNOME is confusing if Emacs has background processes running

Previous Next

Package: emacs;

Reported by: Reuben Thomas <rrt <at> sc3d.org>

Date: Thu, 13 Jan 2011 19:18:01 UTC

Severity: normal

Found in version 23.2.91

To reply to this bug, email your comments to 7837 AT debbugs.gnu.org.

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

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


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7837; Package emacs. (Thu, 13 Jan 2011 19:18:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Reuben Thomas <rrt <at> sc3d.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 13 Jan 2011 19:18:01 GMT) Full text and rfc822 format available.

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

From: Reuben Thomas <rrt <at> sc3d.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2.91;
	Logging out is confusing if Emacs has background processes running
Date: Thu, 13 Jan 2011 19:24:20 +0000
I=2019m running a more-or-less tip-of-emacs-23 build, largely because it has
improved X session support.

When Emacs has no background processes running, logging out of my GNOME
session and back in works fine: Emacs automatically saves its state (I
use desktop), and is re-run when I log back in.

However, if I have a background process running, for instance a
debugger, then GNOME reports that Emacs is busy, but Emacs itself says
nothing. If I try to quit Emacs (C-x C-c, as normal), then it says it
has running processes and prompts to exit anyway, as normal.

What is missing, therefore, is for Emacs to act as if I=2019ve tried to quit
it when it is signalled by the X session manager. (This is what other
apps do: they immediately bring up the =201cYou have unsaved documents=201d
dialog, or equivalent.)

As ever, do let me know if I can provide any more information. This is
an aspect of Emacs that is promising to work much better in 23.3, and
I=2019d love it to be really solid.


In GNU Emacs 23.2.91.3 (i686-pc-linux-gnu, GTK+ Version 2.22.0)
 of 2010-12-23 on canta
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Python

Minor modes in effect:
  recentf-mode: t
  show-paren-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  iswitchb-mode: t
  icomplete-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  ropemacs-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x r <backspace> e m a <backspace> <backspace> <backspace> 
r e p o r t - e m a c - <backspace> s - b u f g <backspace> 
<backspace> g <return>

Recent messages:
Wrote /home/rrt/.emacs.desktop.lock
Desktop: 4 buffers restored, 23 to restore lazily.
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading /home/rrt/.emacs.d/session.1084ab25e5373fad5312949461585833400000235660035...done
Restored session data
Loading vc-cvs...done
Note: file is write protected [2 times]
uncompressing python.el.gz...done
Note: file is write protected
Lazy desktop load complete

Load-path shadows:
/home/rrt/.emacs.d/elpa/ruby-mode-1.1/ruby-mode hides /usr/share/emacs-snapshot/site-lisp/ruby1.8-elisp/ruby-mode
/home/rrt/local/share/emacs/site-lisp/auto-complete hides /usr/local/share/emacs/23.2.91/site-lisp/auto-complete/auto-complete
/home/rrt/local/share/emacs/site-lisp/auto-complete-config hides /usr/local/share/emacs/23.2.91/site-lisp/auto-complete/auto-complete-config
/home/rrt/local/share/emacs/site-lisp/popup hides /usr/local/share/emacs/23.2.91/site-lisp/auto-complete/popup
/home/rrt/local/share/emacs/site-lisp/fuzzy hides /usr/local/share/emacs/23.2.91/site-lisp/auto-complete/fuzzy
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/link hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/link
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/connection hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/connection
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary-init hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/dictionary-init
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/dictionary
/usr/local/share/emacs/23.2.91/site-lisp/css-mode/css-mode hides /usr/local/share/emacs/23.2.91/lisp/textmodes/css-mode
/home/rrt/.emacs.d/elpa/ruby-mode-1.1/ruby-mode hides /usr/local/share/emacs/23.2.91/lisp/progmodes/ruby-mode
/usr/local/share/emacs/23.2.91/site-lisp/css-mode/css-mode hides /usr/share/emacs/site-lisp/css-mode/css-mode
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/local/share/emacs/23.2.91/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/local/share/emacs/23.2.91/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/local/share/emacs/23.2.91/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/lpath hides /usr/share/emacs/site-lisp/auctex/lpath
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-fptex hides /usr/share/emacs/site-lisp/auctex/tex-fptex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/local/share/emacs/23.2.91/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/local/share/emacs/23.2.91/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/local/share/emacs/23.2.91/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/local/share/emacs/23.2.91/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style

Features:
(shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc
time-date mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util
hashcash mail-utils emacsbug jka-compr parse-time vc-cvs whitespace
vc-dispatcher vc-svn face-remap filladapt flyspell python-21 python
completing-help recentf tree-widget wid-edit uniquify paren savehist
minibuf-eldef iswitchb icomplete autorevert time cus-start cus-load
desktop server change-mode php-mode etags cc-langs cc-mode cc-fonts
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs speedbar
sb-image ezimage dframe lua-mode regexp-opt comint ring ropemacs pymacs
etags-update smart-quotes ispell auto-complete-config auto-complete
popup smex ido auto-dictionary-autoloads dictionary-autoloads
guess-style-autoloads http-post-simple-autoloads js2-mode-autoloads
ruby-mode-autoloads smex-autoloads package reporter advice
advice-preload yasnippet help-fns derived edmacro kmacro easymenu assoc
cl cl-19 muse-autoloads emacs-goodies-el emacs-goodies-custom
emacs-goodies-loaddefs easy-mmode bbdb-autoloads preview-latex tex-site
auto-loads tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode register
page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)

-- 
http://rrt.sc3d.org/




Changed bug title to '23.2.91; Logging out of GNOME is confusing if Emacs has background processes running' from '23.2.91; Logging out is confusing if Emacs has background processes running' Request was from npostavs <at> users.sourceforge.net to control <at> debbugs.gnu.org. (Fri, 05 Aug 2016 01:26:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7837; Package emacs. (Tue, 01 Oct 2019 20:56:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Reuben Thomas <rrt <at> sc3d.org>
Cc: 7837 <at> debbugs.gnu.org
Subject: Re: bug#7837: 23.2.91; Logging out is confusing if Emacs has
 background processes running
Date: Tue, 01 Oct 2019 22:55:01 +0200
Reuben Thomas <rrt <at> sc3d.org> writes:

> I 19m running a more-or-less tip-of-emacs-23 build, largely because it has
> improved X session support.
>
> When Emacs has no background processes running, logging out of my GNOME
> session and back in works fine: Emacs automatically saves its state (I
> use desktop), and is re-run when I log back in.
>
> However, if I have a background process running, for instance a
> debugger, then GNOME reports that Emacs is busy, but Emacs itself says
> nothing. If I try to quit Emacs (C-x C-c, as normal), then it says it
> has running processes and prompts to exit anyway, as normal.
>
> What is missing, therefore, is for Emacs to act as if I 19ve tried to quit
> it when it is signalled by the X session manager. (This is what other
> apps do: they immediately bring up the  1cYou have unsaved documents 1d
> dialog, or equivalent.)

How does the window manager communicate to the apps that it's closing
down?  Is there a standard?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7837; Package emacs. (Tue, 01 Oct 2019 21:00:02 GMT) Full text and rfc822 format available.

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

From: Reuben Thomas <rrt <at> sc3d.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 7837 <at> debbugs.gnu.org
Subject: Re: bug#7837: 23.2.91; Logging out is confusing if Emacs has
 background processes running
Date: Tue, 1 Oct 2019 21:59:04 +0100
[Message part 1 (text/plain, inline)]
On Tue, 1 Oct 2019 at 21:55, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:

> > What is missing, therefore, is for Emacs to act as if I 19ve tried to
> quit
> > it when it is signalled by the X session manager. (This is what other
> > apps do: they immediately bring up the  1cYou have unsaved documents 1d
> > dialog, or equivalent.)
>
> How does the window manager communicate to the apps that it's closing
> down?  Is there a standard?
>

https://www.x.org/releases/X11R7.7/doc/libSM/xsmp.html

Emacs already implements this: see src/xsmfns.c. The problem is its
behaviour when there are background processes.

-- 
https://rrt.sc3d.org
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7837; Package emacs. (Thu, 03 Oct 2019 15:34:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Reuben Thomas <rrt <at> sc3d.org>
Cc: 7837 <at> debbugs.gnu.org
Subject: Re: bug#7837: 23.2.91;
 Logging out is confusing if Emacs has background processes running
Date: Thu, 03 Oct 2019 17:33:09 +0200
Reuben Thomas <rrt <at> sc3d.org> writes:

> https://www.x.org/releases/X11R7.7/doc/libSM/xsmp.html
>
> Emacs already implements this: see src/xsmfns.c. The problem is its behaviour
> when there are background processes.

I guess it's this code?

DEFUN ("handle-save-session", Fhandle_save_session,
       Shandle_save_session, 1, 1, "e",
       doc: /* Handle the save_yourself event from a session manager.
A session manager can tell Emacs that the window system is shutting down
by sending Emacs a save_yourself message.  Emacs executes this function when
such an event occurs.  This function then executes `emacs-session-save'.

[...]

  else if (kill_emacs)
    {
      /* We should not do user interaction here, but it is not easy to
         prevent.  Fix this in next version.  */
      Fkill_emacs (Qnil);

I started a background process that `C-x C-c' will query me about before
exiting, but calling `kill-emacs' directly will kill Emacs without
querying about those processes.

Is there a different path being taken when Emacs gets this event from
the system?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 5 years and 317 days ago.

Previous Next


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