From: Michael Heerdegen <michael_heerdegen@web.de>
To: Tomas Hlavaty <tom@logand.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: printing configuration per file
Date: Mon, 25 Jan 2021 19:55:32 +0100 [thread overview]
Message-ID: <87sg6o26e3.fsf@web.de> (raw)
In-Reply-To: <875z3nkukn.fsf@logand.com> (Tomas Hlavaty's message of "Sun, 24 Jan 2021 02:11:20 +0100")
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.
next prev parent reply other threads:[~2021-01-25 18:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-24 1:11 printing configuration per file Tomas Hlavaty
2021-01-25 18:55 ` Michael Heerdegen [this message]
2021-01-25 19:00 ` Michael Heerdegen
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sg6o26e3.fsf@web.de \
--to=michael_heerdegen@web.de \
--cc=help-gnu-emacs@gnu.org \
--cc=tom@logand.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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.