emacs-devel
[Top][All Lists]
Advanced

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

Re: Documentation for custom-file - is not (load custom-file) needed?


From: Juri Linkov
Subject: Re: Documentation for custom-file - is not (load custom-file) needed?
Date: Wed, 08 Dec 2004 15:27:32 +0200
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

I wrote:
> It's too late to make any changes in custom-file (changing its type,
> etc.) since users might already rely on its current state.

But maybe it is safe to change the type of custom-file from defcustom
to defvar.  I am only concerned about backward compatibility.
What happens if some users already have customized `custom-file' in
`custom-set-variables' and it will be removed from this list?
Perhaps, nothing bad.  Moreover, the situation where `custom-file'
in `custom-set-variables' points to some file other than the file
where `custom-set-variables' is located, is invalid.  It will cause
duplication of `custom-set-variables' list when Emacs saves customized
variables next time.  So, not adding `custom-file' to the set of
variables in `custom-set-variables' is the right thing.  `custom-file'
should be purely an internal variable (which is achieved with the
previous patch).

However, there is one situation when users have to deal with the
`custom-file' variable.  When the user moves `custom-set-variables'
to a new location in another file, it's needed to tell Emacs about
this location, so the next invocation of `Custom-save' could write
customization to the new place.  To inform users about that, the next
3 lines could be added to the comments of `custom-set-variables':

 (custom-set-variables
   ;; custom-set-variables was added by Custom.
   ;; If you edit it by hand, you could mess it up, so be careful.
   ;; Your init file should contain only one such instance.
   ;; If there is more than one, they won't work right.
+  ;; When you move it to another init file, to tell Emacs about
+  ;; its new location for the current Emacs session, type C-x C-e
+  ;; at the end of this line: (setq custom-file buffer-file-name)
+  ;; For further Emacs sessions just put in your init file
+  ;; (load "custom-file.el").  There is no need to set `custom-file'
+  ;; explicitly in your init files since Emacs can automatically set
+  ;; it to the file name where your customizations were loaded from.
   ...

-- 
Juri Linkov
http://www.jurta.org/emacs/





reply via email to

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