From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#72954: 31.0.50; Error when calling gnus-summary-move-article Date: Mon, 02 Sep 2024 10:34:19 +0200 Message-ID: <87jzfump2s.fsf@web.de> Reply-To: Michael Heerdegen Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20303"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: 72954@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Sep 02 11:25:26 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sl3JM-000547-QK for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 02 Sep 2024 11:25:25 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sl3J2-0003al-8q; Mon, 02 Sep 2024 05:25:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sl3Iz-0003ac-P5 for bug-gnu-emacs@gnu.org; Mon, 02 Sep 2024 05:25:01 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sl3Iz-0000NT-F3 for bug-gnu-emacs@gnu.org; Mon, 02 Sep 2024 05:25:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=0C/RcyzHayQtzIQF9Pxnvy4l8TacQ32cEdAxatBhil0=; b=SPY3wdlauZofMOhpykOuprdfyjbEc/R//mTCGkAa+jm1z7C4Ano+eEjHeW2Hm5sYWZk4qzOEaCtNqWZJgfgTl3YAE/YF/6bsBaKfK81+ci7B9JKSG2guzFvzN/gaPoKXh/iwGFTNVoBuh6YskBdXAF8Ud4NRZ/pVSNdm4OUcXIe+21SK5MWhy02eAQqZEX97BGwTgSw5dasHS5HTyqv9BOOH/QA/9hXBFKjYWgBysgeNZSTJSt0eH+bmg5aDY+uAcuyKxEbRmiKk8UJbHOOP/SGh3dpOIoDC4PizgcjrHnPn6yUPAZmNAXLRLMeXIwXRZAaZvtFrwI9Cf7I432jcJw==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sl3Jy-0000qm-0M; Mon, 02 Sep 2024 05:26:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Mon, 02 Sep 2024 09:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 72954 X-GNU-PR-Package: emacs,gnus X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.17252691203115 (code B ref -1); Mon, 02 Sep 2024 09:26:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Sep 2024 09:25:20 +0000 Original-Received: from localhost ([127.0.0.1]:44066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sl3JG-0000o6-Kt for submit@debbugs.gnu.org; Mon, 02 Sep 2024 05:25:20 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:58598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sl2xy-0008B7-R6 for submit@debbugs.gnu.org; Mon, 02 Sep 2024 05:03:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sl2VO-0004ma-OZ for bug-gnu-emacs@gnu.org; Mon, 02 Sep 2024 04:33:46 -0400 Original-Received: from mout.web.de ([217.72.192.78]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sl2VH-0003WY-Qw for bug-gnu-emacs@gnu.org; Mon, 02 Sep 2024 04:33:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1725266013; x=1725870813; i=michael_heerdegen@web.de; bh=0C/RcyzHayQtzIQF9Pxnvy4l8TacQ32cEdAxatBhil0=; h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version: Content-Type:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=csvqGy1UKiLiq7Cr29Doj5ADzxPbICdOHxpZUHbdgpC2SQJ0KTCwzGLGmj6SD01c ZM+s5wX6FLvmSe7QB1GwIe11hfEhABF2WWcY0clWqPzl5u9HTuwJak2Vjm8mqgNfV 7HH21eOwwpCFSRTTdec3Er5e0FRhidIquHwWNqRt5yArJBk24tDYarBQInKt1h67t cp+gsXbjvs3ttmaTfsCddrqpHGhZZvvF0F+7eqlNkC3C9E0c/txQaYj48pQNvjPPS 9bhC45ItJlLAKL3AEmB7kZ+7H8YqoQeNuL08MTxgSHlYiU4yb8UHqDjGdmnnGJWrd 0Mb9g/ZWQYjLnBY2iA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Original-Received: from drachen.dragon ([84.59.210.176]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MmQYd-1sKTG80taD-00hi4P; Mon, 02 Sep 2024 10:33:33 +0200 X-Provags-ID: V03:K1:2j5pJLMhNtKhwCTAKOL2571/GCz9uXWFwKLNk8QWiU0tXa+saGS Hw7oY2n8nzKDSBUn7TFd6M0uBLmex8Tw5+QptLxW5Y2FUY4dp5zYObwqToif44KZRXoM3qs XIodQ17QKOk1l5Fto7wTg6L/JFpajeT7FP9OgSUGrFzU5t5iWp/a4IYbRqeMfPfKc75uO16 acPts6sHJb0zYhmmP+17Q== UI-OutboundReport: notjunk:1;M01:P0:I7yyOclMmh0=;LKwrCexieNYJQhJH5DUep4mCh0/ yMDZCMu29YkB1Dn6HJ4G1ckFXidUpuJjcDEid/69mjX9tkOSk1kevTYgaXYuTgzNnYoaYQ1i8 vnNJdQx1MTyTH6CJGfWR16UZi6dW09qOmzqsez2iGh4EIgiYizB086nOjouNGml1YvIKRc3N7 k+tvY24jpzu1VYO2Z5TImodmeAa5R+3vouYWw4646V9hEcSVneFfA8VaUBuOul6suynHf0iw2 wk7Qvm8fPQfR4wU0QMZ/qkad+61ZPeUumKv9ycSvq5pIkSYy0vOMAtqZ8mhFtHaoUqGs2qM0V o4hkXIaVcJ1YuZ+f6W5BkRZ1CdCoC17nYvCH0kKgltGMROiz860K/gqD9Ib/QBE24CTVDZrNL /BhOxGTUph2Dvz6qkEHuX32OOfWu+TGtO0DY7kch1Dy54OcAOmZ2ECYV1GBhkM2ZnKEWETiB0 hsb4MQ548NFzkJ0Kzoetn7jOPIBxzTW6SIiqViYBIbwfqESBc5UTvLqfPi4B4QBEla+Zq/MLK OyYjfa1VTVIS+phEWuQTwN05rO/oQkY/jt+7Iaq1HXdPbABrDgoVwcDTfa/ejx9Iu3ayqeHJW C21+Th3TlZ/yZtR1nsNkgrBnmmlxSnwJDnSrAXIR1OZUowd1qdBDTmh10ZQQ+yipATX4aqay8 LGeZ2jStqPE4DOZjLKEHkj9UPbLmuW/SOqm2nbR7A9TVU8gXHU7tCfyWZwDayv3NyjihtvclL ET3qmBzpcYhH6LoWXHVTtiSNGA4nXyA8c4qX63LpkHI1afwl6+YQz4PF0F+ccSzxz0fS1bmI Received-SPF: pass client-ip=217.72.192.78; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:291090 Archived-At: --=-=-= Content-Type: text/plain Hello, I am browsing the result of a `gnus-group-read-ephemeral-search-group' call. Then I invoke `gnus-summary-move-article' (with point at the article I want to move) and get this error: --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=btrc.txt Content-Transfer-Encoding: quoted-printable Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) (range-compress-list (nil)) (gnus-compress-sequence (nil)) (#f(compiled-function (artgroup) #) (nil nil)) (mapcar #f(compiled-function (artgroup) #) ((= nil nil))) (#f(compiled-function (act) #) ((2139) set n= il)) (mapcan #f(compiled-function (act) #) (((213= 9) set nil) ((2139) del (unexist seen forward unsend download cache save sc= ore dormant bookmark killed expire reply tick)))) (cl-mapcan #f(compiled-function (act) #) (((= 2139) set nil) ((2139) del (unexist seen forward unsend download cache save= score dormant bookmark killed expire reply tick)))) (nnselect-request-set-mark "search->subject--bug--from---" (((2139) set n= il) ((2139) del (unexist seen forward unsend download cache save score dorm= ant bookmark killed expire reply tick))) "nnselect-ephemeral") (gnus-request-set-mark "nnselect:search->subject--bug--from---" (((2139) = set nil) ((2139) del (unexist seen forward unsend download cache save score= dormant bookmark killed expire reply tick)))) (gnus-summary-push-marks-to-backend 2139) (#f(compiled-function (&optional n to-newsgroup select-method action) "Mo= ve the current article to a different newsgroup.\nIf N is a positive number= , move the N next articles.\nIf N is a negative number, move the N previous= articles.\nIf N is nil and any articles have been marked with the process = mark,\nmove those articles instead.\nIf TO-NEWSGROUP is string, do not prom= pt for a newsgroup to move to.\nIf SELECT-METHOD is non-nil, do not move to= a specific newsgroup, but\nre-spool using this method.\n\nWhen called inte= ractively with TO-NEWSGROUP being nil, the value of\nthe variable `gnus-mov= e-split-methods' is used for finding a default\nfor the target newsgroup.\n= \nFor this function to work, both the current newsgroup and the\nnewsgroup = that you want to move to have to support the `request-move'\nand `request-a= ccept' functions.\n\nACTION can be either `move' (the default), `crosspost'= or `copy'." (interactive "P") #) nil) (funcall #f(compiled-function (&optional n to-newsgroup select-method act= ion) "Move the current article to a different newsgroup.\nIf N is a positiv= e number, move the N next articles.\nIf N is a negative number, move the N = previous articles.\nIf N is nil and any articles have been marked with the = process mark,\nmove those articles instead.\nIf TO-NEWSGROUP is string, do = not prompt for a newsgroup to move to.\nIf SELECT-METHOD is non-nil, do not= move to a specific newsgroup, but\nre-spool using this method.\n\nWhen cal= led interactively with TO-NEWSGROUP being nil, the value of\nthe variable `= gnus-move-split-methods' is used for finding a default\nfor the target news= group.\n\nFor this function to work, both the current newsgroup and the\nne= wsgroup that you want to move to have to support the `request-move'\nand `r= equest-accept' functions.\n\nACTION can be either `move' (the default), `cr= osspost' or `copy'." (interactive "P") #) nil) (#f(lambda (f n _) [cl-struct-my-gnus-summary-process-marked-tags cl-stru= ct-my-gnus-summary-pos-tags t] (funcall f n)) #f(compiled-function (&option= al n to-newsgroup select-method action) "Move the current article to a diff= erent newsgroup.\nIf N is a positive number, move the N next articles.\nIf = N is a negative number, move the N previous articles.\nIf N is nil and any = articles have been marked with the process mark,\nmove those articles inste= ad.\nIf TO-NEWSGROUP is string, do not prompt for a newsgroup to move to.\n= If SELECT-METHOD is non-nil, do not move to a specific newsgroup, but\nre-s= pool using this method.\n\nWhen called interactively with TO-NEWSGROUP bein= g nil, the value of\nthe variable `gnus-move-split-methods' is used for fin= ding a default\nfor the target newsgroup.\n\nFor this function to work, bot= h the current newsgroup and the\nnewsgroup that you want to move to have to= support the `request-move'\nand `request-accept' functions.\n\nACTION can = be either `move' (the default), `crosspost' or `copy'." (interactive "P") #= ) nil (2139)) (funcall #f(lambda (f n _) [cl-struct-my-gnus-summary-process-marked-tags= cl-struct-my-gnus-summary-pos-tags t] (funcall f n)) #f(compiled-function = (&optional n to-newsgroup select-method action) "Move the current article t= o a different newsgroup.\nIf N is a positive number, move the N next articl= es.\nIf N is a negative number, move the N previous articles.\nIf N is nil = and any articles have been marked with the process mark,\nmove those articl= es instead.\nIf TO-NEWSGROUP is string, do not prompt for a newsgroup to mo= ve to.\nIf SELECT-METHOD is non-nil, do not move to a specific newsgroup, b= ut\nre-spool using this method.\n\nWhen called interactively with TO-NEWSGR= OUP being nil, the value of\nthe variable `gnus-move-split-methods' is used= for finding a default\nfor the target newsgroup.\n\nFor this function to w= ork, both the current newsgroup and the\nnewsgroup that you want to move to= have to support the `request-move'\nand `request-accept' functions.\n\nACT= ION can be either `move' (the default), `crosspost' or `copy'." (interactiv= e "P") #) nil (2139)) (progn (select-window (car save-selected-window--state) 'norecord) (set-w= indow-fringes window 0 0) (funcall query f n articles)) (unwind-protect (progn (select-window (car save-selected-window--state) '= norecord) (set-window-fringes window 0 0) (funcall query f n articles)) (in= ternal--after-with-selected-window save-selected-window--state)) (save-current-buffer (unwind-protect (progn (select-window (car save-sele= cted-window--state) 'norecord) (set-window-fringes window 0 0) (funcall que= ry f n articles)) (internal--after-with-selected-window save-selected-windo= w--state))) (let ((save-selected-window--state (internal--before-with-selected-window= window))) (save-current-buffer (unwind-protect (progn (select-window (car = save-selected-window--state) 'norecord) (set-window-fringes window 0 0) (fu= ncall query f n articles)) (internal--after-with-selected-window save-selec= ted-window--state)))) (progn (save-current-buffer (set-buffer (window-buffer summary-buffer-win= dow)) (save-excursion (goto-char (window-start summary-buffer-window)) (let= ((wend (window-end summary-buffer-window))) (while (< (point) wend) (if (m= emq (get-text-property ... ...) articles) (progn (let ... ... ...))) (forwa= rd-line 1))))) (let ((save-selected-window--state (internal--before-with-se= lected-window window))) (save-current-buffer (unwind-protect (progn (select= -window (car save-selected-window--state) 'norecord) (set-window-fringes wi= ndow 0 0) (funcall query f n articles)) (internal--after-with-selected-wind= ow save-selected-window--state))))) (unwind-protect (progn (save-current-buffer (set-buffer (window-buffer su= mmary-buffer-window)) (save-excursion (goto-char (window-start summary-buff= er-window)) (let ((wend (window-end summary-buffer-window))) (while (< (poi= nt) wend) (if (memq ... articles) (progn ...)) (forward-line 1))))) (let ((= save-selected-window--state (internal--before-with-selected-window window))= ) (save-current-buffer (unwind-protect (progn (select-window (car save-sele= cted-window--state) 'norecord) (set-window-fringes window 0 0) (funcall que= ry f n articles)) (internal--after-with-selected-window save-selected-windo= w--state))))) (mapc #'delete-overlay overlays)) (let ((overlays 'nil)) (unwind-protect (progn (save-current-buffer (set-b= uffer (window-buffer summary-buffer-window)) (save-excursion (goto-char (wi= ndow-start summary-buffer-window)) (let ((wend ...)) (while (< ... wend) (i= f ... ...) (forward-line 1))))) (let ((save-selected-window--state (interna= l--before-with-selected-window window))) (save-current-buffer (unwind-prote= ct (progn (select-window ... ...) (set-window-fringes window 0 0) (funcall = query f n articles)) (internal--after-with-selected-window save-selected-wi= ndow--state))))) (mapc #'delete-overlay overlays))) (#f(lambda (window _v) [(summary-buffer-window #subject--bug--from---*>) (articles (2139)) (n nil) (f #f(comp= iled-function (&optional n to-newsgroup select-method action) "Move the cur= rent article to a different newsgroup.\nIf N is a positive number, move the= N next articles.\nIf N is a negative number, move the N previous articles.= \nIf N is nil and any articles have been marked with the process mark,\nmov= e those articles instead.\nIf TO-NEWSGROUP is string, do not prompt for a n= ewsgroup to move to.\nIf SELECT-METHOD is non-nil, do not move to a specifi= c newsgroup, but\nre-spool using this method.\n\nWhen called interactively = with TO-NEWSGROUP being nil, the value of\nthe variable `gnus-move-split-me= thods' is used for finding a default\nfor the target newsgroup.\n\nFor this= function to work, both the current newsgroup and the\nnewsgroup that you w= ant to move to have to support the `request-move'\nand `request-accept' fun= ctions.\n\nACTION can be either `move' (the default), `crosspost' or `copy'= ." (interactive "P") #)) (face nil) (query #f(= lambda (f n _) [cl-struct-my-gnus-summary-process-marked-tags cl-struct-my-= gnus-summary-pos-tags t] (funcall f n)))] (let ((overlays 'nil)) (unwind-pr= otect (progn (save-current-buffer (set-buffer (window-buffer summary-buffer= -window)) (save-excursion (goto-char ...) (let ... ...))) (let ((save-selec= ted-window--state ...)) (save-current-buffer (unwind-protect ... ...)))) (m= apc #'delete-overlay overlays)))) # nil) (funcall #f(lambda (window _v) [(summary-buffer-window #subject--bug--from---*>) (articles (2139)) (n nil) (f= #f(compiled-function (&optional n to-newsgroup select-method action) "Move= the current article to a different newsgroup.\nIf N is a positive number, = move the N next articles.\nIf N is a negative number, move the N previous a= rticles.\nIf N is nil and any articles have been marked with the process ma= rk,\nmove those articles instead.\nIf TO-NEWSGROUP is string, do not prompt= for a newsgroup to move to.\nIf SELECT-METHOD is non-nil, do not move to a= specific newsgroup, but\nre-spool using this method.\n\nWhen called intera= ctively with TO-NEWSGROUP being nil, the value of\nthe variable `gnus-move-= split-methods' is used for finding a default\nfor the target newsgroup.\n\n= For this function to work, both the current newsgroup and the\nnewsgroup th= at you want to move to have to support the `request-move'\nand `request-acc= ept' functions.\n\nACTION can be either `move' (the default), `crosspost' o= r `copy'." (interactive "P") #)) (face nil) (q= uery #f(lambda (f n _) [cl-struct-my-gnus-summary-process-marked-tags cl-st= ruct-my-gnus-summary-pos-tags t] (funcall f n)))] (let ((overlays 'nil)) (u= nwind-protect (progn (save-current-buffer (set-buffer (window-buffer summar= y-buffer-window)) (save-excursion (goto-char ...) (let ... ...))) (let ((sa= ve-selected-window--state ...)) (save-current-buffer (unwind-protect ... ..= .)))) (mapc #'delete-overlay overlays)))) # nil) (if (functionp vquit-function) (funcall vquit-function window value) valu= e) (let* ((vbuffer-or-name buffer) (vaction (list 'display-buffer-in-directi= on '(direction . top) (cons 'window-height #'fit-window-to-buffer) '(preser= ve-size nil . t) (cons 'body-function #'(lambda (_) (let ... ... ... ... ..= . ...) (remove-text-properties ... ... ...) (setq tab-line-exclude nil)))))= (vquit-function #'(lambda (window _v) (let ((overlays ...)) (unwind-protec= t (progn ... ...) (mapc ... overlays))))) (buffer (temp-buffer-window-setup= vbuffer-or-name)) (standard-output buffer) window value) (save-current-buf= fer (set-buffer buffer) (setq value (progn)) (setq window (temp-buffer-wind= ow-show buffer vaction))) (if (functionp vquit-function) (funcall vquit-fun= ction window value) value)) (let ((buffer (get-buffer-create " *Articles*")) (article-table (my-print= -table (mapcar #'(lambda (article-number) (let ... ...)) articles) (list #'= (lambda (s) (propertize s ... ...))) '(nil right))) (window-min-height 1)) = (let* ((vbuffer-or-name buffer) (vaction (list 'display-buffer-in-direction= '(direction . top) (cons 'window-height #'fit-window-to-buffer) '(preserve= -size nil . t) (cons 'body-function #'(lambda ... ... ... ...)))) (vquit-fu= nction #'(lambda (window _v) (let (...) (unwind-protect ... ...)))) (buffer= (temp-buffer-window-setup vbuffer-or-name)) (standard-output buffer) windo= w value) (save-current-buffer (set-buffer buffer) (setq value (progn)) (set= q window (temp-buffer-window-show buffer vaction))) (if (functionp vquit-fu= nction) (funcall vquit-function window value) value))) (if (let ((buffer (get-buffer-create " *Articles*")) (article-table (my-p= rint-table (mapcar #'(lambda ... ...) articles) (list #'(lambda ... ...)) '= (nil right))) (window-min-height 1)) (let* ((vbuffer-or-name buffer) (vacti= on (list 'display-buffer-in-direction '(direction . top) (cons 'window-heig= ht #'fit-window-to-buffer) '(preserve-size nil . t) (cons 'body-function #'= ...))) (vquit-function #'(lambda (window _v) (let ... ...))) (buffer (temp-= buffer-window-setup vbuffer-or-name)) (standard-output buffer) window value= ) (save-current-buffer (set-buffer buffer) (setq value (progn)) (setq windo= w (temp-buffer-window-show buffer vaction))) (if (functionp vquit-function)= (funcall vquit-function window value) value))) (progn (funcall body f n))) (let ((articles (sort (copy-sequence (gnus-summary-work-articles n)) #'<)= ) (gnus-novice-user nil) (summary-buffer-window (selected-window))) (if (le= t ((buffer (get-buffer-create " *Articles*")) (article-table (my-print-tabl= e (mapcar #'... articles) (list #'...) '(nil right))) (window-min-height 1)= ) (let* ((vbuffer-or-name buffer) (vaction (list 'display-buffer-in-directi= on '... (cons ... ...) '... (cons ... ...))) (vquit-function #'(lambda ... = ...)) (buffer (temp-buffer-window-setup vbuffer-or-name)) (standard-output = buffer) window value) (save-current-buffer (set-buffer buffer) (setq value = (progn)) (setq window (temp-buffer-window-show buffer vaction))) (if (funct= ionp vquit-function) (funcall vquit-function window value) value))) (progn = (funcall body f n)))) (progn (let ((articles (sort (copy-sequence (gnus-summary-work-articles n= )) #'<)) (gnus-novice-user nil) (summary-buffer-window (selected-window))) = (if (let ((buffer (get-buffer-create " *Articles*")) (article-table (my-pri= nt-table (mapcar ... articles) (list ...) '...)) (window-min-height 1)) (le= t* ((vbuffer-or-name buffer) (vaction (list ... ... ... ... ...)) (vquit-fu= nction #'...) (buffer (temp-buffer-window-setup vbuffer-or-name)) (standard= -output buffer) window value) (save-current-buffer (set-buffer buffer) (set= q value (progn)) (setq window (temp-buffer-window-show buffer vaction))) (i= f (functionp vquit-function) (funcall vquit-function window value) value)))= (progn (funcall body f n))))) (unwind-protect (progn (let ((articles (sort (copy-sequence (gnus-summary= -work-articles n)) #'<)) (gnus-novice-user nil) (summary-buffer-window (sel= ected-window))) (if (let ((buffer (get-buffer-create " *Articles*")) (artic= le-table (my-print-table ... ... ...)) (window-min-height 1)) (let* ((vbuff= er-or-name buffer) (vaction ...) (vquit-function ...) (buffer ...) (standar= d-output buffer) window value) (save-current-buffer (set-buffer buffer) (se= tq value ...) (setq window ...)) (if (functionp vquit-function) (funcall vq= uit-function window value) value))) (progn (funcall body f n))))) (set-wind= ow-configuration wconfig)) (let ((wconfig (current-window-configuration))) (unwind-protect (progn (l= et ((articles (sort (copy-sequence ...) #'<)) (gnus-novice-user nil) (summa= ry-buffer-window (selected-window))) (if (let ((buffer ...) (article-table = ...) (window-min-height 1)) (let* (... ... ... ... ... window value) (save-= current-buffer ... ... ...) (if ... ... value))) (progn (funcall body f n))= ))) (set-window-configuration wconfig))) (#f(lambda (f &optional n &rest _) [(face nil) (body ignore) (query #f(la= mbda (f n _) [cl-struct-my-gnus-summary-process-marked-tags cl-struct-my-gn= us-summary-pos-tags t] (funcall f n)))] (let ((wconfig (current-window-conf= iguration))) (unwind-protect (progn (let ((articles ...) (gnus-novice-user = nil) (summary-buffer-window ...)) (if (let ... ...) (progn ...)))) (set-win= dow-configuration wconfig)))) #f(compiled-function (&optional n to-newsgrou= p select-method action) "Move the current article to a different newsgroup.= \nIf N is a positive number, move the N next articles.\nIf N is a negative = number, move the N previous articles.\nIf N is nil and any articles have be= en marked with the process mark,\nmove those articles instead.\nIf TO-NEWSG= ROUP is string, do not prompt for a newsgroup to move to.\nIf SELECT-METHOD= is non-nil, do not move to a specific newsgroup, but\nre-spool using this = method.\n\nWhen called interactively with TO-NEWSGROUP being nil, the value= of\nthe variable `gnus-move-split-methods' is used for finding a default\n= for the target newsgroup.\n\nFor this function to work, both the current ne= wsgroup and the\nnewsgroup that you want to move to have to support the `re= quest-move'\nand `request-accept' functions.\n\nACTION can be either `move'= (the default), `crosspost' or `copy'." (interactive "P") #) nil) (apply #f(lambda (f &optional n &rest _) [(face nil) (body ignore) (query= #f(lambda (f n _) [cl-struct-my-gnus-summary-process-marked-tags cl-struct= -my-gnus-summary-pos-tags t] (funcall f n)))] (let ((wconfig (current-windo= w-configuration))) (unwind-protect (progn (let ((articles ...) (gnus-novice= -user nil) (summary-buffer-window ...)) (if (let ... ...) (progn ...)))) (s= et-window-configuration wconfig)))) #f(compiled-function (&optional n to-ne= wsgroup select-method action) "Move the current article to a different news= group.\nIf N is a positive number, move the N next articles.\nIf N is a neg= ative number, move the N previous articles.\nIf N is nil and any articles h= ave been marked with the process mark,\nmove those articles instead.\nIf TO= -NEWSGROUP is string, do not prompt for a newsgroup to move to.\nIf SELECT-= METHOD is non-nil, do not move to a specific newsgroup, but\nre-spool using= this method.\n\nWhen called interactively with TO-NEWSGROUP being nil, the= value of\nthe variable `gnus-move-split-methods' is used for finding a def= ault\nfor the target newsgroup.\n\nFor this function to work, both the curr= ent newsgroup and the\nnewsgroup that you want to move to have to support t= he `request-move'\nand `request-accept' functions.\n\nACTION can be either = `move' (the default), `crosspost' or `copy'." (interactive "P") #) nil) (gnus-summary-move-article nil) (funcall-interactively gnus-summary-move-article nil) (call-interactively gnus-summary-move-article nil nil) (command-execute gnus-summary-move-article) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable This happens only when using `gnus-move-split-methods' nil. When I use a value like ((".*" . ("nnml+archive:emacs" ...))) the error does not happen and the operation succeeds. Although I choose the same target group in both cases. It was very hard to debug why that setting influences the result. I followed the problem to a call to `nnselect-article-number' - here: | (nnselect-article-number 2140) | (cl-mapcan #f(lambda (act) [t] (let* ((--cl-rest-- act) (range (if (=3D= (length --cl-rest--) 3) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cd= r --cl-rest--)))) (signal 'wrong-number-of-arguments (list '(range action m= arks) (length --cl-rest--))))) (action (car-safe (prog1 --cl-rest-- (setq -= -cl-rest-- (cdr --cl-rest--))))) (marks (car-safe --cl-rest--))) (mapcar #'= (lambda (artgroup) (list (car artgroup) (gnus-compress-sequence (sort (cdr = artgroup) #'<)) action marks)) (cond ((eq 'range 'range) (let* ((sequence (= range-uncompress range))) (let ((valuefunc (or #'nnselect-article-number 'i= dentity)) result) (if (null sequence) nil (mapc #'(lambda (member) (let* ((= key (elt (if (> member 0) (progn (elt gnus-newsgroup-selection (1- member))= )) 0)) (value (funcall valuefunc member)) (kr (assoc key result))) (if kr (= let* ((v kr)) (setcdr v (cons value (cdr v)))) (setq result (cons (list key= value) result))))) (reverse sequence)) result)))) ((eq 'range 'tuple) (let= * ((keyfunc #'(lambda (elem) (elt (if (> (car elem) 0) (progn (elt gnus-new= sgroup-selection (1- (car elem))))) 0))) (valuefunc #'(lambda (elem) (cons = (elt (if (> (car elem) 0) (progn (elt gnus-newsgroup-selection (1- (car ele= m))))) 1) (cdr elem))))) (let ((valuefunc (or valuefunc 'identity)) result)= (if (null range) nil (mapc #'(lambda (member) (let* ((key (funcall keyfunc= member)) (value (funcall valuefunc member)) (kr (assoc key result))) (if k= r (let* ((v kr)) (setcdr v (cons value (cdr v)))) (setq result (cons (list = key value) result))))) (reverse range)) result)))) (t (let ((valuefunc (or = #'nnselect-article-number 'identity)) result) (if (null range) nil (mapc #'= (lambda (member) (let* ((key (elt (if (> member 0) (progn (elt gnus-newsgro= up-selection (1- member)))) 0)) (value (funcall valuefunc member)) (kr (ass= oc key result))) (if kr (let* ((v kr)) (setcdr v (cons value (cdr v)))) (se= tq result (cons (list key value) result))))) (reverse range)) result)))))))= (((2140) set nil) ((2140) del (unexist seen forward unsend download cache = save score dormant bookmark killed expire reply tick)))) | (nnselect-request-set-mark "search->subject--bug--from---" (((2140) set= nil) ((2140) del (unexist seen forward unsend download cache save score do= rmant bookmark killed expire reply tick))) "nnselect-ephemeral") | (gnus-request-set-mark "nnselect:search->subject--bug--from---" (((2140= ) set nil) ((2140) del (unexist seen forward unsend download cache save sco= re dormant bookmark killed expire reply tick)))) | (gnus-summary-push-marks-to-backend 2140) | (gnus-summary-move-article nil) In the good case this returns a number, in the bad case `nil'. This is where the `nil' in the backtrace above seems to come from. But I don't understand why that happens. Could be `gnus-newsgroup-selection' that has a different value, but I gave up at that point - too many `define-inline' definitions related and I don't know if I'm on the right track anyway. Anybody any ideas? TIA, Michael. In GNU Emacs 31.0.50 (build 16, x86_64-pc-linux-gnu, cairo version 1.16.0) of 2024-09-02 built on drachen Repository revision: 6975d13525148306e1825bb881560c6b6b989cf8 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101007 System Description: Debian GNU/Linux 12 (bookworm) --=-=-=--