all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Reverting *Locate* buffers.
@ 2006-06-26  3:27 Luc Teirlinck
  2006-06-26  7:43 ` David Kastrup
  2006-06-26 13:15 ` Peter Breton
  0 siblings, 2 replies; 21+ messages in thread
From: Luc Teirlinck @ 2006-06-26  3:27 UTC (permalink / raw)
  Cc: Peter Breton, emacs-pretesters, T. V. Raman

There have been in the past several complaints about the fact that
trying to revert a *Locate* buffers first asks whether you want to
update the locate database.

If you answer yes, then in my setup and I would guess in most setups,
you get an error unless you are running as root, because you need to
be root to update the locate database.  As a result, the buffer does
not get reverted.

If you answer no, the *Locate* buffer does not get reverted either,
whereas you might just have wanted to revert to undo manual changes
to the buffer and whereas the locate database might have been updated
by cron, or by the user, in the meantime anyway.

A few days ago, I got a request to make this behavior customizable,
which was CC-ed to emacs-pretesters instead of the more appropriate
emacs-devel.

The patch below introduces an option allowing the user to avoid the
question.  The default remains to ask the question.  But, even for the
default behavior there is a change: if the user answers no, the buffer
gets reverted without updating the database.

If there are no objections, I will install the patch below:

===File ~/locate-diff=======================================
*** locate.el	15 Mar 2006 19:31:47 -0600	1.36
--- locate.el	25 Jun 2006 20:49:16 -0500	
***************
*** 191,196 ****
--- 191,204 ----
    :group 'locate
    :version "22.1")
  
+ (defcustom locate-update-when-revert t
+   "This option affects how the *Locate* buffer gets reverted.
+ If non-nil, offer to update the locate database when reverting that buffer.
+ If nil, reverting does not update the locate database."
+   :type 'boolean
+   :group 'locate
+   :version "22.1")
+ 
  (defcustom locate-update-command "updatedb"
    "The executable program used to update the locate database."
    :type 'string
***************
*** 557,568 ****
  
  ;; From Stephen Eglen <stephen@cns.ed.ac.uk>
  (defun locate-update (ignore1 ignore2)
!   "Update the locate database.
! Database is updated using the shell command in `locate-update-command'."
    (let ((str (car locate-history-list)))
!     (cond ((yes-or-no-p "Update locate database (may take a few seconds)? ")
! 	   (shell-command locate-update-command)
! 	   (locate str)))))
  
  ;;; Modified three functions from `dired.el':
  ;;;   dired-find-directory,
--- 565,578 ----
  
  ;; From Stephen Eglen <stephen@cns.ed.ac.uk>
  (defun locate-update (ignore1 ignore2)
!   "Revert the *Locate* buffer.
! If `locate-update-when-revert' is non-nil, offer to update the
! locate database using the shell command in `locate-update-command'."
    (let ((str (car locate-history-list)))
!     (and locate-update-when-revert
! 	 (yes-or-no-p "Update locate database (may take a few seconds)? ")
! 	 (shell-command locate-update-command))
!     (locate str)))
  
  ;;; Modified three functions from `dired.el':
  ;;;   dired-find-directory,
============================================================

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2006-07-04 15:42 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-26  3:27 Reverting *Locate* buffers Luc Teirlinck
2006-06-26  7:43 ` David Kastrup
2006-06-28  1:58   ` Luc Teirlinck
2006-06-28  3:55     ` T. V. Raman
2006-06-29  3:13       ` Luc Teirlinck
2006-06-29  6:27         ` David Kastrup
2006-06-29 21:52         ` Michael Albinus
2006-06-30  1:55           ` Luc Teirlinck
2006-07-02 20:39             ` Michael Albinus
2006-07-02 20:52         ` Michael Albinus
2006-07-03  2:51           ` Luc Teirlinck
2006-07-03 13:43             ` Michael Albinus
2006-07-03 23:21               ` Richard Stallman
2006-07-04  0:14               ` Luc Teirlinck
2006-07-03 15:05           ` Richard Stallman
2006-07-03 15:37             ` Michael Albinus
2006-07-03 15:41               ` David Kastrup
2006-07-04 15:42           ` Stefan Monnier
2006-06-29 21:58       ` Michael Albinus
2006-06-26 13:15 ` Peter Breton
2006-06-27  1:55   ` Luc Teirlinck

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.