Function: nnfolder-request-rename-group

nnfolder-request-rename-group is a byte-compiled function defined in nnfolder.el.gz.

Signature

(nnfolder-request-rename-group GROUP NEW-NAME &optional SERVER)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnfolder.el.gz
(deffoo nnfolder-request-rename-group (group new-name &optional server)
  (nnfolder-possibly-change-group group server)
  (with-current-buffer nnfolder-current-buffer
    (and (file-writable-p buffer-file-name)
	 (ignore-errors
	   (let ((new-file (nnfolder-group-pathname new-name)))
	     (gnus-make-directory (file-name-directory new-file))
	     (rename-file buffer-file-name new-file)
	     (when (file-exists-p (nnfolder-group-nov-pathname group))
	       (setq new-file (nnfolder-group-nov-pathname new-name))
	       (gnus-make-directory (file-name-directory new-file))
	       (rename-file (nnfolder-group-nov-pathname group) new-file)))
	   t)
	 ;; That went ok, so we change the internal structures.
	 (let ((entry (assoc group nnfolder-group-alist)))
	   (and entry (setcar entry new-name))
	   (setq nnfolder-current-buffer nil
		 nnfolder-current-group nil)
	   ;; Save the new group alist.
	   (nnfolder-save-active nnfolder-group-alist nnfolder-active-file)
	   ;; We kill the buffer instead of renaming it and stuff.
	   (kill-buffer (current-buffer))
	   t))))