From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/38177 Path: main.gmane.org!not-for-mail From: Dan Christensen Newsgroups: gmane.emacs.gnus.general Subject: Re: Like (display . all) but hide expirable messages Date: Wed, 22 Aug 2001 02:40:37 -0400 Sender: Dan Christensen Message-ID: <87k7zwlhqy.fsf@uwo.ca> References: <87n15953w6.fsf@TK212017118241.teleweb.at> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: main.gmane.org 1035174084 20988 80.91.224.250 (21 Oct 2002 04:21:24 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 04:21:24 +0000 (UTC) Return-Path: Return-Path: Original-Received: (qmail 24452 invoked from network); 22 Aug 2001 06:40:51 -0000 Original-Received: from pony.its.uwo.ca (129.100.2.63) by gnus.org with SMTP; 22 Aug 2001 06:40:51 -0000 Original-Received: from scratchy (ren.math.uwo.ca [129.100.75.76]) by pony.its.uwo.ca (8.10.2/8.10.2) with ESMTP id f7M6eoi23751 for ; Wed, 22 Aug 2001 02:40:50 -0400 (EDT) Original-Received: from jdc by scratchy with local (Exim 3.32 #1 (Debian)) id 15ZRgr-0001FB-00; Wed, 22 Aug 2001 02:40:38 -0400 Original-To: ding@gnus.org In-Reply-To: (Lars Magne Ingebrigtsen's message of "Fri, 17 Aug 2001 20:40:36 +0200") User-Agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.0.100 Original-Lines: 106 Xref: main.gmane.org gmane.emacs.gnus.general:38177 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:38177 Lars Magne Ingebrigtsen writes: > Lars Magne Ingebrigtsen writes: > >>> Ah. (display . [not read expirable]) >> >> That's a syntax. > > Which has now been implemented and documented. (And even tested!) In > CVS in a few jiffies. Excellent, that's great news. Things work fine for me with (display . [not expire]) Here are some problems/suggestions, though. 1. The docs mention both expire and expirable, but only expire works for me. Both should probably be permitted. 2. The docs should say this feature is implemented by limiting the summary buffer, and that this means that `/ w' can be used to reveal the hidden articles. 3. Would it be reasonable to have a command and keystroke that applies the group's (display . foo) setting to the summary buffer as it now stands? For example, if while reading a group some of the articles become marked expirable, I sometimes want to hide them to get rid of clutter. 4. Searching the index for the word display doesn't turn up the Group Parameters node. 5. While in the group parameters editing screen (`G p'), `C-c C-i' doesn't take you to the Group Parameters node. 6. The info page includes three empty predicates: `read', `dormant', `', `', `', `expire', `reply', `killed', 7. I can't get (display . [and (not expire) (not read)]) or (display . [and (not expire) unread]) to work for me. With the former I get prompted to input a Lisp Expression when I enter a group. With the latter I get the following error when=20 entering a group: Debugger entered--Lisp error: (void-function unread) unread() #[nil "=C0=C1!?=85 =00=C2 =87" [gnus-article-marked-p expire unread] 2]() funcall(#[nil "=C0=C1!?=85 =00=C2 =87" [gnus-article-marked-p expire unre= ad] 2]) (not (funcall gnus-newsgroup-display)) (and gnus-newsgroup-display (not (eq gnus-newsgroup-display ...)) (not (f= uncall gnus-newsgroup-display))) (or (and (memq number gnus-newsgroup-dormant) (zerop children)) (and (or = ... ...) (gnus-summary-article-ancient-p number) (zerop children)) (and (eq= gnus-fetch-old-headers ...) (gnus-summary-article-ancient-p number)) (and = (eq gnus-build-sparse-threads ...) (gnus-summary-article-sparse-p number) (= zerop children)) (when (and gnus-summary-expunge-below ...) (incf gnus-news= group-expunged-tally) (when ... ... ...) t) (and gnus-newsgroup-display (no= t ...) (not ...)) (if (and gnus-use-nocem ...) (progn ... t))) (and (not (memq number gnus-newsgroup-marked)) (or (and ... ...) (and ...= ... ...) (and ... ...) (and ... ... ...) (when ... ... ... t) (and gnus-ne= wsgroup-display ... ...) (if ... ...))) (if (and (not ...) (or ... ... ... ... ... ... ...)) 0 (push number gnus-= newsgroup-limit) 1) (let ((children ...) (number ...) score) (if (and ... ...) 0 (push number= gnus-newsgroup-limit) 1)) (progn (let (... ... score) (if ... 0 ... 1))) (if thread (progn (let ... ...))) (when thread (let (... ... score) (if ... 0 ... 1))) gnus-summary-limit-children(([9758 "SHARCNET at UWO" "Allan B MacIsaac " "Mon, 30 Jul 2001 10:38:44 -0400 (EDT)" "" "" 4444 42 "scratchy generic:9758" = (...)])) mapcar(gnus-summary-limit-children (([9758 "SHARCNET at UWO" "Allan B Mac= Isaac " "Mon, 30 Jul 2001 10:38:44 -0400 (EDT)"= "" "" 4444 42 "scratchy generi= c:9758" ...]))) (apply (quote +) (mapcar (quote gnus-summary-limit-children) (cdr thread)= )) (if (cdr thread) (apply (quote +) (mapcar ... ...)) 0) (let ((children ...) (number ...) score) (if (and ... ...) 0 (push number= gnus-newsgroup-limit) 1)) (progn (let (... ... score) (if ... 0 ... 1))) (if thread (progn (let ... ...))) (when thread (let (... ... score) (if ... 0 ... 1))) gnus-summary-limit-children(([9757 "Re: SHARCNET Fellowships: Call for pr= oposals" "Cindy Munro " "Mon, 30 Jul 2001 10:07:05 -0400 (EDT= )" "" "<3B6067CD.4= E37C10A@cmrg.apmaths.uwo.ca>" 4777 64 "scratchy generic:9757" (...)] ([9758= "SHARCNET at UWO" "Allan B MacIsaac " "Mon, 30= Jul 2001 10:38:44 -0400 (EDT)" "" "" 4444 42 "scratchy generic:9758" ...]))) mapcar(gnus-summary-limit-children (([9757 "Re: SHARCNET Fellowships: Cal= l for proposals" "Cindy Munro " "Mon, 30 Jul 2001 10:07:05 -0= 400 (EDT)" "" "<3B= 6067CD.4E37C10A@cmrg.apmaths.uwo.ca>" 4777 64 "scratchy generic:9757" ...] = ([9758 "SHARCNET at UWO" "Allan B MacIsaac " "M= on, 30 Jul 2001 10:38:44 -0400 (EDT)" "" "" 4444 42 "scratchy generic:9758" ...])))) (apply (quote +) (mapcar (quote gnus-summary-limit-children) (cdr thread)= )) (if (cdr thread) (apply (quote +) (mapcar ... ...)) 0) (let ((children ...) (number ...) score) (if (and ... ...) 0 (push number= gnus-newsgroup-limit) 1)) (progn (let (... ... score) (if ... 0 ... 1))) (if thread (progn (let ... ...))) (when thread (let (... ... score) (if ... 0 ... 1))) gnus-summary-limit-children(([9710 "SHARCNET Fellowships: Call for propos= als" "\"Peter H. Poole\" " "Thu, 26 Jul 2001 14:= 56:13 -0400" "<3B6067CD.4E37C10A@cmrg.apmaths.uwo.ca>" "<382B7631.C041AD59@= cmrg.apmaths.uwo.ca> <3B49C29F.D31A0D51@cmrg.apmaths.uwo.ca>" 168256 2309 "= scratchy generic:9710" (...)] ([9757 "Re: SHARCNET Fellowships: Call for pr= oposals" "Cindy Munro " "Mon, 30 Jul 2001 10:07:05 -0400 (EDT= )" "" "<3B6067CD.4= E37C10A@cmrg.apmaths.uwo.ca>" 4777 64 "scratchy generic:9757" ...] ([9758 "= SHARCNET at UWO" "Allan B MacIsaac " "Mon, 30 J= ul 2001 10:38:44 -0400 (EDT)" "" "" 4444 42 "scratchy generic:9758" ...])))) (if (and gnus-thread-expunge-below (< ... gnus-thread-expunge-below)) (gn= us-expunge-thread (pop nodes)) (setq thread (pop nodes)) (gnus-summary-limi= t-children thread)) (while nodes (if (and gnus-thread-expunge-below ...) (gnus-expunge-thread= ...) (setq thread ...) (gnus-summary-limit-children thread))) (let ((nodes ...) thread) (while nodes (if ... ... ... ...))) (if (car (symbol-value node)) nil (let (... thread) (while nodes ...))) (unless (car (symbol-value node)) (let (... thread) (while nodes ...))) (lambda (node) (unless (car ...) (let ... ...)))(<3B49C29F\.D31A0D51@cmrg= \.apmaths\.uwo\.ca>) mapatoms((lambda (node) (unless (car ...) (let ... ...))) [0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 <3206878724608364@naggum\.net> <200108170928\.DAA14434@xx= x\.lanl\.gov> 0 0 <0997629519\.0750506837@inbound\.canada\.com\.criticalpat= h\.net> 0 0 0 0 0 0 <5bbslmradh\.fsf@lister\.idonex\.se> 0 0 0 0 0 0 0 0 0 0 0 0 0 <15229\.29817\.637021\.918722@eps\.austin\.ibm\.com> 0 none 0 0 0= 0 ...]) (if (or gnus-inhibit-limiting (and ... ... ... ... ... ... ... ... ... ..= .)) nil (push gnus-newsgroup-limit gnus-newsgroup-limits) (setq gnus-newsgr= oup-limit nil) (mapatoms (lambda ... ...) gnus-newsgroup-dependencies) (whe= n (and ... show-if-empty) (setq gnus-newsgroup-limit ...)) gnus-newsgroup-l= imit) gnus-summary-initial-limit(200) (let ((gnus-newsgroup-dormant nil)) (gnus-summary-initial-limit show-all)) (if show-all (let (...) (gnus-summary-initial-limit show-all)) (gnus-summ= ary-initial-limit show-all)) (if gnus-show-threads (if show-all (let ... ...) (gnus-summary-initial-li= mit show-all)) (setq gnus-newsgroup-limit (mapcar ... gnus-newsgroup-header= s))) (cond ((not new-group) (gnus-set-global-variables) (when kill-buffer ...)= (gnus-configure-windows ... ...) (gnus-set-mode-line ...) (gnus-summary-po= sition-point) (message "") t) ((null did-select) (when ... ... ...) (let ..= . ...) nil) ((eq did-select ...) (and ... ... ...) (when kill-buffer ...) (= if ... ... ...) (signal ... nil)) (t (gnus-set-global-variables) (setq gnus= -newsgroup-active ...) (gnus-run-hooks ...) (gnus-update-format-specificati= ons nil ... ... ...) (gnus-update-summary-mark-positions) (when gnus-use-sc= oring ...) (when gnus-build-sparse-threads ...) (if gnus-show-threads ... .= ..) (unless no-display ...) (when gnus-use-trees ... ...) (when ... ...) (g= nus-run-hooks ...) (if ... ... ... ... ... ... ... ... t))) (let* ((new-group ...) (quit-config ...) (did-select ...)) (cond (... ...= ... ... ... ... ... t) (... ... ... nil) (... ... ... ... ...) (t ... ... = ... ... ... ... ... ... ... ... ... ... ...))) gnus-summary-read-group-1("nnfolder:generic" 200 nil nil nil nil) (or (gnus-summary-read-group-1 group show-all no-article kill-buffer no-d= isplay select-articles) (setq show-all nil select-articles nil)) (let ((gnus-auto-select-next nil)) (or (gnus-summary-read-group-1 group s= how-all no-article kill-buffer no-display select-articles) (setq show-all n= il select-articles nil))) (setq result (let (...) (or ... ...))) (null (setq result (let ... ...))) (and group (null (setq result ...)) (eq gnus-auto-select-next (quote quie= tly))) (while (and group (null ...) (eq gnus-auto-select-next ...)) (set-buffer = gnus-group-buffer) (when backward (gnus-group-prev-unread-group 2)) (if (no= t ...) (setq group ...) (setq group nil))) (let (result) (while (and group ... ...) (set-buffer gnus-group-buffer) (= when backward ...) (if ... ... ...)) result) gnus-summary-read-group("nnfolder:generic" 200 nil nil nil nil nil) gnus-group-read-group(200 nil nil) gnus-topic-read-group(200) call-interactively(gnus-topic-read-group) --=20 Dan Christensen jdc+news@uwo.ca