[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/cus-theme.el
From: |
Luc Teirlinck |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/cus-theme.el |
Date: |
Sat, 02 Jul 2005 18:53:04 -0400 |
Index: emacs/lisp/cus-theme.el
diff -c emacs/lisp/cus-theme.el:1.8 emacs/lisp/cus-theme.el:1.9
*** emacs/lisp/cus-theme.el:1.8 Sun Apr 17 16:18:45 2005
--- emacs/lisp/cus-theme.el Sat Jul 2 22:53:04 2005
***************
*** 31,36 ****
--- 31,48 ----
(eval-when-compile
(require 'wid-edit))
+ (define-derived-mode custom-new-theme-mode nil "New-Theme"
+ "Major mode for the buffer created by `customize-create-theme'.
+ Do not call this mode function yourself. It is only meant for internal
+ use by `customize-create-theme'."
+ (set-keymap-parent custom-new-theme-mode-map widget-keymap))
+ (put 'custom-new-theme-mode 'mode-class 'special)
+
+ (defvar custom-theme-name)
+ (defvar custom-theme-variables)
+ (defvar custom-theme-faces)
+ (defvar custom-theme-description)
+
;;;###autoload
(defun customize-create-theme ()
"Create a custom theme."
***************
*** 38,52 ****
(if (get-buffer "*New Custom Theme*")
(kill-buffer "*New Custom Theme*"))
(switch-to-buffer "*New Custom Theme*")
! (kill-all-local-variables)
(make-local-variable 'custom-theme-name)
(make-local-variable 'custom-theme-variables)
(make-local-variable 'custom-theme-faces)
(make-local-variable 'custom-theme-description)
- (let ((inhibit-read-only t))
- (erase-buffer))
(widget-insert "This buffer helps you write a custom theme elisp file.
! This will help you share your customizations with other people.\n\n")
(widget-insert "Theme name: ")
(setq custom-theme-name
(widget-create 'editable-field
--- 50,72 ----
(if (get-buffer "*New Custom Theme*")
(kill-buffer "*New Custom Theme*"))
(switch-to-buffer "*New Custom Theme*")
! (let ((inhibit-read-only t))
! (erase-buffer))
! (custom-new-theme-mode)
(make-local-variable 'custom-theme-name)
(make-local-variable 'custom-theme-variables)
(make-local-variable 'custom-theme-faces)
(make-local-variable 'custom-theme-description)
(widget-insert "This buffer helps you write a custom theme elisp file.
! This will help you share your customizations with other people.
!
! Just insert the names of all variables and faces you want the theme
! to include. Then clicking mouse-2 or pressing RET on the [Done] button
! will write a theme file that sets all these variables and faces to their
! current global values. It will write that file into the directory given
! by the variable `custom-theme-directory', usually \"~/.emacs.d/\".
!
! To undo all your edits to the buffer, use the [Reset] button.\n\n")
(widget-insert "Theme name: ")
(setq custom-theme-name
(widget-create 'editable-field
***************
*** 81,87 ****
(bury-buffer))
"Bury Buffer")
(widget-insert "\n")
- (use-local-map widget-keymap)
(widget-setup))
(defun custom-theme-write (&rest ignore)
--- 101,106 ----
***************
*** 90,95 ****
--- 109,118 ----
(variables (widget-value custom-theme-variables))
(faces (widget-value custom-theme-faces)))
(switch-to-buffer (concat name "-theme.el"))
+ (emacs-lisp-mode)
+ (unless (file-exists-p custom-theme-directory)
+ (make-directory (file-name-as-directory custom-theme-directory) t))
+ (setq default-directory custom-theme-directory)
(setq buffer-file-name (expand-file-name (concat name "-theme.el")))
(let ((inhibit-read-only t))
(erase-buffer))
***************
*** 100,106 ****
(insert ")\n")
(custom-theme-write-variables name variables)
(custom-theme-write-faces name faces)
! (insert "\n(provide-theme '" name ")\n")))
(defun custom-theme-write-variables (theme vars)
"Write a `custom-theme-set-variables' command for THEME.
--- 123,130 ----
(insert ")\n")
(custom-theme-write-variables name variables)
(custom-theme-write-faces name faces)
! (insert "\n(provide-theme '" name ")\n")
! (save-buffer)))
(defun custom-theme-write-variables (theme vars)
"Write a `custom-theme-set-variables' command for THEME.
- [Emacs-diffs] Changes to emacs/lisp/cus-theme.el,
Luc Teirlinck <=