[Top][All Lists]

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

Re: .gnus init file

From: Tassilo Horn
Subject: Re: .gnus init file
Date: Wed, 04 Feb 2015 08:27:17 +0100
User-agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux)

Emanuel Berg <> writes:

>> I have both .emacs and .gnus in ~\ (w32 24.4) and am
>> manually transfering gnus stuff from .emacs to .gnus
>> Is there a way to have options > customize write to
>> a custom-set-variables paragraph in .gnus instead of
>> in .emacs or does all the gnus stuff set through
>> customize have to stay in .emacs
> No, those files don't mean anything as such. As long
> as the files get read, you can put whatever option in
> whatever file.

That's not what was asked.  The question was if it's possible to tell
the Customize interface to store Gnus-related stuff in ~/.gnus and all
other stuff in ~/.emacs.

Well, I tend to say "possibly, yes".  There's a variable for the file
which is used to store Customize settings:

,----[ C-h v custom-file RET ]
| custom-file is a variable defined in `cus-edit.el'.
| Its value is nil
| Documentation:
| File used for storing customization information.
| The default is nil, which means to use your init file
| as specified by `user-init-file'.  If the value is not nil,
| it should be an absolute file name.
| You can set this option through Custom, if you carefully read the
| last paragraph below.  However, usually it is simpler to write
| something like the following in your init file:
| (setq custom-file "~/.emacs-custom.el")
| (load custom-file)
| Note that both lines are necessary: the first line tells Custom to
| save all customizations in this file, but does not load it.
| When you change this variable outside Custom, look in the
| previous custom file (usually your init file) for the
| forms `(custom-set-variables ...)'  and `(custom-set-faces ...)',
| and copy them (whichever ones you find) to the new custom file.
| This will preserve your existing customizations.
| If you save this option using Custom, Custom will write all
| currently saved customizations, including the new one for this
| option itself, into the file you specify, overwriting any
| `custom-set-variables' and `custom-set-faces' forms already
| present in that file.  It will not delete any customizations from
| the old custom file.  You should do that manually if that is what you
| want.  You also have to put something like `(load "CUSTOM-FILE")
| in your init file, where CUSTOM-FILE is the actual name of the
| file.  Otherwise, Emacs will not load the file when it starts up,
| and hence will not set `custom-file' to that file either.
| You can customize this variable.

So basically, if you manage to set this variable buffer-locally to
"/home/user/.gnus" in Customize buffers related to Gnus stuff, it'll
probably work.  But that setting needs to be installed before the custom
options are inserted there, because else their current values wouldn't
be read from the right file.

However, even if you manage to get there, that's also no salvation
because some Customize commands like `customize-apropos' will let you
customize options from different groups, and then a buffer-local value
of custom-file won't do the trick.

So long story short: I'd suggest you either don't mess with
`custom-file' and let Emacs put it in `user-init-file', or you set it to
a separate file which is loaded from ~/.emacs as suggested in the docs
above.  Splitting into per-package custom-files doesn't seem to be
possible, and IMHO the value is questionable anyhow.  I mean, the since
the customizations are sorted alphabetically, they are somehow grouped
by package anyway.


reply via email to

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