*** empty log message ***
[gnus] / lisp / gnus-eform.el
index 013df24..106461e 100644 (file)
 
 ;;; Code:
 
-(require 'gnus-load)
-(require 'gnus-win)
 (require 'gnus)
+(require 'gnus-win)
 
 ;;;
 ;;; Editing forms
 ;;;
 
-(defvar gnus-edit-form-mode-hook nil
-  "Hook run in `gnus-edit-form-mode' buffers.")
+(defgroup gnus-edit-form nil
+  "A mode for editing forms."
+  :group 'gnus)
+
+(defcustom gnus-edit-form-mode-hook nil
+  "Hook run in `gnus-edit-form-mode' buffers."
+  :group 'gnus-edit-form
+  :type 'hook)
 
-(defvar gnus-edit-form-menu-hook nil
-  "Hook run when creating menus in `gnus-edit-form-mode' buffers.")
+(defcustom gnus-edit-form-menu-hook nil
+  "Hook run when creating menus in `gnus-edit-form-mode' buffers."
+  :group 'gnus-edit-form
+  :type 'hook)
 
 ;;; Internal variables
 
 (defvar gnus-edit-form-done-function nil)
-(defvar gnus-edit-form-buffer  "*Gnus edit form*")
+(defvar gnus-edit-form-buffer "*Gnus edit form*")
 
 (defvar gnus-edit-form-mode-map nil)
 (unless gnus-edit-form-mode-map
-  (set gnus-edit-form-mode-map (copy-keymap emacs-lisp-mode-map))
+  (setq gnus-edit-form-mode-map (copy-keymap emacs-lisp-mode-map))
   (gnus-define-keys gnus-edit-form-mode-map
     "\C-c\C-c" gnus-edit-form-done
     "\C-c\C-k" gnus-edit-form-exit))
@@ -82,8 +89,7 @@ It is a slightly enhanced emacs-lisp-mode.
 Call EXIT-FUNC on exit.  Display DOCUMENTATION in the beginning
 of the buffer."
   (let ((winconf (current-window-configuration)))
-    (set-buffer (setq gnus-edit-form-buffer 
-                     (get-buffer-create gnus-edit-form-buffer)))
+    (set-buffer (get-buffer-create gnus-edit-form-buffer))
     (gnus-configure-windows 'edit-form)
     (gnus-add-current-to-buffer-list)
     (gnus-edit-form-mode)
@@ -108,9 +114,10 @@ of the buffer."
   "Update changes and kill the current buffer."
   (interactive)
   (goto-char (point-min))
-  (let ((form (read (current-buffer))))
+  (let ((form (read (current-buffer)))
+       (func gnus-edit-form-done-function))
     (gnus-edit-form-exit)
-    (funcall gnus-edit-form-done-function form)))
+    (funcall func form)))
   
 (defun gnus-edit-form-exit ()
   "Kill the current buffer."