GNU bug report logs - #26105
Group parameters can't set non-list values

Previous Next

Packages: gnus, emacs;

Reported by: Tim Landscheidt <tim <at> tim-landscheidt.de>

Date: Wed, 15 Mar 2017 10:35:02 UTC

Severity: normal

Tags: wontfix

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26105 in the body.
You can then email your comments to 26105 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bugs <at> gnus.org:
bug#26105; Package gnus. (Wed, 15 Mar 2017 10:35:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tim Landscheidt <tim <at> tim-landscheidt.de>:
New bug report received and forwarded. Copy sent to bugs <at> gnus.org. (Wed, 15 Mar 2017 10:35:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tim Landscheidt <tim <at> tim-landscheidt.de>
To: submit <at> debbugs.gnu.org (The Gnus Bugfixing Girls + Boys)
Subject: Group parameters can't set non-list values
Date: Wed, 15 Mar 2017 10:34:18 +0000
With Gnus v5.13/GNU Emacs 25.1.1, I want to customize for
example gnus-summary-thread-gathering-function to
gnus-gather-threads-by-references for one specific group.
When I use either of:

| (gnus-summary-thread-gathering-function . gnus-gather-threads-by-references)

or:

| (gnus-summary-thread-gathering-function gnus-gather-threads-by-references)

in G p, the variable gnus-summary-thread-gathering-function
is unchanged in the summary buffer, i. e. the customization
is ignored.  When I use the syntax:

| (gnus-summary-thread-gathering-function
|   '(gnus-gather-threads-by-references)))

on trying to enter the group, Gnus fails with
"gnus-summary-prepare: Invalid function:
(gnus-gather-threads-by-references)".

This is due to:

a) gnus-summary-prepare calling
   gnus-summary-thread-gathering-function with:

   | (funcall gnus-summary-thread-gathering-function
   | 		     (gnus-sort-threads
   | 		      (gnus-cut-threads (gnus-make-threads))))

   i. e. it expects gnus-summary-thread-gathering-function
   to be a single function, and

b) gnus-summary-set-local-parameters only setting variables
   in group parameters if the value is a list and silently
   ignoring non-list values:

   |     (dolist (elem (gnus-group-find-parameter group))
   |       (and (consp elem)			; Has to be a cons.
   | 	   (consp (cdr elem))		; The cdr has to be a list.
   | 	   (symbolp (car elem))		; Has to be a symbol in there.
   | 	   (not (memq (car elem) vars))
   |          […]

AFAICT, this requirement has been introduced by Lars with
commit eec82323c2e3610907cf66ece372b1920318d460 ("Initial
revision" :-)).  This is only alluded to in info's "2.10
Group Parameters":

|    We see that each element consists of a “dotted pair”—the thing before
| the dot is the key, while the thing after the dot is the value.  All the
| parameters have this form _except_ local variable specs, which are not
| dotted pairs, but proper lists.

IMHO this behaviour is surprising and makes customizing non-
list variables for groups unnecessarily complicated; it
should be changed so that all values can be set.

If Gnus differentiates between two types of parameters as
the info suggests, IMHO this would be better done by compar-
ing (car elem) to a white-list of parameters to be treated
differently.




Information forwarded to bugs <at> gnus.org:
bug#26105; Package gnus. (Thu, 16 Mar 2017 01:42:01 GMT) Full text and rfc822 format available.

Message #8 received at 26105 <at> debbugs.gnu.org (full text, mbox):

From: Tim Landscheidt <tim <at> tim-landscheidt.de>
To: 26105 <at> debbugs.gnu.org
Subject: Re: bug#26105: Acknowledgement (Group parameters can't set non-list
 values)
Date: Thu, 16 Mar 2017 01:41:04 +0000
It is possible to work around this issue by:

| (gnus-summary-thread-gathering-function
|  (lambda
|    (threads)
|    (gnus-gather-threads-by-references threads)))




bug reassigned from package 'gnus' to 'emacs,gnus'. Request was from Tim Landscheidt <tim <at> tim-landscheidt.de> to control <at> debbugs.gnu.org. (Thu, 16 Mar 2017 02:00:02 GMT) Full text and rfc822 format available.

bug No longer marked as found in versions 5.13. Request was from Tim Landscheidt <tim <at> tim-landscheidt.de> to control <at> debbugs.gnu.org. (Thu, 16 Mar 2017 02:00:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#26105; Package emacs,gnus. (Thu, 12 Apr 2018 19:30:03 GMT) Full text and rfc822 format available.

Message #15 received at 26105 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Tim Landscheidt <tim <at> tim-landscheidt.de>
Cc: 26105 <at> debbugs.gnu.org
Subject: Re: bug#26105: Group parameters can't set non-list values
Date: Thu, 12 Apr 2018 21:29:23 +0200
Tim Landscheidt <tim <at> tim-landscheidt.de> writes:

> |    We see that each element consists of a “dotted pair”—the thing before
> | the dot is the key, while the thing after the dot is the value.  All the
> | parameters have this form _except_ local variable specs, which are not
> | dotted pairs, but proper lists.
>
> IMHO this behaviour is surprising and makes customizing non-
> list variables for groups unnecessarily complicated; it
> should be changed so that all values can be set.
>
> If Gnus differentiates between two types of parameters as
> the info suggests, IMHO this would be better done by compar-
> ing (car elem) to a white-list of parameters to be treated
> differently.

Yeah, but changing this would break the parameters that people may be
using.  If we remove the distinction between parameters and local
variables, then things will break for users.

I agree that the current state isn't optimal, but I don't see any way to
fix this in an intuitive and backwards-compatible way.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) wontfix. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 12 Apr 2018 19:30:03 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 26105 <at> debbugs.gnu.org and Tim Landscheidt <tim <at> tim-landscheidt.de> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 12 Apr 2018 19:30:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 11 May 2018 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 344 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.