From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_DOTEDU_SUSP,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: from mx1.math.uh.edu (mx1.math.uh.edu [129.7.128.32]) by inbox.vuxu.org (Postfix) with ESMTP id 594B829DD8 for ; Wed, 31 Jan 2024 21:10:57 +0100 (CET) Received: from lists1.math.uh.edu ([129.7.128.208]) by mx1.math.uh.edu with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from ) id 1rVGv8-00000003HJX-3rAE for ml@inbox.vuxu.org; Wed, 31 Jan 2024 14:10:54 -0600 Received: from lists1.math.uh.edu ([127.0.0.1] helo=lists.math.uh.edu) by lists1.math.uh.edu with smtp (Exim 4.97.1) (envelope-from ) id 1rVGv8-000000044v9-1JsT for ml@inbox.vuxu.org; Wed, 31 Jan 2024 14:10:54 -0600 Received: from mx1.math.uh.edu ([129.7.128.32]) by lists1.math.uh.edu with esmtp (Exim 4.97.1) (envelope-from ) id 1rVGv5-000000044v0-29R4 for ding@lists.math.uh.edu; Wed, 31 Jan 2024 14:10:51 -0600 Received: from quimby.gnus.org ([95.216.78.240]) by mx1.math.uh.edu with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from ) id 1rVGv3-00000003HJ2-2fqE for ding@lists.math.uh.edu; Wed, 31 Jan 2024 14:10:51 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:Mime-Version:Message-ID :Date:Subject:From:To:Sender:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Ps0t6cIMwez3IBN/xlZ0KWM+Rq6EMa7wGea7mAhhJ8Q=; b=R9A2cioj/pNP7C+92yLqmWOGXK m5NhLU7EBX8r9E5eNxeGdvV8IYcFYCI4qCdzHkYcUoFWTmk+RUzprxdyDgU2TX2vLutdiDHtp7JB1 Gt4ykaX06M/6UvjlVJyiU485ramkRjEFyShMcD0QEIYi4EZ1gbyt9nds51ytw9AJbnsI=; Received: from ciao.gmane.io ([116.202.254.214]) by quimby.gnus.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rVGuq-0002Ch-W1 for ding@gnus.org; Wed, 31 Jan 2024 21:10:39 +0100 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1rVGuq-000937-DT for ding@gnus.org; Wed, 31 Jan 2024 21:10:36 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org To: ding@gnus.org From: Dan Christensen Subject: problem with (display . [not expire]) with git emacs Date: Wed, 31 Jan 2024 15:10:29 -0500 Message-ID: <87v879qn62.fsf@uwo.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:Zx4eC+Z1pXsz1LNXIFDJNz4NUYg= Mail-Copies-To: never List-ID: Precedence: bulk I'm using Gnus with git emacs, and noticed that since commit 8525be6d from Nov 29, 2023 (see below), Gnus isn't honouring my group parameter (display . [not expire]) I used the debugger to find that there is an error involving byte-compilation. The top of the debug output contains: Debugger entered--returning value: "Malformed function =E2=80=98#[0 \"\\301= \\300!\\207\" [expire gnus-article-marked-p] 2]=E2=80=99" format-message("Malformed function `%S'" #f(compiled-function () #)) * #f(compiled-function (form env extend func forms) #)(((#f(compiled-function () #))) (nil) (nil= ) #f(compiled-function () #) nil) and an earlier call that could probably be used to reproduce this is: * gnus-summary-display-make-predicate((not expire)) The full stack trace is below, as is the text of the commit. Can anyone else using git emacs more recent than Nov 29 tell me whether (display . [not expire]) is working for them? Note that (display . [expire]) *does* seem to work correctly. If we determine that it's not just a quirk in my set-up, I could move this discussion to an emacs list, but I thought I would start here. Dan The commit that is causing trouble is: commit 8525be6d5eca0c75008ec1dc799cae537156feea (HEAD, refs/bisect/bad) Author: Mattias Engdeg=C3=A5rd Date: Wed Nov 29 17:51:46 2023 +0100 Move malformed-function warning from byte-opt to cconv (bug#67483) =20=20=20=20 We shouldn't be warning inside the optimiser in the first place. =20=20=20=20 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form): Remove byte-compile-form-stack manipulation. (byte-optimize-form-code-walker): Move malformed function warning from here... * lisp/emacs-lisp/cconv.el: ...to here. The backtrace: Debugger entered--returning value: "Malformed function =E2=80=98#[0 \"\\301= \\300!\\207\" [expire gnus-article-marked-p] 2]=E2=80=99" format-message("Malformed function `%S'" #f(compiled-function () #)) * #f(compiled-function (form env extend func forms) #)(((#f(compiled-function () #))) (nil) (nil= ) #f(compiled-function () #) nil) * cconv-convert((#f(compiled-function () #)) nil n= il) * #f(compiled-function (form) #)((#f(compiled-= function () #))) * mapcar(#f(compiled-function (form) #) ((#f(c= ompiled-function () #)))) * #f(compiled-function (form env extend func forms) #)(((not (#f(compiled-function () #)))) (nil= ) (nil) not ((#f(compiled-function () #)))) * cconv-convert((not (#f(compiled-function () #)))= nil nil) * #f(compiled-function (form) #)((not (#f(compi= led-function () #)))) * mapcar(#f(compiled-function (form) #) ((not (= #f(compiled-function () #))))) * cconv--convert-funcbody(nil ((not (#f(compiled-function () #)))) nil #'(lambda nil (not (#f(compiled-function () #))))) * cconv--convert-function(nil ((not (#f(compiled-function () #)))) nil #'(lambda nil (not (#f(compiled-function () #)))) nil) * cconv-convert(#'(lambda nil (not (#f(compiled-function () #)))) nil nil) * cconv-closure-convert(#'(lambda nil (not (#f(compiled-function () #)))) nil) * byte-compile-preprocess((lambda nil (not (#f(compiled-function () #))))) * #f(compiled-function (form) #)((lambda nil (= not (#f(compiled-function () #))))) * byte-compile((lambda nil (not (#f(compiled-function () #))))) * gnus-byte-compile((lambda nil (not (#f(compiled-function () #))))) * gnus-category-make-function((not expire)) * gnus-get-predicate((not expire)) * gnus-summary-display-make-predicate((not expire)) * (cond ((not (=3D 0 (or (car-safe read-all) 0))) #'gnus-not-ignore) ((eq d= isplay 'all) #'gnus-not-ignore) ((arrayp display) (gnus-summary-display-mak= e-predicate (mapcar #'identity display))) ((numberp display) (setq select-a= rticles (range-uncompress (cons (let ((tmp ...)) (if (> tmp 0) tmp 1)) (cdr= (gethash group gnus-active-hashtb))))) nil) (t nil)) * (setq gnus-newsgroup-display (cond ((not (=3D 0 (or (car-safe read-all) 0= ))) #'gnus-not-ignore) ((eq display 'all) #'gnus-not-ignore) ((arrayp displ= ay) (gnus-summary-display-make-predicate (mapcar #'identity display))) ((nu= mberp display) (setq select-articles (range-uncompress (cons (let (...) (if= ... tmp 1)) (cdr (gethash group gnus-active-hashtb))))) nil) (t nil))) (let ((display (gnus-group-find-parameter group 'display))) (debug) (setq= gnus-newsgroup-display (cond ((not (=3D 0 (or (car-safe read-all) 0))) #'g= nus-not-ignore) ((eq display 'all) #'gnus-not-ignore) ((arrayp display) (gn= us-summary-display-make-predicate (mapcar #'identity display))) ((numberp d= isplay) (setq select-articles (range-uncompress (cons (let ... ...) (cdr ..= .)))) nil) (t nil)))) (let* ((entry (gethash group gnus-newsrc-hashtb)) (gnus-summary-ignore-du= plicates (if (eq (car (gnus-find-method-for-group group)) 'nnvirtual) t gnu= s-summary-ignore-duplicates)) (info (nth 1 entry)) articles fetched-article= s cached) (if (gnus-check-server (set (make-local-variable 'gnus-current-se= lect-method) (gnus-find-method-for-group group))) nil (error "Couldn't open= server")) (or (and entry (not (eq (car entry) t))) (gnus-activate-group gr= oup) (progn (if (derived-mode-p 'gnus-summary-mode) (progn (gnus-kill-buffe= r (current-buffer)))) (error "Couldn't activate group %s: %s" group (gnus-s= tatus-message group)))) (if (gnus-request-group group t nil info) nil (if (= derived-mode-p 'gnus-summary-mode) (progn (gnus-kill-buffer (current-buffer= )))) (error "Couldn't request group %s: %s" group (gnus-status-message grou= p))) (if (and gnus-agent (gethash group gnus-active-hashtb)) (progn (gnus-a= gent-possibly-alter-active group (gethash group gnus-active-hashtb) info) (= setq gnus-summary-use-undownloaded-faces (gnus-agent-find-parameter group '= agent-enable-undownloaded-faces)))) (progn (setq gnus-newsgroup-name group)= (setq gnus-newsgroup-unselected nil) (setq gnus-newsgroup-unreads (gnus-li= st-of-unread-articles group))) (let ((display (gnus-group-find-parameter gr= oup 'display))) (debug) (setq gnus-newsgroup-display (cond ((not (=3D 0 (or= ... 0))) #'gnus-not-ignore) ((eq display 'all) #'gnus-not-ignore) ((arrayp= display) (gnus-summary-display-make-predicate (mapcar #'identity display))= ) ((numberp display) (setq select-articles (range-uncompress (cons ... ...)= )) nil) (t nil)))) (gnus-summary-setup-default-charset) (if (gnus-virtual-g= roup-p group) (progn (setq cached gnus-newsgroup-cached))) (setq gnus-newsg= roup-unreads (gnus-sorted-ndifference (gnus-sorted-ndifference gnus-newsgro= up-unreads gnus-newsgroup-marked) gnus-newsgroup-dormant)) (setq gnus-newsg= roup-processable nil) (gnus-update-read-articles group gnus-newsgroup-unrea= ds t) (if info (progn (gnus-adjust-marked-articles info))) (if (setq articl= es select-articles) (setq gnus-newsgroup-unselected (gnus-sorted-difference= gnus-newsgroup-unreads articles)) (setq articles (gnus-articles-to-read gr= oup read-all))) (cond ((null articles) 'quit) ((eq articles 0) nil) (t (set= q gnus-newsgroup-dependencies (gnus-make-hashtable (length articles))) (if = (gnus-buffer-live-p gnus-group-buffer) (gnus-set-global-variables) (set-def= ault 'gnus-newsgroup-name gnus-newsgroup-name)) (setq gnus-newsgroup-header= s (gnus-fetch-headers articles)) (if cached (progn (setq gnus-newsgroup-cac= hed cached))) (if gnus-suppress-duplicates (progn (gnus-dup-suppress-articl= es))) (setq gnus-newsgroup-limit (copy-sequence articles)) (setq fetched-ar= ticles (mapcar #'mail-header-number gnus-newsgroup-headers)) (setq gnus-new= sgroup-articles fetched-articles) (setq gnus-newsgroup-unreads (gnus-sorted= -nintersection gnus-newsgroup-unreads fetched-articles)) (gnus-compute-unse= en-list) (gnus-update-missing-marks (gnus-sorted-difference articles fetche= d-articles)) (if (and gnus-fetch-old-headers (eq gnus-headers-retrieved-by = 'nov)) (progn (if (eq gnus-fetch-old-headers 'invisible) (gnus-build-all-th= reads) (gnus-build-old-threads)))) (if gnus-agent (progn (gnus-agent-get-un= downloaded-list))) (gnus-summary-remove-list-identifiers) (setq gnus-newsgr= oup-auto-expire (and (gnus-group-auto-expirable-p group) (not (gnus-group-r= ead-only-p group)))) (if (and gnus-single-article-buffer (equal gnus-articl= e-buffer "*Article*")) nil (gnus-article-setup-buffer)) (if gnus-newsgroup-= headers (progn (progn (setq gnus-newsgroup-begin (let* ... ...)) (setq gnus= -newsgroup-end (let* ... ...))))) (or gnus-newsgroup-headers t)))) gnus-select-newsgroup("nnimap+rocky:INBOX" 9 nil) gnus-summary-read-group-1("nnimap+rocky:INBOX" 9 t nil nil nil) gnus-summary-read-group("nnimap+rocky:INBOX" 9 t nil nil nil nil) gnus-group-read-group(9 t "nnimap+rocky:INBOX") jdc-gnus-group-select-inbox(9) funcall-interactively(jdc-gnus-group-select-inbox 9) call-interactively(jdc-gnus-group-select-inbox nil nil) command-execute(jdc-gnus-group-select-inbox)