summaryrefslogtreecommitdiff
path: root/lisp/novice.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2001-05-27 06:18:28 +0000
committerEli Zaretskii <eliz@gnu.org>2001-05-27 06:18:28 +0000
commit49b1a63801d264d7cb9a417d2bb1b461c738acf4 (patch)
tree0d6583057733bab7dea589311080208b020e81a8 /lisp/novice.el
parent86f6474ca2761ee7a9346a350dda6d9ec053ddc0 (diff)
downloademacs-49b1a63801d264d7cb9a417d2bb1b461c738acf4.tar.gz
(enable-command): If user-init-file is nil or does not
exist, default to "~/.emacs" (~/_emacs on DOS and, maybe, Windows).
Diffstat (limited to 'lisp/novice.el')
-rw-r--r--lisp/novice.el34
1 files changed, 21 insertions, 13 deletions
diff --git a/lisp/novice.el b/lisp/novice.el
index d57aa224a8d..348774a90fa 100644
--- a/lisp/novice.el
+++ b/lisp/novice.el
@@ -107,19 +107,27 @@ The user's .emacs file is altered so that this will apply
to future sessions."
(interactive "CEnable command: ")
(put command 'disabled nil)
- (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))))
- ;; Explicitly enable, in case this command is disabled by default
- ;; or in case the code we deleted was actually a comment.
- (goto-char (point-max))
- (insert "\n(put '" (symbol-name command) " 'disabled nil)\n")
- (save-buffer)))
+ (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"))
+ (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))))
+ ;; Explicitly enable, in case this command is disabled by default
+ ;; or in case the code we deleted was actually a comment.
+ (goto-char (point-max))
+ (insert "\n(put '" (symbol-name command) " 'disabled nil)\n")
+ (save-buffer))))
;;;###autoload
(defun disable-command (command)