help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: printing configuration per file


From: Michael Heerdegen
Subject: Re: printing configuration per file
Date: Mon, 25 Jan 2021 19:55:32 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Tomas Hlavaty <tom@logand.com> writes:

> Hi,
>
> I would like to specify printing configuration per file instead of
> globally.
>
> Example: I have a file /foo/a/a.txt and a file /foo/b/b.txt.  When I
> open a.txt, the variables ps-font-size, ps-print-header and
> ps-print-footer should have specific values.  When I open b.txt, those
> variables should have different values.  I do not want to set those
> variables globaly.
>
> What are the ways to achieve that?
>
> I tried storing the files in different directories and using
> .dir-locals.el but that did not work (did not set the values + I want to
> set the values for a specific file, not for all files in the directory
> or per mode):
>
> --- .dir-locals.el file
> ;;; Directory Local Variables
> ;;; For more information see (info "(emacs) Directory Variables")
>
> ((nil . ((ps-font-size . 10)
>          (ps-print-header . nil)
>          (ps-print-footer . nil))))
> --- eof

Does look ok to me.  I guess you need to find out why directory local
variables don't work for you.

Then, one way to achieve what you want could be to use the `eval'
"pseudo" variable and put your settings as `setq-local' calls there.
You can make the settings conditional by testing `buffer-file-name' in
your specified expression.

> Is there a way to set local variables not per directory like
> .dir-locals.el does but per file and still using different file?
> E.g. for /foo/a.txt using /foo/a.txt.file-locals.el?

Not built in AFAIK.  Apart from doing it "by hand" of course, e.g. by
using `find-file-hook' and testing `buffer-file-name'.

> Is there a gui for setting buffer local variables, e.g. something like
> customize but writing the values to Local variables section or
> .dir-locals.el file?

I only know the commands.

> Is there a way to see buffer local variables?  There is
> (buffer-local-variables) but if I evaluate that in the buffer, *Message*
> buffer does not contain readable print of that value.  I do not want to
> write a program for this.

I suggest to use the command `pp-eval-expression', that prints the value
in a separate buffer in a better readable format.


HTH,

Michael.



reply via email to

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