Function: gnus-edit-form

gnus-edit-form is an autoloaded and byte-compiled function defined in gnus-eform.el.gz.

Signature

(gnus-edit-form FORM DOCUMENTATION EXIT-FUNC &optional LAYOUT)

Documentation

Edit FORM in a new buffer.

Call EXIT-FUNC on exit. Display DOCUMENTATION in the beginning of the buffer. The optional LAYOUT overrides the edit-form window layout.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-eform.el.gz
(defun gnus-edit-form (form documentation exit-func &optional layout)
  "Edit FORM in a new buffer.
Call EXIT-FUNC on exit.  Display DOCUMENTATION in the beginning
of the buffer.
The optional LAYOUT overrides the `edit-form' window layout."
  (let ((winconf (current-window-configuration)))
    (set-buffer (gnus-get-buffer-create gnus-edit-form-buffer))
    (gnus-configure-windows (or layout 'edit-form))
    (gnus-edit-form-mode)
    (setq gnus-prev-winconf winconf)
    (setq gnus-edit-form-done-function exit-func)
    (erase-buffer)
    (insert documentation)
    (unless (bolp)
      (insert "\n"))
    (goto-char (point-min))
    (while (not (eobp))
      (insert ";;; ")
      (forward-line 1))
    (insert (substitute-command-keys
             ";; Type \\`C-c C-c' after you've finished editing.\n"))
    (insert "\n")
    (let ((p (point)))
      (gnus-pp form)
      (insert "\n")
      (goto-char p))))