GNU bug report logs -
#33653
27.0.50; Change Gnus obarrays-as-hash-tables into real hash tables
Previous Next
Reported by: Eric Abrahamsen <eric <at> ericabrahamsen.net>
Date: Thu, 6 Dec 2018 22:40:02 UTC
Severity: wishlist
Tags: fixed
Found in version 27.0.50
Fixed in version 27.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On Wed, 27 Mar 2019 13:54:42 +0900, Katsumi Yamaoka wrote:
> The group level of nnml:テスト is 1 and there are some unread
> articles in it, however the group is not listed in the Group
> buffer when I launch Gnus by `C-u 1 M-x gnus RET'...
I found a cause of it not to be listed in the group buffer just
after launching Gnus.
The group entry in the ~/Mail/active file is:
テスト 5 1 y
The file coding is utf-8-unix. So, the binary expression of the
group name is \343\203\206\343\202\271\343\203\210, where \343
is a single character, and this form is what the hash tables use
(in the ~/.newsrc.eld file, "\343" consists of four characters
"\", "3", "4", and "3", though).
`gnus-active-to-gnus-format' reads it in the following way:
・Load the active file to the " *nntpd*" buffer in the binary
mode. Copy it to another temp buffer. There \343 is a single
character.
・Read the group name using `(read (current-buffer))'.
Then it is read as a symbol; \343 is still a single character.
・Convert it to a string using `symbol-name'.
\343 is expanded into the one consists of four characters. :<
It should never match to the one in the hash tables.
Why the single-char to four-chars conversion happens is that
the buffer where those processes are done is in the multibyte
mode. So, the patch attached below solves the problem. I'm
going to test it for the other back ends...
[Message part 2 (text/x-patch, inline)]
--- gnus-start.el~ 2019-03-25 21:22:46.184139100 +0000
+++ gnus-start.el 2019-04-08 08:07:41.906976900 +0000
@@ -2139,3 +2139,3 @@
- (with-temp-buffer
+ (mm-with-unibyte-buffer
(insert-buffer-substring cur)
This bug report was last modified 6 years and 11 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.