Function: gnus-group-make-group
gnus-group-make-group is an interactive and byte-compiled function
defined in gnus-group.el.gz.
Signature
(gnus-group-make-group NAME &optional METHOD ADDRESS ARGS)
Documentation
Add a new newsgroup.
The user will be prompted for a NAME, for a select METHOD, and an ADDRESS. NAME should be a human-readable string (i.e., not be encoded even if it contains non-ASCII characters).
If the backend supports it, the group will also be created on the server.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-group.el.gz
(defun gnus-group-make-group (name &optional method address args)
"Add a new newsgroup.
The user will be prompted for a NAME, for a select METHOD, and an
ADDRESS. NAME should be a human-readable string (i.e., not be encoded
even if it contains non-ASCII characters).
If the backend supports it, the group will also be created on the
server."
(interactive
(list
(gnus-read-group "Group name: ")
(gnus-read-method "Select method for new group (use tab for completion)"))
gnus-group-mode)
(when (stringp method)
(setq method (or (gnus-server-to-method method) method)))
(let* ((meth (gnus-method-simplify
(when (and method
(not (gnus-server-equal method gnus-select-method)))
(if address (list (intern method) address)
method))))
(nname (if method (gnus-group-prefixed-name name meth) name))
backend info)
(when (gnus-group-entry nname)
(error "Group %s already exists" nname))
;; Subscribe to the new group.
(gnus-group-change-level
(setq info (list t nname gnus-level-default-subscribed nil nil meth))
gnus-level-default-subscribed gnus-level-killed
(gnus-group-group-name) t)
;; Make it active.
(gnus-set-active nname (cons 1 0))
(unless (gnus-ephemeral-group-p name)
(gnus-dribble-enter
(concat "(gnus-group-set-info '"
(gnus-prin1-to-string (cdr info)) ")")
(concat "^(gnus-group-set-info '(\"" (regexp-quote name) "\"")))
;; Insert the line.
(gnus-group-insert-group-line-info nname)
(forward-line -1)
(gnus-group-position-point)
;; Load the back end and try to make the back end create
;; the group as well.
(when (assoc (symbol-name (setq backend (car (gnus-server-get-method
nil meth))))
gnus-valid-select-methods)
(require backend))
(gnus-check-server meth)
(when (gnus-check-backend-function 'request-create-group nname)
(unless (gnus-request-create-group nname nil args)
(error "Could not create group on server: %s"
(nnheader-get-report backend))))
t))