emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

using save-some-buffers-default-predicate


From: João Távora
Subject: using save-some-buffers-default-predicate
Date: Mon, 06 Nov 2017 12:46:14 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux)

Hi all,

Apologies if I'm late to the discussion and this particular question has
been answered before, but let me first explain what I've always wanted
save-some-buffers to do: ask me about unsaved buffers *in the project
I'm working on*.

So, shouldn't save-some-buffers include some kind of provision for this,
like binding a special variable to the current project that the argless
save-some-buffers-default-predicate can use? Currently I have this in my
.emacs, which takes care of M-x compile, M-x tex-compile and probably
other calls to save-some-buffers for this kind of operations.

   (defvar save-some-buffers-project nil
      "The current project when `save-some-buffers' is called.")
    
   (defun a-good-default-pred ()
     (if (null save-some-buffers-project)
         t
       (and buffer-file-name
            (eq (project-current)
                save-some-buffers-project))))
    
   (setq save-some-buffers-default-predicate 'a-good-default-pred)
    
   (defun wrap-in-good-save-buffers-predicate (oldfun &rest args)
     (let ((save-some-buffers-project (project-current)))
       (apply oldfun args)))
    
   (advice-add 'save-some-buffer :around 'wrap-in-good-save-buffers-predicate)

I'm not saying we should change the default of
save-some-buffers-default-predicate (yet), but shouldn't something like
this be easier to do?

João







reply via email to

[Prev in Thread] Current Thread [Next in Thread]