all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Gnus; Restore multi encoding support for NNTP
@ 2021-12-27  9:42 LdBeth
  2021-12-27 12:11 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 25+ messages in thread
From: LdBeth @ 2021-12-27  9:42 UTC (permalink / raw)
  To: Emacs Devel

[-- Attachment #1: Type: text/plain, Size: 1953 bytes --]


I have this problem reported as bug #52792
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52792

There used to be special handling to decode NNTP group names in
different coding systems, starts from Emacs 27 these are removed in
favor of working with UTF-8 internally. That works fine with emails or
RSS, but not so with NNTP servers that are trends to retain their old
setting, which results in some group names cannot be correctly
display in Group Buffer.

However, since this bug only affects people who are using Gnus with
NNTP servers that still using none UTF-8 complaint charset, I guess
it'll be better that I get hands on it.

The basic plan is to restore the option to decode group names based on
`gnus-group-name-charset-group-alist'. The reason having this custom
variable is because a server could use different incompatible charset
especially when group names are in different languages.  It seems this
variable is not been used in else where except for decode group name
been displayed in article buffer.

However, that would only resolve the display issue. Other changes are
needed to properly restore the decoded names to it's original coding
so requests to the NNTP server can be properly done.

The old Gnus code caches the original coding via the deleted
`gnus-agent-decoded-group-names' variable, the original string is
passed everywhere and converted to user's coding system for
display. To go with the original approach means reverting part of the
commit cb12a84f2c519a48dd87453c925e3bc36d9944db for NNTP related
functions.

A possible new approach, is to save the original coding system via the
charset string property, and go for UTF-8 internally. I'm not yet sure
if that could be lose during Gnus' internal processing.

The middle way is keep the mapping relation in an alist or hashtable,
and convert back to the original encoding for communicate the server.

Thoughts, comments, related information are appreciated.

--
LDB

[-- Attachment #2: OpenPGP Digital Signature --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2022-01-03 14:00 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-27  9:42 Gnus; Restore multi encoding support for NNTP LdBeth
2021-12-27 12:11 ` Lars Ingebrigtsen
2021-12-27 12:41   ` LdBeth
2021-12-27 12:57     ` Lars Ingebrigtsen
2021-12-27 13:58       ` LdBeth
2021-12-28  3:17         ` Eric Abrahamsen
2021-12-28 14:31           ` Lars Ingebrigtsen
2021-12-28 15:40             ` LdBeth
2021-12-28 14:29         ` Lars Ingebrigtsen
2021-12-28 15:43           ` LdBeth
2021-12-30 10:23         ` [PATCH] " LdBeth
2021-12-30 14:49           ` Lars Ingebrigtsen
2021-12-30 14:54             ` Eli Zaretskii
2021-12-30 15:18             ` LdBeth
2021-12-31 15:59               ` Lars Ingebrigtsen
2022-01-01  2:11                 ` LdBeth
2022-01-01  3:32                   ` LdBeth
2022-01-03 11:18                     ` Lars Ingebrigtsen
2022-01-03 11:25                       ` Lars Ingebrigtsen
2022-01-03 14:00                       ` LdBeth
2022-01-01  6:58                   ` Eli Zaretskii
2022-01-01  8:34                     ` LdBeth
2022-01-01  8:56                       ` Eli Zaretskii
2022-01-01  9:26                         ` LdBeth
2022-01-01  9:35                           ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.