From unknown Sun Jun 22 00:43:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21462: 25.0.50; Gnus thread gathering and sorting inverted Resent-From: Michael Welsh Duggan Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 11 Sep 2015 17:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21462 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 21462@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.1441992871367 (code B ref -1); Fri, 11 Sep 2015 17:35:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 Sep 2015 17:34:31 +0000 Received: from localhost ([127.0.0.1]:57271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaSDW-00005q-36 for submit@debbugs.gnu.org; Fri, 11 Sep 2015 13:34:31 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46693) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaSDT-00005h-7O for submit@debbugs.gnu.org; Fri, 11 Sep 2015 13:34:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZaSDR-0000aO-IY for submit@debbugs.gnu.org; Fri, 11 Sep 2015 13:34:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:60851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaSDR-0000aK-G2 for submit@debbugs.gnu.org; Fri, 11 Sep 2015 13:34:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaSDP-0000Lb-Uc for bug-gnu-emacs@gnu.org; Fri, 11 Sep 2015 13:34:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZaSDL-0000ZQ-8R for bug-gnu-emacs@gnu.org; Fri, 11 Sep 2015 13:34:23 -0400 Received: from md5i.com ([75.151.244.229]:57547) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaSDL-0000ZI-3G for bug-gnu-emacs@gnu.org; Fri, 11 Sep 2015 13:34:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=md5i.com; s=dkim; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From; bh=XHJ31Kvg5iyaTpCEJh+Ugd25kckjsBiINJ5D0UaRmWg=; b=DfKIEWvwYkAHmKn5Shp6edn8Er qO08x2AqP6pZbe8XBtbIH8GMsy5r3zNCEQIxXloU+enscm8XvUq1RIfM842GiS05GFZsmS5g2aTHb 1dNygL1GAkz+EuFaA1SbXD942; Received: from md5i by md5i.com with local (Exim 4.86) (envelope-from ) id 1ZaSDK-00012N-GJ for bug-gnu-emacs@gnu.org; Fri, 11 Sep 2015 13:34:18 -0400 From: Michael Welsh Duggan Date: Fri, 11 Sep 2015 13:34:18 -0400 Message-ID: <878u8cdfmt.fsf@md5i.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) --=-=-= Content-Type: text/plain I have been attempting to implement the following use case: I have a gnus group that receives messages with subjects that look sort of like this: Some title, part 1, by X Some title, part 2, by X Some other title, part 32, by Y I gather these into threads by title using my own simplification function which I add to `gnus-simplify-subject-functions' in this group. I also set `gnus-thread-hide-subtree' to `t' in this group, so each title takes up one Summary line. I then want to sort these threads by the *latest* message in the thread. Thus, when a new part is received, the entire thread shows up as "newer". To do this, I created by own function to set `gnus-thread-sort-functions' to. This looks like this: (defun md5i-thread-sort-by-most-recent-date-reverse (h1 h2) (<= (gnus-thread-latest-date h1) (gnus-thread-latest-date h2))) Unfortunately, this fails in many cases due to the fact that `gnus-summary-prepare' gathers thread after sorting threads. In my case I need the reverse, and I think that the reverse always makes sense. I have a patch which does this, and has been working for me for half a year or so. I suggest you add this or an equivalent change to Gnus. Feel free to rewrite this patch completely. I wrote it long enough ago that I do not remember why I needed to create `gnus-make-threaded-sort'. --=-=-= Content-Type: text/x-patch Content-Disposition: inline ab920a06607c2ef5989fe3e5671daf294c0e25eb HEAD gnussort Author: Michael Welsh Duggan Date: Thu Jan 29 10:07:35 2015 -0500 Sort threads after gathering them. Gnus sorts threads, and then gathers subjects into threads. This can cause threads to be sorted improperly. 1 file changed, 11 insertions(+), 3 deletions(-) lisp/gnus/gnus-sum.el | 14 +++++++++++--- Modified lisp/gnus/gnus-sum.el diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index e4c144b..3f1d8c6 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -4149,8 +4149,8 @@ If SELECT-ARTICLES, only select those articles from GROUP." (gnus-summary-prepare-threads (if gnus-show-threads (gnus-sort-gathered-threads - (funcall gnus-summary-thread-gathering-function - (gnus-sort-threads + (gnus-sort-threads + (funcall gnus-summary-thread-gathering-function (gnus-cut-threads (gnus-make-threads))))) ;; Unthreaded display. (gnus-sort-articles gnus-newsgroup-headers)))) @@ -4874,6 +4874,12 @@ If LINE, insert the rebuilt thread starting on line LINE." (1+ (point-at-eol)) (gnus-delete-line))))))) +(defun gnus-make-threaded-sort (func) + (gnus-byte-compile + `(lambda (t1 t2) + (,func (if (stringp (car t1)) (cdr t1) t1) + (if (stringp (car t2)) (cdr t2) t2))))) + (defun gnus-sort-threads-recursive (threads func) ;; Responsible for sorting the root articles of threads. (let ((subthread-sort-func (if (eq gnus-subthread-sort-functions @@ -4920,7 +4926,9 @@ If LINE, insert the rebuilt thread starting on line LINE." (prog1 (condition-case nil (let ((max-lisp-eval-depth (max max-lisp-eval-depth 5000)) - (sort-func (gnus-make-sort-function gnus-thread-sort-functions))) + (sort-func + (gnus-make-threaded-sort + (gnus-make-sort-function gnus-thread-sort-functions)))) (gnus-sort-threads-recursive threads sort-func)) ;; Even after binding max-lisp-eval-depth, the recursive ;; sorter might fail for very long threads. In that case, --=-=-= Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, X toolkit) of 2015-09-09 Repository revision: 54ea37308a5f6d7dc803dafaef0030ab5630f68c Windowing system distributor 'The X.Org Foundation', version 11.0.11702000 System Description: Debian GNU/Linux unstable (sid) Configured using: 'configure --without-toolkit-scroll-bars --with-x-toolkit=3Dlucid 'CFLAGS=3D-Og -ggdb3' --with-wide-int --with-gameuser=3D:staff' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB LUCID X11 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Group Minor modes in effect: gnus-topic-mode: t cursor-sensor-mode: t gnus-undo-mode: t display-time-mode: t magit-auto-revert-mode: t shell-dirtrack-mode: t diff-auto-refine-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t Recent messages: Reading active file from ~/Mail via nnml...done nnimap read 0k from localhost Reading active file via nndraft...done Checking new news...done nnimap read 0k from localhost Don=92t touch it! It=92s the History Eraser Button, you fool! [3 times] Type "q" in help window to restore its previous buffer. Undo! [2 times] Auto-saving...done Undo! Load-path shadows: /usr/share/emacs/site-lisp/rst hides /usr/local/share/emacs/25.0.50/lisp/te= xtmodes/rst Features: (shadow emacsbug doc-view jka-compr image-mode url-util url-parse url-vars shr dom subr-x browse-url flow-fill mm-archive sort gnus-cite mail-extr gnus-bcklg misearch multi-isearch gnus-async gnus-dup qp gnus-ml disp-table cus-start cus-load gnus-topic cursor-sensor utf-7 nndraft nnmh epa-file network-stream nsm starttls nnml gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-cache gnus-demon nntp gnutls nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader flyspell ispell yaml-mode uptimes pp descr-text time sieve-manage rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util sgml-mode psvn wid-edit cl magit-key-mode magit view tramp tramp-compat auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core cl-macs gv gnus-util time-date password-cache tramp-loaddefs trampver shell pcomplete advice grep compile epa derived epg epg-config diff-mode autorevert filenotify git-rebase-mode thingatpt git-commit-mode server log-edit easy-mmode pcvs-util add-log mailcap message sendmail format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode mail-prsvr mailabbrev mail-utils gmm-utils mailheader lua-mode edmacro rx generated generic-x ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff debian-el debian-el-loaddefs dired-x easymenu dired cc-styles cc-align cc-engine cc-vars cc-defs ange-ftp comint ansi-color ring cl-seq kmacro cl-loaddefs pcase cl-lib mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 417061 54251) (symbols 48 40364 130) (miscs 40 258 1042) (strings 32 79195 13526) (string-bytes 1 2526390) (vectors 16 34019) (vector-slots 8 693360 18838) (floats 8 513 554) (intervals 56 1478 480) (buffers 976 45) (heap 1024 42474 12467)) --=20 Michael Welsh Duggan (md5i@md5i.com) --=-=-=-- From unknown Sun Jun 22 00:43:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21462: 25.0.50; Gnus thread gathering and sorting inverted Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Sun, 07 Feb 2016 05:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21462 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Michael Welsh Duggan Cc: 21462@debbugs.gnu.org Received: via spool by 21462-submit@debbugs.gnu.org id=B21462.14548244222819 (code B ref 21462); Sun, 07 Feb 2016 05:54:01 +0000 Received: (at 21462) by debbugs.gnu.org; 7 Feb 2016 05:53:42 +0000 Received: from localhost ([127.0.0.1]:36326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSII2-0000jN-C3 for submit@debbugs.gnu.org; Sun, 07 Feb 2016 00:53:42 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:46735) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSII0-0000jC-D1 for 21462@debbugs.gnu.org; Sun, 07 Feb 2016 00:53:40 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aSIHe-0005et-AF; Sun, 07 Feb 2016 06:53:19 +0100 From: Lars Ingebrigtsen References: <878u8cdfmt.fsf@md5i.com> Date: Sun, 07 Feb 2016 16:53:14 +1100 In-Reply-To: <878u8cdfmt.fsf@md5i.com> (Michael Welsh Duggan's message of "Fri, 11 Sep 2015 13:34:18 -0400") Message-ID: <87si15awxh.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aSIHe-0005et-AF X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1455429199.03771@c6KAeBPK4nAjEeYxGYMj/Q X-Spam-Status: No X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Michael Welsh Duggan writes: > I have been attempting to implement the following use case: > > I have a gnus group that receives messages with subjects that look sort > of like this: > > Some title, part 1, by X > Some title, part 2, by X > Some other title, part 32, by Y > > I gather these into threads by title using my own simplification > function which I add to `gnus-simplify-subject-functions' in this > group. I also set `gnus-thread-hide-subtree' to `t' in this group, so > each title takes up one Summary line. > > I then want to sort these threads by the *latest* message in the > thread. Thus, when a new part is received, the entire thread shows up > as "newer". To do this, I created by own function to set > `gnus-thread-sort-functions' to. This looks like this: > > (defun md5i-thread-sort-by-most-recent-date-reverse (h1 h2) > (<= (gnus-thread-latest-date h1) (gnus-thread-latest-date h2))) > > Unfortunately, this fails in many cases due to the fact that > `gnus-summary-prepare' gathers thread after sorting threads. In my case > I need the reverse, and I think that the reverse always makes sense. I > have a patch which does this, and has been working for me for half a > year or so. I suggest you add this or an equivalent change to Gnus. > Feel free to rewrite this patch completely. I wrote it long enough ago > that I do not remember why I needed to create `gnus-make-threaded-sort'. There is a separater `gnus-sort-gathered-threads-function' -- doesn't it do what you want it to? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sun Jun 22 00:43:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21462: 25.0.50; Gnus thread gathering and sorting inverted Resent-From: Michael Welsh Duggan Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Sun, 07 Feb 2016 07:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21462 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Lars Ingebrigtsen Cc: Michael Welsh Duggan , 21462@debbugs.gnu.org Received: via spool by 21462-submit@debbugs.gnu.org id=B21462.14548308636182 (code B ref 21462); Sun, 07 Feb 2016 07:42:02 +0000 Received: (at 21462) by debbugs.gnu.org; 7 Feb 2016 07:41:03 +0000 Received: from localhost ([127.0.0.1]:36437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSJxr-0001ao-Et for submit@debbugs.gnu.org; Sun, 07 Feb 2016 02:41:03 -0500 Received: from md5i.com ([75.151.244.229]:42936) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSJxm-0001ab-4x for 21462@debbugs.gnu.org; Sun, 07 Feb 2016 02:40:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=md5i.com; s=dkim; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References: Subject:Cc:To:From; bh=CijGmHeuyEGkl2yhdOlOE+njRQQQFeBNPxr5KYpulJ8=; b=OAeEwT Lcb3b3UeBupGGlvlvI9+xn/33s+5F+dvXT0tYZKNeMJORtnFsbkOXjA0h6vGR4x5LIUPtjZ63A1go sgeCxnl1ood5GSZXMqH8rd47Qy00zDTthaIpPaHGnp3hq; Received: from md5i by md5i.com with local (Exim 4.86) (envelope-from ) id 1aSJxg-0006oc-AR; Sun, 07 Feb 2016 02:40:48 -0500 From: Michael Welsh Duggan References: <878u8cdfmt.fsf@md5i.com> <87si15awxh.fsf@gnus.org> Date: Sun, 07 Feb 2016 02:40:48 -0500 In-Reply-To: <87si15awxh.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sun, 07 Feb 2016 16:53:14 +1100") Message-ID: <87zivdge7z.fsf@md5i.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Lars Ingebrigtsen writes: > Michael Welsh Duggan writes: > >> I have been attempting to implement the following use case: >> >> I have a gnus group that receives messages with subjects that look sort >> of like this: >> >> Some title, part 1, by X >> Some title, part 2, by X >> Some other title, part 32, by Y >> >> I gather these into threads by title using my own simplification >> function which I add to `gnus-simplify-subject-functions' in this >> group. I also set `gnus-thread-hide-subtree' to `t' in this group, so >> each title takes up one Summary line. >> >> I then want to sort these threads by the *latest* message in the >> thread. Thus, when a new part is received, the entire thread shows up >> as "newer". To do this, I created by own function to set >> `gnus-thread-sort-functions' to. This looks like this: >> >> (defun md5i-thread-sort-by-most-recent-date-reverse (h1 h2) >> (<= (gnus-thread-latest-date h1) (gnus-thread-latest-date h2))) >> >> Unfortunately, this fails in many cases due to the fact that >> `gnus-summary-prepare' gathers thread after sorting threads. In my case >> I need the reverse, and I think that the reverse always makes sense. I >> have a patch which does this, and has been working for me for half a >> year or so. I suggest you add this or an equivalent change to Gnus. >> Feel free to rewrite this patch completely. I wrote it long enough ago >> that I do not remember why I needed to create `gnus-make-threaded-sort'. > > There is a separater `gnus-sort-gathered-threads-function' -- doesn't it > do what you want it to? I don't think so. At least not according to how I understand the documentation and how I read the sources. gnus-sort-gathered-threads looks like it sorts the articles _within_ a gathered thread. The process is: >From gnus-summary-prepare: 1) gnus-make-threads -> gathers articles into threads by ref 2) gnus-cut-threads -> removes "uninteresting" articles from the threads 3) gnus-sort-threads -> sorts the threads (with respect to each other thread) 4) gnus-summary-thread-gathering-function -> gathers threads with similar characteristics (subject, reference) into a single thread 5) gnus-sort-gathered-threads -> sorts the articles within each thread My argument is that steps 3 and 4 are backwards. Step 4 is the place where the final thread groupings are decided, and sorting these threads with respect to each other should happen afterward. -- Michael Welsh Duggan (md5i@md5i.com) From unknown Sun Jun 22 00:43:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21462: 25.0.50; Gnus thread gathering and sorting inverted Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Mon, 08 Feb 2016 04:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21462 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Michael Welsh Duggan Cc: 21462@debbugs.gnu.org Received: via spool by 21462-submit@debbugs.gnu.org id=B21462.14549070974843 (code B ref 21462); Mon, 08 Feb 2016 04:52:02 +0000 Received: (at 21462) by debbugs.gnu.org; 8 Feb 2016 04:51:37 +0000 Received: from localhost ([127.0.0.1]:37845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSdnU-0001G3-Oe for submit@debbugs.gnu.org; Sun, 07 Feb 2016 23:51:36 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:45096) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSdnT-0001Fv-8R for 21462@debbugs.gnu.org; Sun, 07 Feb 2016 23:51:35 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aSdn4-0002zA-Nb; Mon, 08 Feb 2016 05:51:11 +0100 From: Lars Ingebrigtsen References: <878u8cdfmt.fsf@md5i.com> <87si15awxh.fsf@gnus.org> <87zivdge7z.fsf@md5i.com> Date: Mon, 08 Feb 2016 15:51:06 +1100 In-Reply-To: <87zivdge7z.fsf@md5i.com> (Michael Welsh Duggan's message of "Sun, 07 Feb 2016 02:40:48 -0500") Message-ID: <878u2vhkjp.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aSdn4-0002zA-Nb X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1455511873.22579@kNqZU2G6DcEM523AzCdvJA X-Spam-Status: No X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Michael Welsh Duggan writes: > 1) gnus-make-threads -> gathers articles into threads by ref > 2) gnus-cut-threads -> removes "uninteresting" articles from the > threads > 3) gnus-sort-threads -> sorts the threads (with respect to each other thread) > 4) gnus-summary-thread-gathering-function -> gathers threads with > similar characteristics (subject, reference) into a single thread > 5) gnus-sort-gathered-threads -> sorts the articles within each thread > > My argument is that steps 3 and 4 are backwards. Step 4 is the place > where the final thread groupings are decided, and sorting these threads > with respect to each other should happen afterward. Yes, but can't you just sort the gathered threads in the way you would have wanted to have them sorted if they had been sorted before gathering? I think I vaguely think that should kinda work... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sun Jun 22 00:43:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21462: 25.0.50; Gnus thread gathering and sorting inverted Resent-From: Michael Welsh Duggan Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Mon, 08 Feb 2016 18:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21462 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Lars Ingebrigtsen Cc: 21462@debbugs.gnu.org Received: via spool by 21462-submit@debbugs.gnu.org id=B21462.14549549422045 (code B ref 21462); Mon, 08 Feb 2016 18:10:01 +0000 Received: (at 21462) by debbugs.gnu.org; 8 Feb 2016 18:09:02 +0000 Received: from localhost ([127.0.0.1]:60302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSqFA-0000Wi-TN for submit@debbugs.gnu.org; Mon, 08 Feb 2016 13:09:02 -0500 Received: from upton.red.cert.org ([192.88.209.60]:61468) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSqF6-0000WQ-23 for 21462@debbugs.gnu.org; Mon, 08 Feb 2016 13:08:59 -0500 Received: from bucknell.indigo.cert.org (bucknell.indigo.cert.org [10.60.10.121]) by upton.red.cert.org (8.14.4/8.14.4) with ESMTP id u18H8lOR029748; Mon, 8 Feb 2016 12:08:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cert.org; s=jthatj15xw2j; t=1454951327; bh=hWuriGegDByie/FhKAocH716aB9SNu4u7awyMpBfLkY=; h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type:Sender:Reply-To; b=doWsiCLcS8VV2DzgSRgMpmTqrPHv17Wtq7jlMA+0DOh08lP/iZWhk0vmEb8lJXGoC nEyfLC3FtaZ6PlwpbDq0LEkc5PtDEyDDaAqn3Hon+Pfu5MTmgn+RuY2N2tIHd/P7Bp XCb58SWTcDLsgOgsq7x91fFDovJNznZCk3EbgmLU= Received: from watermonitor.yellow.cert.org (watermonitor.yellow.cert.org [10.20.11.220]) by bucknell.indigo.cert.org (8.14.4/8.14.4/2.81) with ESMTP id u18H8lWR027897; Mon, 8 Feb 2016 12:08:47 -0500 Received: from watermonitor.yellow.cert.org (localhost [127.0.0.1]) by watermonitor.yellow.cert.org (8.14.4/8.14.4) with ESMTP id u18H8kKe004441; Mon, 8 Feb 2016 12:08:46 -0500 Received: (from mwd@localhost) by watermonitor.yellow.cert.org (8.14.4/8.14.4) id u18H8jDR004438; Mon, 8 Feb 2016 12:08:45 -0500 X-Authentication-Warning: watermonitor.yellow.cert.org: mwd set sender to mwd@cert.org using -f From: Michael Welsh Duggan References: <878u8cdfmt.fsf@md5i.com> <87si15awxh.fsf@gnus.org> <87zivdge7z.fsf@md5i.com> <878u2vhkjp.fsf@gnus.org> Date: Mon, 08 Feb 2016 12:08:45 -0500 In-Reply-To: <878u2vhkjp.fsf@gnus.org> (Lars Ingebrigtsen's message of "Mon, 08 Feb 2016 15:51:06 +1100") Message-ID: User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) Lars Ingebrigtsen writes: > Michael Welsh Duggan writes: > >> 1) gnus-make-threads -> gathers articles into threads by ref >> 2) gnus-cut-threads -> removes "uninteresting" articles from the >> threads >> 3) gnus-sort-threads -> sorts the threads (with respect to each other thread) >> 4) gnus-summary-thread-gathering-function -> gathers threads with >> similar characteristics (subject, reference) into a single thread >> 5) gnus-sort-gathered-threads -> sorts the articles within each thread >> >> My argument is that steps 3 and 4 are backwards. Step 4 is the place >> where the final thread groupings are decided, and sorting these threads >> with respect to each other should happen afterward. > > Yes, but can't you just sort the gathered threads in the way you would > have wanted to have them sorted if they had been sorted before > gathering? I think I vaguely think that should kinda work... If I understand correctly, that would (in my case) require writing my own version of gnus-gather-threads-by-subject. All I can say to that is, ugh. If this sorting and gathering were done in what I consider to be the more logical order, I have to write a two line function to do what I want. Instead I would have to mimic most of the functionality of gnus-gather-threads-by-subject with the added restriction that I want to maintain thread order by the latest gathered thread. Complicated and ugly. Not that I wouldn't do it, if needed. Is there a good reason for step 3 and 4 above to be in the given order instead of the reverse? -- Michael Welsh Duggan (mwd@cert.org) From unknown Sun Jun 22 00:43:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21462: 25.0.50; Gnus thread gathering and sorting inverted Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Tue, 09 Feb 2016 00:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21462 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: To: Michael Welsh Duggan Cc: 21462@debbugs.gnu.org Received: via spool by 21462-submit@debbugs.gnu.org id=B21462.145497908331804 (code B ref 21462); Tue, 09 Feb 2016 00:52:02 +0000 Received: (at 21462) by debbugs.gnu.org; 9 Feb 2016 00:51:23 +0000 Received: from localhost ([127.0.0.1]:60695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSwWZ-0008Gt-9q for submit@debbugs.gnu.org; Mon, 08 Feb 2016 19:51:23 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:56856) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aSwWX-0008Gl-BS for 21462@debbugs.gnu.org; Mon, 08 Feb 2016 19:51:21 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aSwWA-0005Eo-T9; Tue, 09 Feb 2016 01:50:59 +0100 From: Lars Ingebrigtsen References: <878u8cdfmt.fsf@md5i.com> <87si15awxh.fsf@gnus.org> <87zivdge7z.fsf@md5i.com> <878u2vhkjp.fsf@gnus.org> Date: Tue, 09 Feb 2016 11:50:54 +1100 In-Reply-To: (Michael Welsh Duggan's message of "Mon, 08 Feb 2016 12:08:45 -0500") Message-ID: <87lh6uiu4x.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aSwWA-0005Eo-T9 X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1455583859.67476@7AIw42bKGGYyugMU3FIrAQ X-Spam-Status: No X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Michael Welsh Duggan writes: >>> 1) gnus-make-threads -> gathers articles into threads by ref >>> 2) gnus-cut-threads -> removes "uninteresting" articles from the >>> threads >>> 3) gnus-sort-threads -> sorts the threads (with respect to each other thread) >>> 4) gnus-summary-thread-gathering-function -> gathers threads with >>> similar characteristics (subject, reference) into a single thread >>> 5) gnus-sort-gathered-threads -> sorts the articles within each thread [...] > Is there a good reason for step 3 and 4 above to be in the given order > instead of the reverse? I think the reason they are in that order is for historical (and backwards compatible) reasons: The predicates that work on thread sorting will normally fail on gathered threads (which are lists of thread roots). I think. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 26 16:21:11 2017 Received: (at control) by debbugs.gnu.org; 26 Jan 2017 21:21:11 +0000 Received: from localhost ([127.0.0.1]:46215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWrTj-0006qZ-7z for submit@debbugs.gnu.org; Thu, 26 Jan 2017 16:21:11 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:58882) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWrTh-0006qS-OC for control@debbugs.gnu.org; Thu, 26 Jan 2017 16:21:10 -0500 Received: from 2.150.50.220.tmi.telenormobil.no ([2.150.50.220] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cWrTf-0003P3-IX for control@debbugs.gnu.org; Thu, 26 Jan 2017 22:21:09 +0100 From: Lars Ingebrigtsen To: control@debbugs.gnu.org Subject: control message for bug #21462 Message-ID: <87mvedh61g.fsf@totally-fudged-out-message-id> Date: Thu, 26 Jan 2017 22:21:01 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) forcemerge 21462 18156 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 26 16:21:18 2017 Received: (at control) by debbugs.gnu.org; 26 Jan 2017 21:21:18 +0000 Received: from localhost ([127.0.0.1]:46218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWrTq-0006qu-GD for submit@debbugs.gnu.org; Thu, 26 Jan 2017 16:21:18 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:58888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWrTp-0006qm-6j for control@debbugs.gnu.org; Thu, 26 Jan 2017 16:21:17 -0500 Received: from 2.150.50.220.tmi.telenormobil.no ([2.150.50.220] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cWrTn-00046X-2H for control@debbugs.gnu.org; Thu, 26 Jan 2017 22:21:16 +0100 From: Lars Ingebrigtsen To: control@debbugs.gnu.org Subject: control message for bug #21462 Message-ID: <87lgtxh61a.fsf@totally-fudged-out-message-id> Date: Thu, 26 Jan 2017 22:21:09 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) close 21462