From: wempwer@gmail.com
To: Tim Visher <tim.visher@gmail.com>
Cc: emacs <help-gnu-emacs@gnu.org>
Subject: Re: disable save hook temporarily
Date: Thu, 22 Aug 2013 23:32:16 +0200 [thread overview]
Message-ID: <20130822213216.GA7138@a.lan> (raw)
In-Reply-To: <CAHa53uwpNMpMVkk66KLX7GVKYTSJDrge4K=Fi4c2fb5nO+D3Zg@mail.gmail.com>
On Wed, Aug 21, 2013 at 10:22:23AM -0400, Tim Visher wrote:
> On Tue, Aug 20, 2013 at 1:45 PM, <wempwer@gmail.com> wrote:
> > I have plenty of stuff put in my C-mode save hook such as untabify,
> > remove trailing whitespaces, add a new line at the end etc. It's good
> > but sometimes I receive code from someone, need to do some changes in
> > it and send it back or just contribute to a larger project that
> > already has their own set of rules I don't want to break. The other
> > thing is that sometimes, especially in very big files it can take a
> > substantial amount of time to parse the whole buffer and execute save
> > hook. So my question is, what is the fastest and the most convenient
> > way to disable c save hook temporarily or how do you handle these
> > things? One idea that came to mind is to store all my code in a
> > specified directory such as ~/c and execute my save hook only for
> > files in this directory and don't call the hook for files in other
> > directories.
>
> This is untested, but maybe putting
>
> ((c-mode . ((before-save-hook . nil))))
>
> in the `.dir-locals.el` file of the project would do the trick?
This concept is quite similar to my idea but instead of putting all .c
files I want to be processed by save hook into one directory and
running a hook that checks if a particular file actually is in a given
directory you suggest to put `.dir-locals.el' file in every single
directory with .c files. Seems quite error-prone and tiring.
> One potential direction is to try and use something similar to
> highlight-changes, not to highlight the changes, but to keep track
> of them and then only apply those "normalization functions" on the
> parts of the buffer you've actually modified.
I don't think this is what I am looking for. The problem is I don't to
run *any* save hooks on most files but only on selected ones, these
ones that belong to me or ones that I am sure about coding rules.
ATM I start to think that save hooks should be disabled by default and
activated manually. Otherwise there is no benefit from them - why
would I need to, let's say, change all tabs to spaces in a project I
touched for the first time or was given by e-mail and need to send
back?
--
<wempwer@gmail.com>
next prev parent reply other threads:[~2013-08-22 21:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-20 17:45 disable save hook temporarily wempwer
2013-08-21 14:22 ` Tim Visher
2013-08-22 21:32 ` wempwer [this message]
2013-08-23 19:03 ` Tim Visher
2013-08-21 15:44 ` Stefan Monnier
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=20130822213216.GA7138@a.lan \
--to=wempwer@gmail.com \
--cc=help-gnu-emacs@gnu.org \
--cc=tim.visher@gmail.com \
/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.
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).