Commit eab5dc07 authored by Lars Magne Ingebrigtsen's avatar Lars Magne Ingebrigtsen
Browse files

Allow using `customize-save-variable' under Emacs -Q: Set the variable, and give a warning

parent 963578d3
2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
* cus-edit.el (custom-file): Take an optional no-error variable.
(customize-save-variable): Set the variable, and give a warning if
running under "emacs -q".
2011-07-11 Juanma Barranquero <lekktu@gmail.com>
* loadhist.el (unload-feature-special-hooks):
......
......@@ -1033,7 +1033,11 @@ If given a prefix (or a COMMENT argument), also prompt for a comment."
(put variable 'saved-variable-comment comment)))
(put variable 'customized-value nil)
(put variable 'customized-variable-comment nil)
(custom-save-all)
(if (custom-file t)
(custom-save-all)
(message "Setting `%s' temporarily since \"emacs -q\" would overwrite customizations"
variable)
(set variable value))
value)
;; Some parts of Emacs might prompt the user to save customizations,
......@@ -4403,23 +4407,27 @@ Click on \"More\" \(or position point there and press RETURN)
if only the first line of the docstring is shown."))
:group 'customize)
(defun custom-file ()
(defun custom-file (&optional no-error)
"Return the file name for saving customizations."
(file-chase-links
(or custom-file
(let ((user-init-file user-init-file)
(default-init-file
(if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs")))
(when (null user-init-file)
(if (or (file-exists-p default-init-file)
(and (eq system-type 'windows-nt)
(file-exists-p "~/_emacs")))
;; Started with -q, i.e. the file containing
;; Custom settings hasn't been read. Saving
;; settings there would overwrite other settings.
(error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
(setq user-init-file default-init-file))
user-init-file))))
(let ((file
(or custom-file
(let ((user-init-file user-init-file)
(default-init-file
(if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs")))
(when (null user-init-file)
(if (or (file-exists-p default-init-file)
(and (eq system-type 'windows-nt)
(file-exists-p "~/_emacs")))
;; Started with -q, i.e. the file containing
;; Custom settings hasn't been read. Saving
;; settings there would overwrite other settings.
(if no-error
nil
(error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
(setq user-init-file default-init-file)))
user-init-file))))
(and file
(file-chase-links file))))
;; If recentf-mode is non-nil, this is defined.
(declare-function recentf-expand-file-name "recentf" (name))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment