mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-03 11:33:37 +00:00
(enable-command): If Emacs was invoked as "emacs -q",
don't alter the user's ~/.emacs. (disable-command): If user-init-file is nil or does not exist, default to "~/.emacs" (~/_emacs on DOS and, maybe, Windows). But don't alter the init file if Emacs was invoked as "emacs -q"
This commit is contained in:
parent
4fbcc9b1eb
commit
2308fe2716
@ -1,3 +1,11 @@
|
||||
2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
* novice.el (enable-command): If Emacs was invoked as "emacs -q",
|
||||
don't alter the user's ~/.emacs.
|
||||
(disable-command): If user-init-file is nil or does not exist,
|
||||
default to "~/.emacs" (~/_emacs on DOS and, maybe, Windows). But
|
||||
don't alter the init file if Emacs was invoked as "emacs -q"
|
||||
|
||||
2002-02-01 Stefan Monnier <monnier@cs.yale.edu>
|
||||
|
||||
* mail/sendmail.el (mail-mode): Undo half of last change.
|
||||
|
@ -107,10 +107,18 @@ The user's .emacs file is altered so that this will apply
|
||||
to future sessions."
|
||||
(interactive "CEnable command: ")
|
||||
(put command 'disabled nil)
|
||||
(let ((init-file user-init-file))
|
||||
(when (or (not (stringp init-file))
|
||||
(not (file-exists-p init-file)))
|
||||
(setq init-file (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))
|
||||
(let ((init-file user-init-file)
|
||||
(default-init-file
|
||||
(if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs")))
|
||||
(when (null 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
|
||||
;; enabled/disabled commands hasn't been read. Saving
|
||||
;; settings there would overwrite other settings.
|
||||
(error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
|
||||
(setq init-file default-init-file)
|
||||
(if (and (not (file-exists-p init-file))
|
||||
(eq system-type 'windows-nt)
|
||||
(file-exists-p "~/_emacs"))
|
||||
@ -138,17 +146,33 @@ to future sessions."
|
||||
(if (not (commandp command))
|
||||
(error "Invalid command name `%s'" command))
|
||||
(put command 'disabled t)
|
||||
(save-excursion
|
||||
(set-buffer (find-file-noselect
|
||||
(substitute-in-file-name user-init-file)))
|
||||
(goto-char (point-min))
|
||||
(if (search-forward (concat "(put '" (symbol-name command) " ") nil t)
|
||||
(delete-region
|
||||
(progn (beginning-of-line) (point))
|
||||
(progn (forward-line 1) (point))))
|
||||
(goto-char (point-max))
|
||||
(insert "\n(put '" (symbol-name command) " 'disabled t)\n")
|
||||
(save-buffer)))
|
||||
(let ((init-file user-init-file)
|
||||
(default-init-file
|
||||
(if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs")))
|
||||
(when (null 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
|
||||
;; enabled/disabled commands hasn't been read. Saving
|
||||
;; settings there would overwrite other settings.
|
||||
(error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
|
||||
(setq init-file default-init-file)
|
||||
(if (and (not (file-exists-p init-file))
|
||||
(eq system-type 'windows-nt)
|
||||
(file-exists-p "~/_emacs"))
|
||||
(setq init-file "~/_emacs")))
|
||||
(save-excursion
|
||||
(set-buffer (find-file-noselect
|
||||
(substitute-in-file-name init-file)))
|
||||
(goto-char (point-min))
|
||||
(if (search-forward (concat "(put '" (symbol-name command) " ") nil t)
|
||||
(delete-region
|
||||
(progn (beginning-of-line) (point))
|
||||
(progn (forward-line 1) (point))))
|
||||
(goto-char (point-max))
|
||||
(insert "\n(put '" (symbol-name command) " 'disabled t)\n")
|
||||
(save-buffer))))
|
||||
|
||||
(provide 'novice)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user