diff options
Diffstat (limited to 'lisp/gnus')
-rw-r--r-- | lisp/gnus/gnus-start.el | 4 | ||||
-rw-r--r-- | lisp/gnus/gnus-sum.el | 3 | ||||
-rw-r--r-- | lisp/gnus/nnimap.el | 26 |
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)) |