;;; cus-edit.el --- Tools for customizating Emacs and Lisp packages.
;;
-;; Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Maintainer: Hrvoje Niksic <hniksic@xemacs.org>
(require 'cus-load)
(require 'cus-start)
+(require 'cus-file)
;; Huh? This looks dirty!
(put 'custom-define-hook 'custom-type 'hook)
(custom-unlispify-menu-entry symbol t)))
(defun custom-prefix-add (symbol prefixes)
- ;; Addd SYMBOL to list of ignored PREFIXES.
+ ;; Add SYMBOL to list of ignored PREFIXES.
(cons (or (get symbol 'custom-prefix)
(concat (symbol-name symbol) "-"))
prefixes))
(defun custom-browse-insert-prefix (prefix)
"Insert PREFIX. On XEmacs convert it to line graphics."
- ;; ### Unfinished.
+ ;; #### Unfinished.
(if nil ; (string-match "XEmacs" emacs-version)
(progn
(insert "*")
(widget-put widget :custom-magic magic)
(push magic buttons))
;; Insert documentation.
- ;; ### NOTE: this is ugly!!!! I need to do update the :buttons property
+ ;; #### NOTE: this is ugly!!!! I need to do update the :buttons property
;; before the call to `widget-default-format-handler'. Otherwise, I
;; loose my current `buttons'. This function shouldn't be called like
;; this anyway. The doc string widget should be added like the others.
"Restore the saved value for the variable being edited by WIDGET."
(let* ((symbol (widget-value widget))
(set (or (get symbol 'custom-set) 'set-default))
- (comment-widget (widget-get widget :comment-widget))
(value (get symbol 'saved-value))
(comment (get symbol 'saved-variable-comment)))
(cond ((or value comment)
(defun custom-variable-reset-standard (widget)
"Restore the standard setting for the variable being edited by WIDGET."
(let* ((symbol (widget-value widget))
- (set (or (get symbol 'custom-set) 'set-default))
- (comment-widget (widget-get widget :comment-widget)))
+ (set (or (get symbol 'custom-set) 'set-default)))
(if (get symbol 'standard-value)
(funcall set symbol (eval (car (get symbol 'standard-value))))
(signal 'error (list "No standard setting known for variable" symbol)))
:format "%t: %v"
:tag "Attributes"
:extra-offset 12
- :button-args '(:help-echo "Control whether this attribute have any effect")
+ :button-args '(:help-echo "Control whether this attribute has any effect")
:args (mapcar (lambda (att)
(list 'group
:inline t
pm)
(const :format "MSWindows "
:sibling-args (:help-echo "\
-Windows NT/95/97")
+Microsoft Windows, displays")
mswindows)
- (const :format "DOS "
+ (const :format "MSPrinter "
:sibling-args (:help-echo "\
-Plain MS-DOS")
- pc)
+Microsoft Windows, printers")
+ msprinter)
(const :format "TTY%n"
:sibling-args (:help-echo "\
Plain text terminals")
tty)))
(group :sibling-args (:help-echo "\
+Only match display or printer devices")
+ (const :format "Output: "
+ class)
+ (checklist :inline t
+ :offset 0
+ (const :format "Display "
+ :sibling-args (:help-echo "\
+Match display devices")
+ display)
+ (const :format "Printer%n"
+ :sibling-args (:help-echo "\
+Match printer devices")
+ printer)))
+ (group :sibling-args (:help-echo "\
Only match the frames with the specified color support")
- (const :format "Class: "
+ (const :format "Color support: "
class)
(checklist :inline t
:offset 0
:tag "Hook")
(defun custom-hook-convert-widget (widget)
- ;; Handle `:custom-options'.
+ ;; Handle `:options'.
(let* ((options (widget-get widget :options))
(other `(editable-list :inline t
:entry-format "%i %d%v"
(widget-put widget :custom-state found)))
(custom-magic-reset widget))
-;;; The `custom-save-all' Function.
-;;;###autoload
-(defcustom custom-file "~/.emacs"
- "File used for storing customization information.
-If you change this from the default \"~/.emacs\" you need to
-explicitly load that file for the settings to take effect."
- :type 'file
- :group 'customize)
-
(defun custom-save-delete (symbol)
"Delete the call to SYMBOL form in `custom-file'.
Leave point at the location of the call, or after the last expression."
(princ "\n '(")
(prin1 symbol)
(princ " ")
- ;; This comment stuf is in the way ####
+ ;; This comment stuff is in the way ####
;; Is (eq (third spec) (car saved-value)) ????
;; (prin1 (third spec))
(prin1 (car (get symbol 'saved-value)))
(run-hooks 'custom-mode-hook))
\f
+;;;###autoload
+(defun custom-migrate-custom-file (new-custom-file-name)
+ "Migrate custom file from home directory."
+ (mapc 'custom-save-delete
+ '(custom-load-themes custom-reset-variables
+ custom-set-variables
+ custom-set-faces
+ custom-reset-faces))
+ (with-current-buffer (find-file-noselect custom-file)
+ (save-buffer))
+ (setq custom-file new-custom-file-name)
+ (custom-save-all))
+\f
;;; The End.
(provide 'cus-edit)