summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/gnus-start.el4
-rw-r--r--lisp/gnus/gnus-sum.el3
-rw-r--r--lisp/gnus/nnimap.el26
3 files changed, 21 insertions, 12 deletions
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index f2e69781fc1..692c8346130 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -862,7 +862,9 @@ If REGEXP is given, lines that match it will be deleted."
(goto-char (match-beginning 0))
(delete-region (point-at-bol) end))))
(goto-char (point-max))
- (insert string "\n")
+ ;; Make sure that each dribble entry is a single line, so that
+ ;; the "remove" code above works.
+ (insert (replace-regexp-in-string "\n" "\\\\n" string) "\n")
;; This has been commented by Josh Huber <huber@alum.wpi.edu>
;; It causes problems with both XEmacs and Emacs 21, and doesn't
;; seem to be of much value. (FIXME: remove this after we make sure
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index bc31ce91346..c8f0fa31300 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -4011,7 +4011,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
(gnus-group-next-unread-group 1))
(gnus-handle-ephemeral-exit quit-config)))
(if (null (gnus-list-of-unread-articles group))
- (gnus-message 3 "Group %s contains no messages" group)
+ (gnus-message 3 "Group %s contains no messages"
+ (gnus-group-decoded-name group))
(gnus-message 3 "Can't select group"))
nil)
;; The user did a `C-g' while prompting for number of articles,
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 05251ed464a..c285befc760 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -113,6 +113,12 @@ some servers.")
(defvoo nnimap-current-infos nil)
+(defun nnimap-decode-gnus-group (group)
+ (decode-coding-string group 'utf-8))
+
+(defun nnimap-encode-gnus-group (group)
+ (encode-coding-string group 'utf-8))
+
(defvoo nnimap-fetch-partial-articles nil
"If non-nil, Gnus will fetch partial articles.
If t, Gnus will fetch only the first part. If a string, it
@@ -794,9 +800,6 @@ textual parts.")
(incf num)))
(nreverse parts)))
-(defun nnimap-decode-gnus-group (group)
- (decode-coding-string group 'utf-8))
-
(deffoo nnimap-request-group (group &optional server dont-check info)
(setq group (nnimap-decode-gnus-group group))
(let ((result (nnimap-change-group
@@ -825,7 +828,7 @@ textual parts.")
(- (cdr active) (car active))
(car active)
(cdr active)
- group))
+ (nnimap-encode-gnus-group group)))
t))))
(deffoo nnimap-request-group-scan (group &optional server info)
@@ -860,7 +863,8 @@ textual parts.")
(erase-buffer)
(insert
(format
- "211 %d %d %d %S\n" (1+ (- high low)) low high group))
+ "211 %d %d %d %S\n" (1+ (- high low)) low high
+ (nnimap-encode-gnus-group group)))
t))))
(deffoo nnimap-request-create-group (group &optional server _args)
@@ -1323,7 +1327,7 @@ If LIMIT, first try to limit the search to the N last articles."
(let* ((sequence (car response))
(response (cadr response))
(group (cadr (assoc sequence sequences)))
- (egroup (encode-coding-string group 'utf-8)))
+ (egroup (nnimap-encode-gnus-group group)))
(when (and group
(equal (caar response) "OK"))
(let ((uidnext (nnimap-find-parameter "UIDNEXT" response))
@@ -1354,7 +1358,7 @@ If LIMIT, first try to limit the search to the N last articles."
(nnimap-get-groups)))
(unless (assoc group nnimap-current-infos)
;; Insert dummy numbers here -- they don't matter.
- (insert (format "%S 0 1 y\n" (encode-coding-string group 'utf-8)))))
+ (insert (format "%S 0 1 y\n" (nnimap-encode-gnus-group group)))))
t)))
(deffoo nnimap-retrieve-group-data-early (server infos)
@@ -1453,8 +1457,9 @@ If LIMIT, first try to limit the search to the N last articles."
(active (gnus-active group)))
(when active
(insert (format "%S %d %d y\n"
- (decode-coding-string
- (gnus-group-real-name group) 'utf-8)
+ (nnimap-encode-gnus-group
+ (nnimap-decode-gnus-group
+ (gnus-group-real-name group)))
(cdr active)
(car active))))))))))))
@@ -1672,7 +1677,8 @@ If LIMIT, first try to limit the search to the N last articles."
(nreverse result))))
(defun nnimap-store-info (info active)
- (let* ((group (gnus-group-real-name (gnus-info-group info)))
+ (let* ((group (nnimap-decode-gnus-group
+ (gnus-group-real-name (gnus-info-group info))))
(entry (assoc group nnimap-current-infos)))
(if entry
(setcdr entry (list info active))