From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.bugs Subject: bug#39026: 27.0.50; gnus-group-decoded-name needs running gnus Date: Mon, 13 Jan 2020 10:51:46 -0800 Message-ID: <87zhermbp9.fsf@ericabrahamsen.net> References: <871rsaoe9u.fsf@aia00054aia.gr> <87woa1bw9q.fsf@ericabrahamsen.net> <87muaw229i.fsf@aia00054aia.gr> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="134407"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 39026@debbugs.gnu.org To: Deus Max Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 13 19:54:23 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1ir4ou-000FHA-3Y for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 13 Jan 2020 19:52:12 +0100 Original-Received: from localhost ([::1]:54452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ir4os-0000G8-Lh for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 13 Jan 2020 13:52:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58180) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ir4ol-0008Uo-5Y for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2020 13:52:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ir4oj-0001vA-TF for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2020 13:52:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ir4oj-0001uu-Q4 for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2020 13:52:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ir4oj-0006Rx-My for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2020 13:52:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eric Abrahamsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 13 Jan 2020 18:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39026 X-GNU-PR-Package: emacs Original-Received: via spool by 39026-submit@debbugs.gnu.org id=B39026.157894151624780 (code B ref 39026); Mon, 13 Jan 2020 18:52:01 +0000 Original-Received: (at 39026) by debbugs.gnu.org; 13 Jan 2020 18:51:56 +0000 Original-Received: from localhost ([127.0.0.1]:60062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ir4oe-0006Rc-2T for submit@debbugs.gnu.org; Mon, 13 Jan 2020 13:51:56 -0500 Original-Received: from ericabrahamsen.net ([52.70.2.18]:60792 helo=mail.ericabrahamsen.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ir4ob-0006RP-Cb for 39026@debbugs.gnu.org; Mon, 13 Jan 2020 13:51:54 -0500 Original-Received: from localhost (c-73-254-86-141.hsd1.wa.comcast.net [73.254.86.141]) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 659E7FA00A; Mon, 13 Jan 2020 18:51:47 +0000 (UTC) In-Reply-To: <87muaw229i.fsf@aia00054aia.gr> (Deus Max's message of "Thu, 09 Jan 2020 15:22:17 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:174546 Archived-At: On 01/09/20 15:22 PM, Deus Max wrote: > On Wed, Jan 08 2020, Eric Abrahamsen wrote: > >> Deus Max writes: >> >>> Before starting gnus, running: >>> (gnus-group-decoded-name group-name) ; ex: "nnimap+myserver:GroupName" >>> >>> Gives the error: >>> ** Eval error *** Wrong type argument: hash-table-p, nil >>> >>> Tracking this down the path: >>> - (gnus-group-decoded-name group-name) >>> - (gnus-group-name-charset nil group-name) >>> - (gnus-find-method-for-group group-name) >>> - (gnus-group-entry group-name) >>> >>> The tiny macro gnus-group-entry, simply does a: >>> (gethash group-name gnus-newsrc-hashtb) >>> >>> The variable gnus-newsrc-hashtb is not a hashtable when gnus is not >>> running. Logical, it has not been assinged yet. >>> >>> To me, it seems unnecessary to require a running gnus for a simple group >>> name decoding. It is overkill, that loses a lot of offline functinality >>> and possibilities. >> >> In theory, the only way we can know how to decode a group name for sure >> is by asking its method for the appropriate charset to use, and we can >> only reasonably do that if Gnus is loaded. >> >> In practice, the same changes that put in the hash table also resulted >> in Gnus group names being always decoded, at least within a running Gnus >> system, so the call to `gnus-group-decoded-name' is usually unnecessary >> (the only time the server/method charset comes into play is when we're >> requesting the group names from the server). >> >> Of course if you're trying to do things with groups outside of a running >> Gnus system, you might be manually reading the group names from >> the.newsrc.eld file, in which case non-ASCII group names will be in an >> encoded format, using 'utf-8-emacs. >> >> What I'm saying is, depending on how you're using the group names and >> where you're getting them from, you should be safe simply running them >> through a 'utf-8-emacs decode. >> >> Eric > > Yes, that's mostly how I'm using it, i.e. by reading group names from > .newsrc, but sometimes directly from a gnus group or article. So, it > would be nice to do some things independent of a running gnus and in a > consistent way. > > I didn't see any charset info returned by querying the server > (with gnus-find-method-for-group, gnus-group-entry). Logically, the > method should be provided in the group name, except for the primary > method (gnus-select-method, perhaps another good reason to get rid of > this distinction among groups, but I digress, sorry). > > It seems that all the real work (in gnus-group-name-charset), for finding > the charset, comes from the variables gnus-group-name-charset-group-alist > and gnus-group-name-charset-method-alist which are defined at startup > and don't need a running gnus. Yeah, to be honest, I don't really know the point of the gnus-group-name-charset-* stuff, and am mostly unwilling to mess with anything I don't really understand. But if those variables have been set, we'd need to know a group's method, and it really isn't possible to get a group's method for sure unless Gnus is up and running. In fact, I suspect we could simply dump all the group-name-charset/group decoding stuff, stop encoding/decoding altogether, but I don't know how I would prove that wouldn't cause problems. Can you just not use gnus-group-decoded-name? As I mentioned, decoding as 'utf-8-emacs should work fine. Eric