* bug#7837: 23.2.91; Logging out is confusing if Emacs has background processes running
@ 2011-01-13 19:24 Reuben Thomas
2019-10-01 20:55 ` Lars Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Reuben Thomas @ 2011-01-13 19:24 UTC (permalink / raw)
To: 7837
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/
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#7837: 23.2.91; Logging out is confusing if Emacs has background processes running
2011-01-13 19:24 bug#7837: 23.2.91; Logging out is confusing if Emacs has background processes running Reuben Thomas
@ 2019-10-01 20:55 ` Lars Ingebrigtsen
2019-10-01 20:59 ` Reuben Thomas via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 4+ messages in thread
From: Lars Ingebrigtsen @ 2019-10-01 20:55 UTC (permalink / raw)
To: Reuben Thomas; +Cc: 7837
Reuben Thomas <rrt@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
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#7837: 23.2.91; Logging out is confusing if Emacs has background processes running
2019-10-01 20:55 ` Lars Ingebrigtsen
@ 2019-10-01 20:59 ` Reuben Thomas via Bug reports for GNU Emacs, the Swiss army knife of text editors
2019-10-03 15:33 ` Lars Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Reuben Thomas via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2019-10-01 20:59 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 7837
[-- Attachment #1: Type: text/plain, Size: 635 bytes --]
On Tue, 1 Oct 2019 at 21:55, Lars Ingebrigtsen <larsi@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
[-- Attachment #2: Type: text/html, Size: 1578 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#7837: 23.2.91; Logging out is confusing if Emacs has background processes running
2019-10-01 20:59 ` Reuben Thomas via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2019-10-03 15:33 ` Lars Ingebrigtsen
0 siblings, 0 replies; 4+ messages in thread
From: Lars Ingebrigtsen @ 2019-10-03 15:33 UTC (permalink / raw)
To: Reuben Thomas; +Cc: 7837
Reuben Thomas <rrt@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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-10-03 15:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-13 19:24 bug#7837: 23.2.91; Logging out is confusing if Emacs has background processes running Reuben Thomas
2019-10-01 20:55 ` Lars Ingebrigtsen
2019-10-01 20:59 ` Reuben Thomas via Bug reports for GNU Emacs, the Swiss army knife of text editors
2019-10-03 15:33 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.