Function: en/disable-command
en/disable-command is a byte-compiled function defined in
novice.el.gz.
Signature
(en/disable-command COMMAND DISABLE)
Source Code
;; Defined in /usr/src/emacs/lisp/novice.el.gz
(defun en/disable-command (command disable)
(unless (commandp command)
(error "Invalid command name `%s'" command))
(put command 'disabled disable)
(let ((init-file user-init-file)
(default-init-file
(if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs")))
(unless 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")))
(with-current-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))
(unless (bolp) (newline))
(insert "(put '" (symbol-name command) " 'disabled "
(symbol-name disable) ")\n")
(save-buffer))))