]> code.delx.au - gnu-emacs/blobdiff - lisp/cus-edit.el
(eshell-windows-shell-file): Look for command.com, not command.exe.
[gnu-emacs] / lisp / cus-edit.el
index 76e8e5bf7ba7d2dbd3888b6003d3c6fea2cb4845..c0e54b4add303add1c833c63b4978608d3ec7332 100644 (file)
@@ -1,7 +1,7 @@
 ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
 ;;
-;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-;;           Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
 (require 'cus-face)
 (require 'wid-edit)
 (eval-when-compile
-  (defvar custom-versions-load-alist)) ; from cus-load
+  (defvar custom-versions-load-alist)  ; from cus-load
+  (defvar recentf-exclude))            ; from recentf.el
 
 (condition-case nil
     (require 'cus-load)
@@ -1021,9 +1022,12 @@ then prompt for the MODE to customize."
 (defun customize-option (symbol)
   "Customize SYMBOL, which must be a user option variable."
   (interactive (custom-variable-prompt))
-  (custom-buffer-create (list (list symbol 'custom-variable))
-                       (format "*Customize Option: %s*"
-                               (custom-unlispify-tag-name symbol))))
+  (let ((basevar (indirect-variable symbol)))
+    (custom-buffer-create (list (list basevar 'custom-variable))
+                         (format "*Customize Option: %s*"
+                                 (custom-unlispify-tag-name basevar)))
+    (unless (eq symbol basevar)
+      (message "`%s' is an alias for `%s'" symbol basevar))))
 
 ;;;###autoload
 (defalias 'customize-variable-other-window 'customize-option-other-window)
@@ -1033,9 +1037,12 @@ then prompt for the MODE to customize."
   "Customize SYMBOL, which must be a user option variable.
 Show the buffer in another window, but don't select it."
   (interactive (custom-variable-prompt))
-  (custom-buffer-create-other-window
-   (list (list symbol 'custom-variable))
-   (format "*Customize Option: %s*" (custom-unlispify-tag-name symbol))))
+  (let ((basevar (indirect-variable symbol)))
+    (custom-buffer-create-other-window
+     (list (list basevar 'custom-variable))
+     (format "*Customize Option: %s*" (custom-unlispify-tag-name basevar)))
+    (unless (eq symbol basevar)
+      (message "`%s' is an alias for `%s'" symbol basevar))))
 
 (defvar customize-changed-options-previous-release "20.2"
   "Version for `customize-changed-options' to refer back to by default.")
@@ -3895,7 +3902,12 @@ if only the first line of the docstring is shown."))
   "Visit `custom-file' and delete all calls to SYMBOL from it.
 Leave point at the old location of the first such call,
 or (if there were none) at the end of the buffer."
-  (let ((default-major-mode 'emacs-lisp-mode))
+  (let ((default-major-mode 'emacs-lisp-mode)
+       (recentf-exclude (if recentf-mode
+                            (cons (concat "\\`"
+                                          (regexp-quote (custom-file))
+                                          "\\'")
+                                  recentf-exclude))))
     (set-buffer (find-file-noselect (custom-file))))
   (goto-char (point-min))
   ;; Skip all whitespace and comments.
@@ -4124,7 +4136,12 @@ or (if there were none) at the end of the buffer."
     (custom-save-variables)
     (custom-save-faces)
     (save-excursion
-      (let ((default-major-mode nil))
+      (let ((default-major-mode nil)
+           (recentf-exclude (if recentf-mode
+                                (cons (concat "\\`"
+                                              (regexp-quote (custom-file))
+                                              "\\'")
+                                      recentf-exclude))))
        (set-buffer (find-file-noselect (custom-file))))
       (let ((file-precious-flag t))
        (save-buffer)))))
@@ -4222,6 +4239,7 @@ The format is suitable for use with `easy-menu-define'."
     (suppress-keymap map)
     (define-key map " " 'scroll-up)
     (define-key map "\177" 'scroll-down)
+    (define-key map "\C-c\C-c" 'Custom-set)
     (define-key map "\C-x\C-s" 'Custom-save)
     (define-key map "q" 'Custom-buffer-done)
     (define-key map "u" 'Custom-goto-parent)
@@ -4251,7 +4269,7 @@ The format is suitable for use with `easy-menu-define'."
     ["Reset to Current" Custom-reset-current t]
     ["Reset to Saved" Custom-reset-saved t]
     ["Reset to Standard Settings" Custom-reset-standard t]
-    ["Info" (Info-goto-node "(emacs)Easy Customization") t]))
+    ["Info" (info "(emacs)Easy Customization") t]))
 
 (defun Custom-goto-parent ()
   "Go to the parent group listed at the top of this buffer.