Subject: bug#13685: a way to say that dir-locals should only apply to buffers with files

From: Josh <[email-masked]>
Date: Tue, 12 Feb 2013 19:24:19 -0800

On Mon, Feb 11, 2013 at 6:32 PM, Glenn Morris <[email-masked]> wrote:
> Glenn Morris wrote:
>
>> I think there should be some way in a dir-locals file to say
>> "these settings should only be applied to buffers with files".
>> Sometimes some options are not appropriate for file-less buffers.
>> Ref bug#11127.
>
> This seems easy to do, but I don't know what the best UI is.
> An element in the dir-locals list:
>
>   (fileonly . t)
>
> or
>
>   (apply-to . files)

Or more generally, the cdr could specify a predicate taking a single
argument (the buffer), e.g.
(apply-if . buffer-file-name)

> The latter allows for
>
>   (apply-to . nonfiles)
>
> as well (though I can't think of a use for that).

Likewise, (apply-if . (lambda (buffer) (not (buffer-file-name buffer))))