unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: Reuben Thomas <rrt@sc3d.org>
Cc: tomas@tuxteam.de, emacs-devel@gnu.org
Subject: Re: desktop.el: autosave?
Date: Tue, 11 Dec 2007 01:55:14 +0200	[thread overview]
Message-ID: <87ejdu6rna.fsf@jurta.org> (raw)
In-Reply-To: <alpine.DEB.0.99999.0712102150400.4186@localhost.localdomain> (Reuben Thomas's message of "Mon, 10 Dec 2007 22:01:02 +0000 (GMT)")

> 1. A customizable preference, desktop-auto-save, which indicates whether
> desktop-save-in-desktop-dir should be added to auto-save-hook or not. Is
> the easiest way to do this to add a private function that desktop mode
> always adds to auto-save-hook and then have that private function test
> a boolean which is itself the customizable preference when it runs, to see
> whether to proceed or not?

No need for a separate function.  You could just change desktop-save-mode
as follows:

(define-minor-mode desktop-save-mode
  :global t
  :group 'desktop
  (if desktop-save-mode
      (if desktop-auto-save
	  (add-hook 'auto-save-hook 'desktop-save-in-desktop-dir))
    (remove-hook 'auto-save-hook 'desktop-save-in-desktop-dir)))

But please note that I still think it would be better to use a timer.
You can look in savehist.el that it uses a separate non-idle timer.
It seems reasonable to do the same in desktop.el.

> 2. Change desktop-save-in-desktop-dir so that it only prompts for
> a directory if it is called interactively. The normal way seems to be to
> add an optional argument as described in the help for interactive-p.

I think it should be replaced with:

(defun desktop-save-in-desktop-dir (&optional dirname)
  "Save the desktop in directory `desktop-dirname'."
  (interactive
   (list (or desktop-dirname
	     (read-directory-name "Directory to save desktop file in: "))))
  (when (and (null dirname) desktop-dirname)
    (setq dirname desktop-dirname))
  (when dirname
    (desktop-save dirname)
    (message "Desktop saved in %s" dirname)))

> 3. Change desktop-save-in-desktop-dir to be like savehist-mode, only
> actually writing the file when the history has changed since the
> last time.

This is easy to do once we will decide what auto-saving method to use.

-- 
Juri Linkov
http://www.jurta.org/emacs/

  reply	other threads:[~2007-12-10 23:55 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <alpine.DEB.0.99999.0711301407250.4037@localhost.localdomain>
2007-11-30 23:35 ` desktop.el: autosave? Richard Stallman
2007-12-01  0:35   ` Juri Linkov
2007-12-01 23:41     ` Richard Stallman
2007-12-03 22:57       ` Juri Linkov
2007-12-04  7:39         ` martin rudalics
2007-12-05  2:57           ` Richard Stallman
2007-12-05  9:02             ` martin rudalics
2007-12-05 22:28               ` Juri Linkov
2007-12-05 23:09                 ` martin rudalics
2007-12-05 23:41                   ` Juri Linkov
2007-12-06 15:12                     ` Richard Stallman
2007-12-06  2:11               ` Richard Stallman
2007-12-06 23:29                 ` Juri Linkov
2007-12-04 16:55         ` Richard Stallman
2007-12-06 14:58         ` Reuben Thomas
2007-12-06 15:38           ` tomas
2007-12-06 15:47             ` Reuben Thomas
2007-12-06 23:28               ` Juri Linkov
2007-12-06 23:44                 ` Reuben Thomas
2007-12-07  0:03                   ` Juri Linkov
2007-12-07  2:48                     ` Stefan Monnier
2007-12-09 20:35                     ` Reuben Thomas
2007-12-10  0:27                       ` Juri Linkov
2007-12-10  0:35                         ` Reuben Thomas
2007-12-10  0:50                           ` Drew Adams
2007-12-10  0:59                           ` Juri Linkov
2007-12-10  1:10                             ` Reuben Thomas
2007-12-10  3:03                         ` Stefan Monnier
2007-12-10 22:01                           ` Reuben Thomas
2007-12-10 23:55                             ` Juri Linkov [this message]
2007-12-11  0:10                               ` Reuben Thomas
2007-12-11  0:23                                 ` Juri Linkov
2007-12-11  0:42                                   ` Reuben Thomas
2013-04-10  1:36                                     ` Reuben Thomas
2013-04-10  7:05                                       ` Juri Linkov
2013-04-10 10:57                                         ` Reuben Thomas
2013-04-11  8:29                                           ` Juri Linkov
2013-04-11 11:04                                             ` Reuben Thomas
2013-04-27 20:57                                               ` Juri Linkov
2007-12-10 22:02                           ` Reuben Thomas
2007-12-10 22:12                             ` Drew Adams
2007-12-10 22:16                               ` Reuben Thomas
2007-12-10 23:57                                 ` Juri Linkov
2007-12-11  0:02                                   ` Reuben Thomas
2007-12-11  0:23                                     ` Juri Linkov
2007-12-11  0:48                                       ` Reuben Thomas
2007-12-11 19:01                                       ` Richard Stallman
2007-12-12  0:50                                         ` Reuben Thomas
2007-12-12 22:53                                           ` Richard Stallman
2007-12-12 23:59                                             ` Juri Linkov
2007-12-14 10:10                                               ` Richard Stallman
2007-12-07  2:47                 ` Stefan Monnier
2007-12-07 17:18             ` Richard Stallman
2007-12-03 21:14     ` Reuben Thomas
2007-12-03 22:57       ` Juri Linkov
2007-12-06 14:56         ` Reuben Thomas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ejdu6rna.fsf@jurta.org \
    --to=juri@jurta.org \
    --cc=emacs-devel@gnu.org \
    --cc=rrt@sc3d.org \
    --cc=tomas@tuxteam.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).