GNU bug report logs - #9765
24.0.90; Multiple calls to desktop-read cause problems

Previous Next

Package: emacs;

Reported by: Ryan Thompson <rct <at> thompsonclan.org>

Date: Sun, 16 Oct 2011 10:49:02 UTC

Severity: normal

Tags: fixed

Found in version 24.0.90

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.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 9765 in the body.
You can then email your comments to 9765 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#9765; Package emacs. (Sun, 16 Oct 2011 10:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ryan Thompson <rct <at> thompsonclan.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 16 Oct 2011 10:49:02 GMT) Full text and rfc822 format available.

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

From: Ryan Thompson <rct <at> thompsonclan.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.0.90; Multiple calls to desktop-read cause problems
Date: Sun, 16 Oct 2011 03:47:31 -0700
If a desktop has already been loaded and "desktop-read" is called a
second time, it will set "desktop-dirname" to nil, which can cause
problems when trying to save the desktop later. The "desktop-read"
function checks whether a desktop file is owned before loading it, and
if the file is owned, it refuses to "steal" the file (assuming
appropriate options are set) and sets "desktop-dirname" to nil to
indicate that it does not own the file. This behavior occurs even when
the owner of the desktop file is the Emacs process itself. Thus, calling
"desktop-read" once loads the desktop file, and calling "desktop-read" a
second time effectively abandons it. This behavior can be fixed with the
following advice, which turns "desktop-read" into a no-op when the
current Emacs process is already the desktop owner.

(defadvice desktop-read (around avoid-redundant-read activate)
  "Don't abandon an already-loaded desktop"
  (if (and (desktop-owner) (= (desktop-owner) (emacs-pid)))
      (message "Desktop file already loaded. Skipping reload.")
    ad-do-it))

I'm not sure if this is an appropriate fix, but I think this is the
correct behavior.


In GNU Emacs 24.0.90.1 (x86_64-pc-linux-gnu, GTK+ Version 3.2.0)
 of 2011-10-16 on aeolus, modified by Debian
 (emacs-snapshot package, version 1:20111012-1+ubuntu1.1)
Windowing system distributor `The X.Org Foundation', version 11.0.11004000
configured using `configure  '--build' 'x86_64-linux-gnu' '--host'
'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib'
'--libexecdir=/usr/lib' '--localstatedir=/var'
'--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.0.90/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.0.90/site-lisp:/usr/share/emacs/site-lisp'
'--without-compress-info' '--with-crt-dir=/usr/lib/x86_64-linux-gnu/'
'--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu'
'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g
-Wl,--as-needed' 'CPPFLAGS=''

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_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  eldoc-mode: t
  winpoint-mode: t
  volatile-highlights-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  diff-auto-refine-mode: t
  ido-ubiquitous: t
  global-highlight-parentheses-mode: t
  git-wip-mode: t
  nxhtml-menu-mode: t
  nxhtml-tag-do-also: t
  popcmp-group-alternatives: t
  popcmp-short-help-beside-alts: t
  mlinks-active-links: t
  sml-modeline-mode: t
  highlight-parentheses-mode: t
  autopair-mode: t
  autopair-global-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  show-paren-mode: t
  recentf-mode: t
  minibuffer-depth-indicate-mode: t
  ido-everywhere: t
  desktop-save-mode: t
  cua-mode: t
  shell-dirtrack-mode: t
  tooltip-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-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x C-b C-x b C-g <C-end> <up> <up> <return> C-r l
a z C-g C-g C-g <prior> <next> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> C-x C-b <down> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
d d d d d d d d d x y <up> <return> <C-end> M-x e m
a c d <backspace> s - r e p o C-g M-x r e p o r t
<return>

Recent messages:
Quit
Mark set
Quit [2 times]
Updating buffer list...done
Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help
Really kill 9 buffers? (y or n)  y
Operation finished; killed 9 buffers
Mark set
Quit
Killed inactive buffer: *Ibuffer*.

Load-path shadows:
/home/ryan/.emacs.d/site-lisp/el-get/sml-modeline/sml-modeline hides
/home/ryan/.emacs.d/site-lisp/el-get/nxhtml/util/sml-modeline
/home/ryan/.emacs.d/site-lisp/el-get/pointback/pointback hides
/home/ryan/.emacs.d/site-lisp/el-get/nxhtml/util/pointback
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/contrib/lisp/org-panel
hides /home/ryan/.emacs.d/site-lisp/el-get/nxhtml/util/org-panel
/home/ryan/.emacs.d/site-lisp/el-get/csharp-mode/csharp-mode hides
/home/ryan/.emacs.d/site-lisp/el-get/nxhtml/related/csharp-mode
/home/ryan/.emacs.d/site-lisp/el-get/cursor-chg/cursor-chg hides
/home/ryan/.emacs.d/site-lisp/packages/cursor-chg
/home/ryan/.emacs.d/site-lisp/packages/ess-roxy hides
/usr/share/emacs-snapshot/site-lisp/ess/ess-roxy
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/contrib/lisp/htmlize
hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/htmlize
/home/ryan/.emacs.d/site-lisp/el-get/browse-kill-ring/browse-kill-ring
hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/browse-kill-ring
/home/ryan/.emacs.d/site-lisp/el-get/markdown-mode/markdown-mode hides
/usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/markdown-mode
/home/ryan/.emacs.d/site-lisp/el-get/keydef/keydef hides
/usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/keydef
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pccl-20 hides
/usr/share/emacs-snapshot/site-lisp/apel/pccl-20
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/static hides
/usr/share/emacs-snapshot/site-lisp/apel/static
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/mcs-e20 hides
/usr/share/emacs-snapshot/site-lisp/apel/mcs-e20
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/apel/path-util
hides /usr/share/emacs-snapshot/site-lisp/apel/path-util
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/inv-23 hides
/usr/share/emacs-snapshot/site-lisp/apel/inv-23
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pcustom hides
/usr/share/emacs-snapshot/site-lisp/apel/pcustom
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/apel/filename
hides /usr/share/emacs-snapshot/site-lisp/apel/filename
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pces-20 hides
/usr/share/emacs-snapshot/site-lisp/apel/pces-20
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/apel/calist hides
/usr/share/emacs-snapshot/site-lisp/apel/calist
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/mcharset hides
/usr/share/emacs-snapshot/site-lisp/apel/mcharset
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pces hides
/usr/share/emacs-snapshot/site-lisp/apel/pces
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pym hides
/usr/share/emacs-snapshot/site-lisp/apel/pym
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pces-e20 hides
/usr/share/emacs-snapshot/site-lisp/apel/pces-e20
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/poem hides
/usr/share/emacs-snapshot/site-lisp/apel/poem
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/richtext hides
/usr/share/emacs-snapshot/site-lisp/apel/richtext
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/apel-ver hides
/usr/share/emacs-snapshot/site-lisp/apel/apel-ver
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/poem-e20_3
hides /usr/share/emacs-snapshot/site-lisp/apel/poem-e20_3
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/mcs-20 hides
/usr/share/emacs-snapshot/site-lisp/apel/mcs-20
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/product hides
/usr/share/emacs-snapshot/site-lisp/apel/product
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/apel/install hides
/usr/share/emacs-snapshot/site-lisp/apel/install
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/poe hides
/usr/share/emacs-snapshot/site-lisp/apel/poe
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/emu hides
/usr/share/emacs-snapshot/site-lisp/apel/emu
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/broken hides
/usr/share/emacs-snapshot/site-lisp/apel/broken
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/mule-caesar
hides /usr/share/emacs-snapshot/site-lisp/apel/mule-caesar
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/poem-e20 hides
/usr/share/emacs-snapshot/site-lisp/apel/poem-e20
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/invisible
hides /usr/share/emacs-snapshot/site-lisp/apel/invisible
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/apel/alist hides
/usr/share/emacs-snapshot/site-lisp/apel/alist
/home/ryan/.emacs.d/site-lisp/el-get/apel/site-lisp/emu/pccl hides
/usr/share/emacs-snapshot/site-lisp/apel/pccl
/home/ryan/.emacs.d/site-lisp/el-get/magit/magit-topgit hides
/usr/share/emacs/24.0.90/site-lisp/magit/magit-topgit
/home/ryan/.emacs.d/site-lisp/el-get/magit/magit-svn hides
/usr/share/emacs/24.0.90/site-lisp/magit/magit-svn
/home/ryan/.emacs.d/site-lisp/el-get/magit/magit-key-mode hides
/usr/share/emacs/24.0.90/site-lisp/magit/magit-key-mode
/home/ryan/.emacs.d/site-lisp/el-get/magit/magit hides
/usr/share/emacs/24.0.90/site-lisp/magit/magit
/usr/share/emacs/24.0.90/site-lisp/debian-startup hides
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs/24.0.90/site-lisp/cmake-data/cmake-mode hides
/usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs-snapshot/site-lisp/flim/md4 hides
/usr/share/emacs/24.0.90/lisp/md4
/home/ryan/.emacs.d/site-lisp/el-get/ido/ido hides
/usr/share/emacs/24.0.90/lisp/ido
/home/ryan/.emacs.d/site-lisp/custom hides /usr/share/emacs/24.0.90/lisp/custom
/usr/share/emacs-snapshot/site-lisp/flim/hex-util hides
/usr/share/emacs/24.0.90/lisp/hex-util
/home/ryan/.emacs.d/site-lisp/el-get/remember/remember hides
/usr/share/emacs/24.0.90/lisp/textmodes/remember
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.0.90/lisp/textmodes/rst
/home/ryan/.emacs.d/site-lisp/el-get/cperl-mode/cperl-mode hides
/usr/share/emacs/24.0.90/lisp/progmodes/cperl-mode
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org hides
/usr/share/emacs/24.0.90/lisp/org/org
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-faces hides
/usr/share/emacs/24.0.90/lisp/org/org-faces
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-ascii hides
/usr/share/emacs/24.0.90/lisp/org/org-ascii
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-ditaa hides
/usr/share/emacs/24.0.90/lisp/org/ob-ditaa
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-bibtex hides
/usr/share/emacs/24.0.90/lisp/org/org-bibtex
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-bbdb hides
/usr/share/emacs/24.0.90/lisp/org/org-bbdb
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-exp-blocks
hides /usr/share/emacs/24.0.90/lisp/org/org-exp-blocks
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-matlab hides
/usr/share/emacs/24.0.90/lisp/org/ob-matlab
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-macs hides
/usr/share/emacs/24.0.90/lisp/org/org-macs
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-footnote hides
/usr/share/emacs/24.0.90/lisp/org/org-footnote
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-list hides
/usr/share/emacs/24.0.90/lisp/org/org-list
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-pcomplete hides
/usr/share/emacs/24.0.90/lisp/org/org-pcomplete
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-datetree hides
/usr/share/emacs/24.0.90/lisp/org/org-datetree
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-mhe hides
/usr/share/emacs/24.0.90/lisp/org/org-mhe
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-comint hides
/usr/share/emacs/24.0.90/lisp/org/ob-comint
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-docbook hides
/usr/share/emacs/24.0.90/lisp/org/org-docbook
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-freemind hides
/usr/share/emacs/24.0.90/lisp/org/org-freemind
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-protocol hides
/usr/share/emacs/24.0.90/lisp/org/org-protocol
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-capture hides
/usr/share/emacs/24.0.90/lisp/org/org-capture
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-xoxo hides
/usr/share/emacs/24.0.90/lisp/org/org-xoxo
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-rmail hides
/usr/share/emacs/24.0.90/lisp/org/org-rmail
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-html hides
/usr/share/emacs/24.0.90/lisp/org/org-html
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-timer hides
/usr/share/emacs/24.0.90/lisp/org/org-timer
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-exp hides
/usr/share/emacs/24.0.90/lisp/org/org-exp
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-remember hides
/usr/share/emacs/24.0.90/lisp/org/org-remember
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-scheme hides
/usr/share/emacs/24.0.90/lisp/org/ob-scheme
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-ref hides
/usr/share/emacs/24.0.90/lisp/org/ob-ref
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-install hides
/usr/share/emacs/24.0.90/lisp/org/org-install
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-ctags hides
/usr/share/emacs/24.0.90/lisp/org/org-ctags
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-feed hides
/usr/share/emacs/24.0.90/lisp/org/org-feed
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-crypt hides
/usr/share/emacs/24.0.90/lisp/org/org-crypt
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-C hides
/usr/share/emacs/24.0.90/lisp/org/ob-C
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-wl hides
/usr/share/emacs/24.0.90/lisp/org/org-wl
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-sh hides
/usr/share/emacs/24.0.90/lisp/org/ob-sh
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-w3m hides
/usr/share/emacs/24.0.90/lisp/org/org-w3m
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-inlinetask
hides /usr/share/emacs/24.0.90/lisp/org/org-inlinetask
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-mscgen hides
/usr/share/emacs/24.0.90/lisp/org/ob-mscgen
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-special-blocks
hides /usr/share/emacs/24.0.90/lisp/org/org-special-blocks
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-mac-message
hides /usr/share/emacs/24.0.90/lisp/org/org-mac-message
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-entities hides
/usr/share/emacs/24.0.90/lisp/org/org-entities
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-perl hides
/usr/share/emacs/24.0.90/lisp/org/ob-perl
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-mouse hides
/usr/share/emacs/24.0.90/lisp/org/org-mouse
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-docview hides
/usr/share/emacs/24.0.90/lisp/org/org-docview
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-sass hides
/usr/share/emacs/24.0.90/lisp/org/ob-sass
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-beamer hides
/usr/share/emacs/24.0.90/lisp/org/org-beamer
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-jsinfo hides
/usr/share/emacs/24.0.90/lisp/org/org-jsinfo
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-exp hides
/usr/share/emacs/24.0.90/lisp/org/ob-exp
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-attach hides
/usr/share/emacs/24.0.90/lisp/org/org-attach
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-archive hides
/usr/share/emacs/24.0.90/lisp/org/org-archive
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-sqlite hides
/usr/share/emacs/24.0.90/lisp/org/ob-sqlite
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-table hides
/usr/share/emacs/24.0.90/lisp/org/ob-table
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-publish hides
/usr/share/emacs/24.0.90/lisp/org/org-publish
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-indent hides
/usr/share/emacs/24.0.90/lisp/org/org-indent
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-plantuml hides
/usr/share/emacs/24.0.90/lisp/org/ob-plantuml
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-colview hides
/usr/share/emacs/24.0.90/lisp/org/org-colview
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-python hides
/usr/share/emacs/24.0.90/lisp/org/ob-python
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-css hides
/usr/share/emacs/24.0.90/lisp/org/ob-css
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-gnus hides
/usr/share/emacs/24.0.90/lisp/org/org-gnus
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-octave hides
/usr/share/emacs/24.0.90/lisp/org/ob-octave
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-mobile hides
/usr/share/emacs/24.0.90/lisp/org/org-mobile
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-info hides
/usr/share/emacs/24.0.90/lisp/org/org-info
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-tangle hides
/usr/share/emacs/24.0.90/lisp/org/ob-tangle
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-eval hides
/usr/share/emacs/24.0.90/lisp/org/ob-eval
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-org hides
/usr/share/emacs/24.0.90/lisp/org/ob-org
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-lob hides
/usr/share/emacs/24.0.90/lisp/org/ob-lob
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-compat hides
/usr/share/emacs/24.0.90/lisp/org/org-compat
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-src hides
/usr/share/emacs/24.0.90/lisp/org/org-src
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-emacs-lisp hides
/usr/share/emacs/24.0.90/lisp/org/ob-emacs-lisp
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-clojure hides
/usr/share/emacs/24.0.90/lisp/org/ob-clojure
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-icalendar hides
/usr/share/emacs/24.0.90/lisp/org/org-icalendar
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-calc hides
/usr/share/emacs/24.0.90/lisp/org/ob-calc
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-asymptote hides
/usr/share/emacs/24.0.90/lisp/org/ob-asymptote
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob hides
/usr/share/emacs/24.0.90/lisp/org/ob
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-clock hides
/usr/share/emacs/24.0.90/lisp/org/org-clock
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-taskjuggler
hides /usr/share/emacs/24.0.90/lisp/org/org-taskjuggler
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-js hides
/usr/share/emacs/24.0.90/lisp/org/ob-js
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-latex hides
/usr/share/emacs/24.0.90/lisp/org/ob-latex
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-R hides
/usr/share/emacs/24.0.90/lisp/org/ob-R
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-lisp hides
/usr/share/emacs/24.0.90/lisp/org/ob-lisp
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-irc hides
/usr/share/emacs/24.0.90/lisp/org/org-irc
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-habit hides
/usr/share/emacs/24.0.90/lisp/org/org-habit
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-latex hides
/usr/share/emacs/24.0.90/lisp/org/org-latex
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-mks hides
/usr/share/emacs/24.0.90/lisp/org/org-mks
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-screen hides
/usr/share/emacs/24.0.90/lisp/org/ob-screen
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-ledger hides
/usr/share/emacs/24.0.90/lisp/org/ob-ledger
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-plot hides
/usr/share/emacs/24.0.90/lisp/org/org-plot
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-mew hides
/usr/share/emacs/24.0.90/lisp/org/org-mew
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-sql hides
/usr/share/emacs/24.0.90/lisp/org/ob-sql
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-vm hides
/usr/share/emacs/24.0.90/lisp/org/org-vm
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-keys hides
/usr/share/emacs/24.0.90/lisp/org/ob-keys
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-ruby hides
/usr/share/emacs/24.0.90/lisp/org/ob-ruby
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-table hides
/usr/share/emacs/24.0.90/lisp/org/org-table
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-id hides
/usr/share/emacs/24.0.90/lisp/org/org-id
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-gnuplot hides
/usr/share/emacs/24.0.90/lisp/org/ob-gnuplot
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-ocaml hides
/usr/share/emacs/24.0.90/lisp/org/ob-ocaml
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/org-agenda hides
/usr/share/emacs/24.0.90/lisp/org/org-agenda
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-haskell hides
/usr/share/emacs/24.0.90/lisp/org/ob-haskell
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/lisp/ob-dot hides
/usr/share/emacs/24.0.90/lisp/org/ob-dot
/usr/share/emacs-snapshot/site-lisp/flim/sasl-ntlm hides
/usr/share/emacs/24.0.90/lisp/net/sasl-ntlm
/usr/share/emacs-snapshot/site-lisp/flim/hmac-def hides
/usr/share/emacs/24.0.90/lisp/net/hmac-def
/usr/share/emacs-snapshot/site-lisp/flim/ntlm hides
/usr/share/emacs/24.0.90/lisp/net/ntlm
/usr/share/emacs-snapshot/site-lisp/flim/sasl-digest hides
/usr/share/emacs/24.0.90/lisp/net/sasl-digest
/usr/share/emacs-snapshot/site-lisp/flim/hmac-md5 hides
/usr/share/emacs/24.0.90/lisp/net/hmac-md5
/usr/share/emacs-snapshot/site-lisp/flim/sasl-cram hides
/usr/share/emacs/24.0.90/lisp/net/sasl-cram
/usr/share/emacs-snapshot/site-lisp/flim/sasl hides
/usr/share/emacs/24.0.90/lisp/net/sasl
/home/ryan/.emacs.d/site-lisp/el-get/org-mode/.dir-locals hides
/usr/share/emacs/24.0.90/lisp/gnus/.dir-locals
/home/ryan/.emacs.d/site-lisp/el-get/nxhtml/tests/ert hides
/usr/share/emacs/24.0.90/lisp/emacs-lisp/ert

Features:
(shadow sort mail-extr message rfc822 mml mml-sec mailabbrev gmm-utils
mailheader emacsbug multi-isearch tramp-sh ibuf-ext ibuffer texinfo
jka-compr filladapt eldoc ido-yes-or-no-autoloads finder-inf
wtf-autoloads init winpoint winner etags volatile-highlights undo-tree
tramp tramp-compat format-spec tramp-loaddefs tempbuf smart-compile+
server-settings trash-settings cperl-mode perl-mode quick-yes pymacs
perl-settings remember org-remember org-datetree
network-manager-settings misc-settings misc-cmds mic-paren markdown-mode
magit diff-mode log-edit pcvs-util add-log magit-key-mode js moz imenu
newcomment cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine ido-settings ido-ubiquitous ido-other-window highlight-cl
google-maps google-maps-static google-maps-geocode google-maps-base json
git-wip-mode vc ediff vc-dispatcher ebuff-menu electric
without-user-input-settings defadvice-let desktop-autosave cursor-chg
auto-install ffap find-func auto-complete-settings switch-window quail
remember-autoloads ipython python-mode info-look ansi-color doctest-mode
smex paredit org-install flymake-files flymakemsg nxhtml-autostart
nxhtml-autoload majmodpri vc-git nxhtml-menu udev-rinari udev-ecb
flymake css-color nxhtml-mode html-quote tidy-xhtml html-imenu rng-nxml
nxml-mode nxml-outln nxml-rap nxml-glyph rng-valid rng-loc rng-uri
rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-util nxml-enc xmltok loadhist popcmp xhtml-help ourcomments-util
mm-url url url-proxy url-privacy url-history url-cookie mailcap grep
bookmark pp apropos mlinks url-expand url-util url-methods url-parse
auth-source eieio password-cache url-vars mumamo html-toc html-pagetoc
appmenu-fold appmenu fold-dwim tex-mode compile org ob-emacs-lisp
ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys
ob ob-eval org-pcomplete org-list org-faces org-compat org-entities
org-macs noutline outline inlimg html-write hideshow html-site gimpedit
foldit sml-modeline web-vcs rx mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums cus-edit web-autoload
ourcomments-widgets nxhtml-base notify dbus xml nav
highlight-parentheses derived dired+ dired-x ediff-merg ediff-diff
ediff-wind ediff-mult ediff-help ediff-init ediff-util dired-aux
browse-kill-ring bbdb-autoloads bbdb timezone autopair byte-opt warnings
auto-complete-config auto-complete edmacro kmacro popup el-get
el-get-autoloads el-get-list-packages el-get-notify help-mode view
el-get-dependencies el-get-build el-get-byte-compile el-get-status
el-get-recipes el-get-methods el-get-svn el-get-pacman el-get-http-tar
el-get-hg el-get-git-svn el-get-fink el-get-emacswiki el-get-http
el-get-emacsmirror el-get-git el-get-elpa package tabulated-list
el-get-darcs el-get-cvs el-get-bzr el-get-builtin el-get-apt-get
el-get-custom el-get-core autoload bytecomp byte-compile cconv macroexp
cl dired info bar-cursor highlight-current-line midnight diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs saveplace uniquify advice
help-fns advice-preload paren server savehist recentf tree-widget
mb-depth ido icomplete gnus gnus-ems nnheader gnus-util mail-utils
mm-util mail-prsvr wid-edit linum hl-line desktop delsel cua-base
cus-start cus-load debian-el debian-el-loaddefs w3m-load ess-toolbar
ess-mouse mouseme thingatpt browse-url ess-menu ess-swv ess-noweb
noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a
executable shell pcomplete ess-arc-d ess-vst-d ess-xls-d ess-lsp-l
ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp5-d
ess-sp3-d ess-r-d ess-r-args assoc ess-s-l ess-inf ess-utils comint ring
ess-mode noweb-mode ess ess-custom regexp-opt easymenu ess-compat
ess-site emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs
easy-mmode dpkg-dev-el dpkg-dev-el-loaddefs time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar 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 minibuffer loaddefs button faces cus-face files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#9765; Package emacs. (Mon, 07 Dec 2020 17:55:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Ryan Thompson <rct <at> thompsonclan.org>
Cc: 9765 <at> debbugs.gnu.org
Subject: Re: bug#9765: 24.0.90; Multiple calls to desktop-read cause problems
Date: Mon, 07 Dec 2020 18:54:26 +0100
Ryan Thompson <rct <at> thompsonclan.org> writes:

> If a desktop has already been loaded and "desktop-read" is called a
> second time, it will set "desktop-dirname" to nil, which can cause
> problems when trying to save the desktop later. The "desktop-read"
> function checks whether a desktop file is owned before loading it, and
> if the file is owned, it refuses to "steal" the file (assuming
> appropriate options are set) and sets "desktop-dirname" to nil to
> indicate that it does not own the file. This behavior occurs even when
> the owner of the desktop file is the Emacs process itself. Thus, calling
> "desktop-read" once loads the desktop file, and calling "desktop-read" a
> second time effectively abandons it. This behavior can be fixed with the
> following advice, which turns "desktop-read" into a no-op when the
> current Emacs process is already the desktop owner.
>
> (defadvice desktop-read (around avoid-redundant-read activate)
>   "Don't abandon an already-loaded desktop"
>   (if (and (desktop-owner) (= (desktop-owner) (emacs-pid)))
>       (message "Desktop file already loaded. Skipping reload.")
>     ad-do-it))
>
> I'm not sure if this is an appropriate fix, but I think this is the
> correct behavior.

I've now done something similar to what you suggest in Emacs 28.

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




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 07 Dec 2020 17:55:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 9765 <at> debbugs.gnu.org and Ryan Thompson <rct <at> thompsonclan.org> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 07 Dec 2020 17:55:02 GMT) Full text and rfc822 format available.

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

This bug report was last modified 4 years and 170 days ago.

Previous Next


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