From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/57428 Path: main.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: Wizards! I mean, Assistants! Date: Mon, 17 May 2004 19:05:02 +0200 Organization: Programmerer Ingebrigtsen Sender: ding-owner@lists.math.uh.edu Message-ID: References: <4nd653nm2i.fsf@lifelogs.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1084813553 14464 80.91.224.253 (17 May 2004 17:05:53 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 17 May 2004 17:05:53 +0000 (UTC) Original-X-From: ding-owner+M5968@lists.math.uh.edu Mon May 17 19:05:48 2004 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BPlYi-0003E2-00 for ; Mon, 17 May 2004 19:05:48 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1BPlYY-0005Hw-00; Mon, 17 May 2004 12:05:38 -0500 Original-Received: from util2.math.uh.edu ([129.7.128.23]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1BPlYT-0005Hr-00 for ding@lists.math.uh.edu; Mon, 17 May 2004 12:05:33 -0500 Original-Received: from justine.libertine.org ([66.139.78.221] ident=postfix) by util2.math.uh.edu with esmtp (Exim 4.30) id 1BPlYT-00017S-Ay for ding@lists.math.uh.edu; Mon, 17 May 2004 12:05:33 -0500 Original-Received: from main.gmane.org (main.gmane.org [80.91.224.249]) by justine.libertine.org (Postfix) with ESMTP id 9107B3A0050 for ; Mon, 17 May 2004 12:05:32 -0500 (CDT) Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1BPlYR-0003Y9-00 for ; Mon, 17 May 2004 19:05:31 +0200 Original-Received: from quimbies.gnus.org ([80.91.231.2]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 17 May 2004 19:05:31 +0200 Original-Received: from larsi by quimbies.gnus.org with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 17 May 2004 19:05:31 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-To: ding@gnus.org Original-Lines: 65 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: quimbies.gnus.org Mail-Copies-To: never X-Now-Playing: Coil's _Astral Disaster_: "2nd Sun Syndrome" User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:yG+jLiv4AskHgeFm2J/jMO8HLMY= Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:57428 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:57428 "Ted Zlatanov" writes: > I agree, but I think this should come once (1) is done. Perhaps a > very simple q&a renderer (nothing but minibuffer queries) should be > the first step for testing. Yup. > There should be distinct sections for expected variables, > initialization, validation, resetting, and undo (going back). They > won't always be used, but the ability should be there. This is how I > would do it (to be parsed by ELisp): But I don't want to repeat stuff more than I have to, so it should use sensible defaults as often as possible. > (assistant-pages > (assistant 'nntp-server "NNTP server setup" 1 ; assistant name, title, page# > '((produces '(server string) '(port integer)) > > (initialize > server (gnus-getenv-nntpserver) > port 119) > > (reset 'redo-initialize) > > (undo 'redo-initialize) > > (validate > (server port) 'user-override [open-network-stream code goes here]) > > So you want to read news. The news server to use is `server'; port > number `port'. > ))) I think one of the reasons that HTML is successful is that it's 1) text-like, and 2) sloppy. Matching parentheses around blocks of free text (which may contain more parentheses) requires more rigor. So I think I'd go with something -like, but with Lisp sections. I think. > The (produces) section is crucial. It lets us specify the exact thing > this assistant will create, and further assistant pages can use these > variables also. Yes... but in this example they mostly just repeat what's in the text, so that section could default to those. --- So you want to read news. The news server to use is (? server string (gnus-getenv-nntpserver)) --- Hm. I think I like your version better. :-) But I think the `produces' and `initialize' sections can be mushed together. > For validation, there should be a way to specify that the user can > override the validation or not; for instance the NNTP server may be > down but still it needs to be made active. That's true. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen