[ESS] Thoughts on auto-saving all file buffers before any eval?

Grant Rettke gcr at wisdomandwonder.com
Sat Apr 26 20:42:04 CEST 2014


Understood and thank you.
Grant Rettke | AAAS, ACM, ASA, FSF, IEEE, SIAM, Sigma Xi
grettke at acm.org | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson


On Sat, Apr 26, 2014 at 1:13 PM, Vitalie Spinu <spinuvit at gmail.com> wrote:
>
>
> It's in ess-inf.el. No need to grep: C-h v ess-presend-filter-functions.
>
>  Vitalie
>
>  >>> Grant Rettke on Sat, 26 Apr 2014 10:10:30 -0500 wrote:
>
>  > Dumb question: when I grep for that hook in the release off MELPA, it
>  > doesn't show up.
>
>  > Is that hook released yet?
>  > Grant Rettke | AAAS, ACM, ASA, FSF, IEEE, SIAM, Sigma Xi
>  > grettke at acm.org | http://www.wisdomandwonder.com/“Wisdom begins in wonder.” --Socrates
>  > ((λ (x) (x x)) (λ (x) (x x)))
>  > “Life has become immeasurably better since I have been forced to stop
>  > taking it seriously.” --Thompson
>
>  > On Sat, Apr 12, 2014 at 8:34 PM, Grant Rettke <gcr at wisdomandwonder.com> wrote:
>  >> Vialie,
>  >>
>  >> Understood. Thank you.
>  >>
>  >> I'll watch for that to filter into the MELPA release.
>  >>
>  >> Grant Rettke | AAAS, ACM, AMA, COG, FSF, IEEE, Sigma Xi
>  >> grettke at acm.org | http://www.wisdomandwonder.com/> “Wisdom begins in wonder.” --Socrates
>  >> ((λ (x) (x x)) (λ (x) (x x)))
>  >> “Life has become immeasurably better since I have been forced to stop taking
>  >> it seriously.” --Thompson
>  >>
>  >>
>  >> On Sat, Apr 12, 2014 at 11:28 AM, Vitalie Spinu <spinuvit at gmail.com> wrote:
>  >>>
>  >>>
>  >>> Hi Grant,
>  >>>
>  >>> You don't need to advice all ESS eval functions. Use
>  >>> ess-presend-filter-functions or comint-input-filter-functions. They are
>  >>> called before each evaluation.
>  >>>
>  >>> Vitalie
>  >>>
>  >>> >>> Grant Rettke on Sat, 12 Apr 2014 11:12:33 -0500 wrote:
>  >>>
>  >>> > Hi,
>  >>>
>  >>> > The ESS manual communicates the philosophy that file-artifacts are
>  >>> > the ultimate definition of the system and I agree. My first time
>  >>> > using ESS, I found that the setting 'ess-mode-silently-save' was
>  >>> > critical. Still wanting to have interactive evaluation, even used
>  >>> > primarily from persistent file buffers, I wanted the file always to
>  >>> > be in sync with what I'm doing in the system itself. With that goal
>  >>> > in mind I added some advice.
>  >>>
>  >>> > ; ------- SNIP --------- SNIP ---------
>  >>> >   (defun gcr/save-all-file-buffers ()
>  >>> >     "Saves every buffer associated with a file."
>  >>> >     (interactive)
>  >>> >     (dolist (buf (buffer-list))
>  >>> >       (with-current-buffer buf
>  >>> >         (when (and (buffer-file-name) (buffer-modified-p))
>  >>> >           (save-buffer)))))
>  >>>
>  >>> > (defadvice ess-eval-region-or-line-and-step (before
>  >>> > before-ess-eval-region-or-line-and-step activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-region-or-function-or-paragraph (before
>  >>> > before-ess-eval-region-or-function-or-paragraph activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-region-or-function-or-paragraph-and-step (before
>  >>> > before-ess-eval-region-or-function-or-paragraph-and-step activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-line (before before-ess-eval-line activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-line-and-go (before before-ess-eval-line-and-go
>  >>> > activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-function (before before-ess-eval-function activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-function-and-go (before
>  >>> before-ess-eval-function-and-go
>  >>> > activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-region (before before-ess-eval-region activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-region-and-go (before before-ess-eval-region-and-go
>  >>> > activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-buffer (before before-ess-eval-buffer activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>>
>  >>> > (defadvice ess-eval-buffer-and-go (before before-ess-eval-buffer-and-go
>  >>> > activate)
>  >>> >   (gcr/save-all-file-buffers))
>  >>> > ; ------- SNIP --------- SNIP ---------
>  >>>
>  >>> > Question: is there a setting to do this already? How are other people
>  >>> > achieving the same thing?
>  >>>
>  >>> > Regards,
>  >>>
>  >>> > Grant Rettke | AAAS, ACM, AMA, COG, FSF, IEEE, Sigma Xi
>  >>
>  >>



More information about the ESS-help mailing list