emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/gnus/gnus-group.el,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/gnus/gnus-group.el,v
Date: Fri, 09 Nov 2007 09:46:04 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     07/11/09 09:46:02

Index: lisp/gnus/gnus-group.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/gnus-group.el,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -b -r1.62 -r1.63
--- lisp/gnus/gnus-group.el     2 Nov 2007 01:38:48 -0000       1.62
+++ lisp/gnus/gnus-group.el     9 Nov 2007 09:46:01 -0000       1.63
@@ -2613,14 +2613,19 @@
 When used interactively, GROUP is the group under point
 and NEW-NAME will be prompted for."
   (interactive
-   (list
-    (gnus-group-group-name)
-    (progn
-      (unless (gnus-check-backend-function
-              'request-rename-group (gnus-group-group-name))
+   (let ((group (gnus-group-group-name))
+        method new-name)
+     (unless (gnus-check-backend-function 'request-rename-group group)
        (error "This back end does not support renaming groups"))
-      (gnus-read-group "Rename group to: "
-                      (gnus-group-real-name (gnus-group-group-name))))))
+     (setq new-name (gnus-read-group
+                    "Rename group to: "
+                    (gnus-group-real-name (gnus-group-decoded-name group)))
+          method (gnus-info-method (gnus-get-info group)))
+     (list group (mm-encode-coding-string
+                 new-name
+                 (gnus-group-name-charset
+                  method
+                  (gnus-group-prefixed-name new-name method))))))
 
   (unless (gnus-check-backend-function 'request-rename-group group)
     (error "This back end does not support renaming groups"))
@@ -2639,16 +2644,20 @@
           (gnus-group-real-name new-name)
           (gnus-info-method (gnus-get-info group)))))
 
+  (let ((decoded-group (gnus-group-decoded-name group))
+       (decoded-new-name (gnus-group-decoded-name new-name)))
   (when (gnus-active new-name)
-    (error "The group %s already exists" new-name))
+      (error "The group %s already exists" decoded-new-name))
 
-  (gnus-message 6 "Renaming group %s to %s..." group new-name)
+    (gnus-message 6 "Renaming group %s to %s..."
+                 decoded-group decoded-new-name)
   (prog1
       (if (progn
            (gnus-group-goto-group group)
            (not (when (< (gnus-group-group-level) gnus-level-zombie)
                   (gnus-request-rename-group group new-name))))
-         (gnus-error 3 "Couldn't rename group %s to %s" group new-name)
+           (gnus-error 3 "Couldn't rename group %s to %s"
+                       decoded-group decoded-new-name)
        ;; We rename the group internally by killing it...
        (gnus-group-kill-group)
        ;; ... changing its name ...
@@ -2656,12 +2665,13 @@
        ;; ... and then yanking it.  Magic!
        (gnus-group-yank-group)
        (gnus-set-active new-name (gnus-active group))
-       (gnus-message 6 "Renaming group %s to %s...done" group new-name)
+         (gnus-message 6 "Renaming group %s to %s...done"
+                       decoded-group decoded-new-name)
        new-name)
     (setq gnus-killed-list (delete group gnus-killed-list))
     (gnus-set-active group nil)
     (gnus-dribble-touch)
-    (gnus-group-position-point)))
+      (gnus-group-position-point))))
 
 (defun gnus-group-edit-group (group &optional part)
   "Edit the group on the current line."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]