From mvilleneuve at common-lisp.net Wed Jan 3 07:54:00 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 02:54:00 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test Message-ID: <20070103075400.04FAC48145@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test In directory clnet:/tmp/cvs-serv16040/Test Log Message: Directory /project/stamp/cvsroot/stamp/Test added to the repository From mvilleneuve at common-lisp.net Wed Jan 3 07:54:55 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 02:54:55 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test/maildir Message-ID: <20070103075455.0E72D48189@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test/maildir In directory clnet:/tmp/cvs-serv16182/maildir Log Message: Directory /project/stamp/cvsroot/stamp/Test/maildir added to the repository From mvilleneuve at common-lisp.net Wed Jan 3 07:55:40 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 02:55:40 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test/maildir/cur Message-ID: <20070103075540.ACF604F00F@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test/maildir/cur In directory clnet:/tmp/cvs-serv16380/cur Log Message: Directory /project/stamp/cvsroot/stamp/Test/maildir/cur added to the repository From mvilleneuve at common-lisp.net Wed Jan 3 07:55:40 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 02:55:40 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test/maildir/new Message-ID: <20070103075540.DAB074F00F@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test/maildir/new In directory clnet:/tmp/cvs-serv16380/new Log Message: Directory /project/stamp/cvsroot/stamp/Test/maildir/new added to the repository From mvilleneuve at common-lisp.net Wed Jan 3 07:55:41 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 02:55:41 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test/maildir/tmp Message-ID: <20070103075541.13E794F00F@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test/maildir/tmp In directory clnet:/tmp/cvs-serv16380/tmp Log Message: Directory /project/stamp/cvsroot/stamp/Test/maildir/tmp added to the repository From mvilleneuve at common-lisp.net Wed Jan 3 07:56:26 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 02:56:26 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test/maildir/cur Message-ID: <20070103075626.1A78B50024@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test/maildir/cur In directory clnet:/tmp/cvs-serv16557/maildir/cur Added Files: 1167748389.13017_80.localhost 1167748390.13017_105.localhost 1167748390.13017_113.localhost 1167748391.13017_125.localhost 1167748391.13017_135.localhost 1167748392.13017_140.localhost 1167748392.13017_146.localhost 1167748392.13017_149.localhost 1167748392.13017_150.localhost Log Message: Initial import --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748389.13017_80.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748389.13017_80.localhost 2007/01/03 07:56:26 1.1 Return-Path: Delivered-To: online.fr-matthieu.villeneuve at free.fr Received: (qmail 32434 invoked from network); 31 Dec 2006 06:06:23 -0000 Received: from 80.68.86.115 (HELO common-lisp.net) (80.68.86.115) by mrelay5-1.free.fr with SMTP; 31 Dec 2006 06:06:23 -0000 Received: by common-lisp.net (Postfix) id EDA4531035; Sun, 31 Dec 2006 01:05:52 -0500 (EST) Delivered-To: mvilleneuve at common-lisp.net Received: by common-lisp.net (Postfix, from userid 65534) id D640B31041; Sun, 31 Dec 2006 01:05:52 -0500 (EST) Received: from common-lisp.net (localhost [127.0.0.1]) by common-lisp.net (Postfix) with ESMTP id 047E731035 for ; Sun, 31 Dec 2006 01:05:50 -0500 (EST) X-Original-To: stamp-devel at common-lisp.net Delivered-To: stamp-devel at common-lisp.net Received: by common-lisp.net (Postfix, from userid 65534) id 6625731035; Sun, 31 Dec 2006 01:05:49 -0500 (EST) Received: from iona.labri.fr (iona.labri.fr [147.210.8.143]) by common-lisp.net (Postfix) with ESMTP id DFB3B21049 for ; Sun, 31 Dec 2006 01:05:41 -0500 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by iona.labri.fr (Postfix) with ESMTP id 3AE64101852 for ; Sun, 31 Dec 2006 07:05:41 +0100 (CET) X-Virus-Scanned: amavisd-new at labri.fr Received: from iona.labri.fr ([127.0.0.1]) by localhost (iona.labri.fr [127.0.0.1]) (amavisd-new, port 10024) with LMTP id y5I7di8O9vLb for ; Sun, 31 Dec 2006 07:05:39 +0100 (CET) Received: from serveur5.labri.fr (serveur5.labri.fr [147.210.9.207]) by iona.labri.fr (Postfix) with ESMTP id 3C1C4101763 for ; Sun, 31 Dec 2006 07:05:39 +0100 (CET) Received: by serveur5.labri.fr (Postfix, from userid 1047) id CDB7E3ABB0; Sun, 31 Dec 2006 07:05:38 +0100 (CET) From: Robert Strandh Message-ID: <17815.21298.484324.673931 at serveur5.labri.fr> Date: Sun, 31 Dec 2006 07:05:38 +0100 To: stamp-devel at common-lisp.net Subject: [stamp-devel] Some initial thoughts X-BeenThere: stamp-devel at common-lisp.net X-Mailman-Version: 2.1.5 Precedence: list List-Id: stamp-devel.common-lisp.net List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: stamp-devel-bounces at common-lisp.net Errors-To: stamp-devel-bounces at common-lisp.net X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on clnet X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00 autolearn=unavailable version=3.0.3 1) I have checked in stamp.lisp and a very preliminary specification in Spec/spec.text 2) Using mel-base is going to create some problems. For one thing, mes-base seems to use base-string and base-char a lot, but that seems to be incompatible with the kind of strings used by SBCL. The solution would be to fix the declarations in mel-base. Perhaps this has already been fixed; I tripped on this problem by using an old version of mel-base. Another problem with mel-base is that it can't handle non-ascii contents of message headers and message bodies. The solution to this problem seems to be to make mel-base use flexi-streams, to scan the header in ascii mode with a default character (as flexi-streams allow) of (say) #\?, and to set the encoding of the stream for the body to whatever the content-type/charset header indicates (with a default of ascii as for the header). This would require some digging into the mel-base code, but I think it can be done. Mel-base is pretty well written. To get around this problem until mel-base is fixed, I suggest using a test folder that has only ascii characters in all of the messages. We don't want to use the `messages' function on a folder, simply because it scans the entire directory and we might have a million files in there. Instead, we must select an individual message based on the tags list, and let mel-base scan that individual message. 3) I am working on a list of priorities. I think I'll post it here and leave it open to debate. In a week or so, we should have nailed the priorities so that the students know what to work on and in which order. 4) I still intend to convert the existing Stamp code to use the ESA library, but I don't know at which speed this will happen. It would be good to have something running in a week or so. 5) We need to think about file and package structures. We should definitely create an ASDF file (named `stamp.asd'), and a `packages.lisp' file. The main package should be called `stamp', and should contain only exported symbols. Other packages used for implementation should :use the stamp package (I learned this trick from CLIM). We need to decide what other packages are required. For now, let's say we only need one: stamp-internals, perhaps with a nick name of `stampi'. We should probably have this working in a week or so as well. Comments? -- Robert Strandh --------------------------------------------------------------------- Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. --------------------------------------------------------------------- _______________________________________________ stamp-devel mailing list stamp-devel at common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/stamp-devel --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748390.13017_105.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748390.13017_105.localhost 2007/01/03 07:56:26 1.1 Return-Path: Delivered-To: online.fr-matthieu.villeneuve at free.fr Received: (qmail 18108 invoked from network); 25 Dec 2006 23:36:18 -0000 Received: from 63.240.77.85 (HELO sccrmhc15.comcast.net) (63.240.77.85) by mrelay5-1.free.fr with SMTP; 25 Dec 2006 23:36:18 -0000 Received: from [192.168.0.3] (c-24-61-15-96.hsd1.ma.comcast.net[24.61.15.96]) by comcast.net (sccrmhc15) with SMTP id <20061225233609015004ueb1e>; Mon, 25 Dec 2006 23:36:15 +0000 Date: Mon, 25 Dec 2006 18:37:33 -0500 (EST) From: Daniel Herring X-X-Sender: nuntius at strider1.home.net To: matthieu.villeneuve at free.fr Subject: Imago Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-651109464-1167089853=:2753" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-651109464-1167089853=:2753 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Hi, The attached file contains some type declarations; these double the speed of imago:convolve on my computer. Later, Daniel --8323328-651109464-1167089853=:2753 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=color.lisp Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=color.lisp Ozs7IElNQUdPIGxpYnJhcnkNCjs7OyBDb2xvciBvcGVyYXRpb25zDQo7OzsN Cjs7OyBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNSAgTWF0dGhpZXUgVmlsbGVu ZXV2ZSAobWF0dGhpZXUudmlsbGVuZXV2ZUBmcmVlLmZyKQ0KOzs7DQo7Ozsg VGhlIGF1dGhvcnMgZ3JhbnQgeW91IHRoZSByaWdodHMgdG8gZGlzdHJpYnV0 ZQ0KOzs7IGFuZCB1c2UgdGhpcyBzb2Z0d2FyZSBhcyBnb3Zlcm5lZCBieSB0 aGUgdGVybXMNCjs7OyBvZiB0aGUgTGlzcCBMZXNzZXIgR05VIFB1YmxpYyBM aWNlbnNlDQo7OzsgKGh0dHA6Ly9vcGVuc291cmNlLmZyYW56LmNvbS9wcmVh bWJsZS5odG1sKSwNCjs7OyBrbm93biBhcyB0aGUgTExHUEwuDQoNCg0KKGlu LXBhY2thZ2UgOmltYWdvKQ0KDQoNCihkZWZ0eXBlIHJnYi1waXhlbCAoKSAn KHVuc2lnbmVkLWJ5dGUgMzIpKQ0KDQooZGVmdHlwZSBncmF5c2NhbGUtcGl4 ZWwgKCkgJyh1bnNpZ25lZC1ieXRlIDE2KSkNCg0KKGRlZnR5cGUgaW5kZXhl ZC1waXhlbCAoKSAnKHVuc2lnbmVkLWJ5dGUgOCkpDQoNCihkZWZ0eXBlIHBs YW5hci1waXhlbCAoJm9wdGlvbmFsIChwbGFuZS1jb3VudCAnKikpDQogIGAo dW5zaWduZWQtYnl0ZSAscGxhbmUtY291bnQpKQ0KDQooZGVjbGFpbSAoaW5s aW5lIG1ha2UtZ3JheSBncmF5LWludGVuc2l0eSBncmF5LWFscGhhIGludmVy dC1ncmF5KSkNCg0KKGRlZnVuIG1ha2UtZ3JheSAoaW50ZW5zaXR5ICZvcHRp b25hbCAoYWxwaGEgI3hmZikpDQogICh0aGUgZ3JheXNjYWxlLXBpeGVsIChs b2dpb3IgKGFzaCBhbHBoYSA4KSBpbnRlbnNpdHkpKSkNCg0KKGRlZnVuIGdy YXktaW50ZW5zaXR5IChncmF5KQ0KICAodGhlICh1bnNpZ25lZC1ieXRlIDgp IChsZGIgKGJ5dGUgOCAwKSBncmF5KSkpDQoNCihkZWZ1biBncmF5LWFscGhh IChncmF5KQ0KICAodGhlICh1bnNpZ25lZC1ieXRlIDgpIChsZGIgKGJ5dGUg OCA4KSBncmF5KSkpDQoNCihkZWZ1biBpbnZlcnQtZ3JheSAoZ3JheSkNCiAg KGxvZ2lvciAobG9nbm90IChsb2dhbmQgZ3JheSAjeDAwZmYpKQ0KICAgICAg ICAgIChsb2dhbmQgZ3JheSAjeGZmMDApKSkNCg0KKGRlY2xhaW0gKGlubGlu ZSBtYWtlLWNvbG9yIGNvbG9yLXJlZCBjb2xvci1ncmVlbiBjb2xvci1ibHVl IGNvbG9yLWFscGhhDQogICAgICAgICAgICAgICAgIGNvbG9yLXJnYiBjb2xv ci1hcmdiIGNvbG9yLWludGVuc2l0eSBpbnZlcnQtY29sb3IpKQ0KDQooZGVm dW4gbWFrZS1jb2xvciAociBnIGIgJm9wdGlvbmFsIChhbHBoYSAjeGZmKSkN CiAgKGRlY2xhcmUgKHR5cGUgKHVuc2lnbmVkLWJ5dGUgOCkgcikNCiAgICAg ICAgICAgKHR5cGUgKHVuc2lnbmVkLWJ5dGUgOCkgZykNCiAgICAgICAgICAg KHR5cGUgKHVuc2lnbmVkLWJ5dGUgOCkgYikNCiAgICAgICAgICAgKHR5cGUg KHVuc2lnbmVkLWJ5dGUgOCkgYWxwaGEpKQ0KICAodGhlIHJnYi1waXhlbCAo bG9naW9yIChhc2ggYWxwaGEgMjQpIChhc2ggciAxNikgKGFzaCBnIDgpIGIp KSkNCg0KKGRlZnVuIGNvbG9yLXJlZCAoY29sb3IpDQogIChkZWNsYXJlICh0 eXBlIHJnYi1waXhlbCBjb2xvcikpDQogICh0aGUgKHVuc2lnbmVkLWJ5dGUg OCkgKGxkYiAoYnl0ZSA4IDE2KSBjb2xvcikpKQ0KDQooZGVmdW4gY29sb3It Z3JlZW4gKGNvbG9yKQ0KICAoZGVjbGFyZSAodHlwZSByZ2ItcGl4ZWwgY29s b3IpKQ0KICAodGhlICh1bnNpZ25lZC1ieXRlIDgpIChsZGIgKGJ5dGUgOCA4 KSBjb2xvcikpKQ0KDQooZGVmdW4gY29sb3ItYmx1ZSAoY29sb3IpDQogIChk ZWNsYXJlICh0eXBlIHJnYi1waXhlbCBjb2xvcikpDQogICh0aGUgKHVuc2ln bmVkLWJ5dGUgOCkgKGxkYiAoYnl0ZSA4IDApIGNvbG9yKSkpDQoNCihkZWZ1 biBjb2xvci1hbHBoYSAoY29sb3IpDQogIChkZWNsYXJlICh0eXBlIHJnYi1w aXhlbCBjb2xvcikpDQogICh0aGUgKHVuc2lnbmVkLWJ5dGUgOCkgKGxkYiAo Ynl0ZSA4IDI0KSBjb2xvcikpKQ0KDQooZGVmdW4gY29sb3ItcmdiIChjb2xv cikNCiAgKGRlY2xhcmUgKHR5cGUgcmdiLXBpeGVsIGNvbG9yKSkNCiAgKHZh bHVlcyAoY29sb3ItcmVkIGNvbG9yKQ0KICAgICAgICAgIChjb2xvci1ncmVl biBjb2xvcikNCiAgICAgICAgICAoY29sb3ItYmx1ZSBjb2xvcikpKQ0KDQoo ZGVmdW4gY29sb3ItYXJnYiAoY29sb3IpDQogIChkZWNsYXJlICh0eXBlIHJn Yi1waXhlbCBjb2xvcikpDQogICh2YWx1ZXMgKGNvbG9yLWFscGhhIGNvbG9y KQ0KICAgICAgICAgIChjb2xvci1yZWQgY29sb3IpDQogICAgICAgICAgKGNv bG9yLWdyZWVuIGNvbG9yKQ0KICAgICAgICAgIChjb2xvci1ibHVlIGNvbG9y KSkpDQoNCihkZWZ1biBjb2xvci1pbnRlbnNpdHkgKGNvbG9yKQ0KICAoZGVj bGFyZSAodHlwZSByZ2ItcGl4ZWwgY29sb3IpKQ0KICAobXVsdGlwbGUtdmFs dWUtYmluZCAociBnIGIpDQogICAgICAoY29sb3ItcmdiIGNvbG9yKQ0KICAg IChmbG9vciAoKyByIGcgYikgMykpKQ0KDQooZGVmdW4gaW52ZXJ0LWNvbG9y IChjb2xvcikNCiAgKGRlY2xhcmUgKHR5cGUgcmdiLXBpeGVsIGNvbG9yKSkN CiAgKGxvZ2lvciAobG9nbm90IChsb2dhbmQgY29sb3IgI3gwMGZmZmZmZikp DQogICAgICAgICAgKGxvZ2FuZCBjb2xvciAjeGZmMDAwMDAwKSkpDQoNCihk ZWZ1biBjbG9zZXN0LWNvbG9ydGFibGUtZW50cnkgKGNvbG9yIHRhYmxlKQ0K ICAoZGVjbGFyZSAodHlwZSByZ2ItcGl4ZWwgY29sb3IpKQ0KICAobXVsdGlw bGUtdmFsdWUtYmluZCAoY29sb3ItciBjb2xvci1nIGNvbG9yLWIpDQogICAg ICAoY29sb3ItcmdiIGNvbG9yKQ0KICAgIChtdWx0aXBsZS12YWx1ZS1iaW5k IChlbGVtZW50IGluZGV4IHNjb3JlKQ0KICAgICAgICAoYmVzdC1pbi1hcnJh eSAobGFtYmRhIChjKQ0KICAgICAgICAgICAgICAgICAgICAgICAgIChtdWx0 aXBsZS12YWx1ZS1iaW5kIChyIGcgYikNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbG9yLXJnYiBjKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCsgKHNxdWFyZSAoLSByIGNvbG9yLXIpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHNxdWFyZSAoLSBnIGNvbG9yLWcpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNxdWFyZSAoLSBiIGNvbG9y LWIpKSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICB0YWJsZQ0KICAgICAg ICAgICAgICAgICAgICAgICA6dGVzdCAjJzwpDQogICAgICAoZGVjbGFyZSAo aWdub3JlIGVsZW1lbnQgc2NvcmUpKQ0KICAgICAgaW5kZXgpKSkNCg0KKGRl ZnVuIG1ha2Utc2ltcGxlLWdyYXktY29sb3JtYXAgKCkNCiAgKGxldCAoKGNv bG9ybWFwIChtYWtlLWFycmF5IDI1NiA6ZWxlbWVudC10eXBlICdyZ2ItcGl4 ZWwpKSkNCiAgICAoZG90aW1lcyAoaSAyNTYpDQogICAgICAoc2V0ZiAoYXJl ZiBjb2xvcm1hcCBpKSAobWFrZS1jb2xvciBpIGkgaSkpKQ0KICAgIGNvbG9y bWFwKSkNCg0KKGRlZnZhciArd2hpdGUrIChtYWtlLWNvbG9yICN4ZmYgI3hm ZiAjeGZmKSkNCihkZWZ2YXIgK2JsYWNrKyAobWFrZS1jb2xvciAjeDAwICN4 MDAgI3gwMCkpDQooZGVmdmFyICtyZWQrIChtYWtlLWNvbG9yICN4ZmYgI3gw MCAjeDAwKSkNCihkZWZ2YXIgK2dyZWVuKyAobWFrZS1jb2xvciAjeDAwICN4 ZmYgI3gwMCkpDQooZGVmdmFyICtibHVlKyAobWFrZS1jb2xvciAjeDAwICN4 MDAgI3hmZikpDQooZGVmdmFyICtjeWFuKyAobWFrZS1jb2xvciAjeDAwICN4 ZmYgI3hmZikpDQooZGVmdmFyICttYWdlbnRhKyAobWFrZS1jb2xvciAjeGZm ICN4MDAgI3hmZikpDQooZGVmdmFyICt5ZWxsb3crIChtYWtlLWNvbG9yICN4 ZmYgI3hmZiAjeDAwKSkNCg== --8323328-651109464-1167089853=:2753-- --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748390.13017_113.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748390.13017_113.localhost 2007/01/03 07:56:26 1.1 Return-Path: Delivered-To: online.fr-matthieu.villeneuve at free.fr Received: (qmail 4944 invoked from network); 8 Dec 2006 06:52:00 -0000 Received: from 80.68.86.115 (HELO common-lisp.net) (80.68.86.115) by mrelay5-1.free.fr with SMTP; 8 Dec 2006 06:52:00 -0000 Received: by common-lisp.net (Postfix) id 662285832E; Fri, 8 Dec 2006 01:51:03 -0500 (EST) Delivered-To: mvilleneuve at common-lisp.net Received: by common-lisp.net (Postfix, from userid 65534) id 590EC58204; Fri, 8 Dec 2006 01:51:03 -0500 (EST) Received: from common-lisp.net (localhost [127.0.0.1]) by common-lisp.net (Postfix) with ESMTP id A00225832A for ; Fri, 8 Dec 2006 01:51:02 -0500 (EST) X-Original-To: stamp-devel at common-lisp.net Delivered-To: stamp-devel at common-lisp.net Received: by common-lisp.net (Postfix, from userid 65534) id 4F32D5832B; Fri, 8 Dec 2006 01:51:01 -0500 (EST) Received: from iona.labri.fr (iona.labri.fr [147.210.8.143]) by common-lisp.net (Postfix) with ESMTP id 93AE758204 for ; Fri, 8 Dec 2006 01:51:00 -0500 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by iona.labri.fr (Postfix) with ESMTP id 67CC710176E for ; Fri, 8 Dec 2006 07:51:57 +0100 (CET) X-Virus-Scanned: amavisd-new at labri.fr Received: from iona.labri.fr ([127.0.0.1]) by localhost (iona.labri.fr [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 9yE1tMKvMLCG for ; Fri, 8 Dec 2006 07:51:57 +0100 (CET) Received: from serveur5.labri.fr (serveur5.labri.fr [147.210.9.207]) by iona.labri.fr (Postfix) with ESMTP id 12B2C101763 for ; Fri, 8 Dec 2006 07:51:57 +0100 (CET) Received: by serveur5.labri.fr (Postfix, from userid 1047) id C7DAE3ABAF; Fri, 8 Dec 2006 07:51:56 +0100 (CET) From: Robert Strandh Message-ID: <17785.2956.526233.676087 at serveur5.labri.fr> Date: Fri, 8 Dec 2006 07:51:56 +0100 To: stamp-devel at common-lisp.net X-Mailer: VM 6.92 under Emacs 21.3.1 Subject: [stamp-devel] what language? X-BeenThere: stamp-devel at common-lisp.net X-Mailman-Version: 2.1.5 Precedence: list List-Id: stamp-devel.common-lisp.net List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: stamp-devel-bounces at common-lisp.net Errors-To: stamp-devel-bounces at common-lisp.net X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on clnet X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.0.3 Hello, Since this list is archived and since there is likely to be people here in the future who do not understand French, I suggest we use English for this list. OK? -- Robert Strandh --------------------------------------------------------------------- Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. --------------------------------------------------------------------- _______________________________________________ stamp-devel mailing list stamp-devel at common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/stamp-devel --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748391.13017_125.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748391.13017_125.localhost 2007/01/03 07:56:26 1.1 Return-Path: Delivered-To: online.fr-matthieu.villeneuve at free.fr Received: (qmail 15383 invoked from network); 4 Nov 2006 21:55:45 -0000 Received: from 80.68.86.115 (HELO common-lisp.net) (80.68.86.115) by mrelay4-2.free.fr with SMTP; 4 Nov 2006 21:55:45 -0000 Received: by common-lisp.net (Postfix, from userid 65534) id 3E53749031; Sat, 4 Nov 2006 16:55:17 -0500 (EST) Received: from common-lisp.net (localhost [127.0.0.1]) by common-lisp.net (Postfix) with ESMTP id 9A3057E006; Sat, 4 Nov 2006 16:55:15 -0500 (EST) X-Original-To: mcclim-devel at common-lisp.net Delivered-To: mcclim-devel at common-lisp.net Received: by common-lisp.net (Postfix, from userid 65534) id 29F4D7E005; Sat, 4 Nov 2006 16:55:13 -0500 (EST) Received: from pfepb.post.tele.dk (pfepb.post.tele.dk [195.41.46.236]) by common-lisp.net (Postfix) with ESMTP id DA84D7E003 for ; Sat, 4 Nov 2006 16:55:10 -0500 (EST) Received: from brainiac (0x50a157d6.albnxx15.adsl-dhcp.tele.dk [80.161.87.214]) by pfepb.post.tele.dk (Postfix) with ESMTP id CB6B8A5002D for ; Sat, 4 Nov 2006 22:55:27 +0100 (CET) To: mcclim-devel at common-lisp.net From: Troels Henriksen Date: Sat, 04 Nov 2006 22:55:29 +0100 Message-ID: <87velulvvy.fsf at sigkill.dk> User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/22.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [mcclim-devel] Drei - a replacement for Goatee X-BeenThere: mcclim-devel at common-lisp.net X-Mailman-Version: 2.1.5 Precedence: list List-Id: mcclim-devel.common-lisp.net List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: mcclim-devel-bounces at common-lisp.net Errors-To: mcclim-devel-bounces at common-lisp.net X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on clnet X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00 autolearn=unavailable version=3.0.3 For a while, I have been working on something I call Drei (acronym currently ambiguous - I like Drei Replaces EINE's Inheritor personally, but Drei Reimplements Emacs Internals is also nice). It's a CLIM editing component based on Climacs, that I have used to implement a text-editor gadget, text-field gadget and input-editor (input-editing stream) for McCLIM. I would like to commit this to McCLIM, but due to the fairly large amount of code required (about 17.000 lines), I thought I'd post a description here first to allow people to object, if they see a problem. Due to the large number of added lines, and a few new directories, I have a hard time getting CVS to create a patch. Instead, I have created a tarball containing my modified McCLIM (with the Doc and Webpage folders removed to reduce size). It is available here: http://sigkill.dk/code/mcclim-drei.tar.gz Drei is basically Climacs, but everything that assumes it runs in a dedicated editor application (such as buffer-switching functionality) has been removed. Also, only Lisp syntax and Fundamental syntax is included. Apart from this, a programmatic interface to Drei has been created, as well as an implementation of the CLIM input-editing-stream protocol (based on Goatee code, but extensively modified and completely independent of Goatee) and a minor bit of indirection, that makes requests for :text-editor and :text-field gadgets create Drei gadget panes. Drei cannot be run as an independent application, but it has been designed so that it would be easy to base Climacs on Drei. Since Drei requires much of the functionality of ESA, I also intend to add ESA to McCLIM. This has required me to do a bit of hacking around in mcclim.asd because ESA normally requires McCLIM to be loaded, but due to Drei, it is necessary to load ESA before McCLIM has been fully loaded. Of course, a standard esa.asd is also provided, and while the internals of ESA have been rather extensively modified (especially the command processing code), the API should be fully backwards-compatible. [76 lines skipped] --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748391.13017_135.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748391.13017_135.localhost 2007/01/03 07:56:26 1.1 [131 lines skipped] --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_140.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_140.localhost 2007/01/03 07:56:26 1.1 [197 lines skipped] --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_146.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_146.localhost 2007/01/03 07:56:26 1.1 [245 lines skipped] --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_149.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_149.localhost 2007/01/03 07:56:26 1.1 [295 lines skipped] --- /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_150.localhost 2007/01/03 07:56:26 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/cur/1167748392.13017_150.localhost 2007/01/03 07:56:26 1.1 [361 lines skipped] From mvilleneuve at common-lisp.net Wed Jan 3 08:42:23 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 03:42:23 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070103084223.8097871115@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv28043 Modified Files: stamp.lisp Log Message: Added licence declaration --- /project/stamp/cvsroot/stamp/stamp.lisp 2006/12/31 04:59:50 1.1.1.1 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/03 08:42:22 1.2 @@ -1,3 +1,23 @@ +;;; Stamp +;;; +;;; Copyright (C) 2005-2006 Matthieu Villeneuve (matthieu.villeneuve at free.fr) +;;; Copyright (C) 2006 Robert Strandh (strandh at labri.fr) +;;; +;;; This program is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 2 of the License, or +;;; (at your option) any later version. +;;; +;;; This program is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program; if not, write to the Free Software +;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + (require :asdf) (require :mcclim) (require :climacs) From mvilleneuve at common-lisp.net Wed Jan 3 11:27:56 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Wed, 3 Jan 2007 06:27:56 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070103112756.C68662E1B7@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv311 Modified Files: stamp.lisp Added Files: packages.lisp stamp.asd Log Message: Added ASDF system definition and package definition file --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/03 08:42:22 1.2 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/03 11:27:56 1.3 @@ -1,8 +1,8 @@ -;;; Stamp -;;; +;;; -*- Mode: Lisp; Package: COMMON-LISP-USER -*- + ;;; Copyright (C) 2005-2006 Matthieu Villeneuve (matthieu.villeneuve at free.fr) ;;; Copyright (C) 2006 Robert Strandh (strandh at labri.fr) -;;; + ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or @@ -17,18 +17,7 @@ ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -(require :asdf) -(require :mcclim) -(require :climacs) -(require :mel-base) - -(defpackage :stamp - (:use :cl) - (:export #:stamp - #:set-user-address - #:set-smtp-parameters - #:add-pop3-mailbox)) +;;; Stamp main code (in-package :stamp) --- /project/stamp/cvsroot/stamp/packages.lisp 2007/01/03 11:27:56 NONE +++ /project/stamp/cvsroot/stamp/packages.lisp 2007/01/03 11:27:56 1.1 ;;; -*- Mode: Lisp; Package: COMMON-LISP-USER -*- ;;; Copyright (C) 2006 Matthieu Villeneuve (matthieu.villeneuve at free.fr) ;;; Copyright (C) 2006 Robert Strandh (strandh at labri.fr) ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ;;; Stamp package definitions (in-package :cl-user) (defpackage :stamp (:use :cl) (:export #:stamp #:set-user-address #:set-smtp-parameters #:add-pop3-mailbox)) --- /project/stamp/cvsroot/stamp/stamp.asd 2007/01/03 11:27:56 NONE +++ /project/stamp/cvsroot/stamp/stamp.asd 2007/01/03 11:27:56 1.1 ;;; -*- Mode: Lisp; Package: COMMON-LISP-USER -*- ;;; Copyright (C) 2006 Matthieu Villeneuve (matthieu.villeneuve at free.fr) ;;; Copyright (C) 2006 Robert Strandh (strandh at labri.fr) ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ;;; Stamp system definition (defpackage :stamp.system (:use :common-lisp :asdf)) (in-package :stamp.system) (defsystem :stamp :depends-on (:mcclim :mel-base :climacs) :components ((:file "packages") (:file "stamp" :depends-on ("packages")))) From rstrandh at common-lisp.net Thu Jan 4 03:37:28 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Wed, 3 Jan 2007 22:37:28 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104033728.82D5F100F@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv8795 Modified Files: stamp.lisp Log Message: Changed defconstant to defparameter to simplify compilation during development. --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/03 11:27:56 1.3 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 03:37:26 1.4 @@ -363,7 +363,10 @@ (second parsed-data) (third parsed-data)))))) -(defconstant +boundary+ "---- text follows this line ----") +;;; this should be a defconstant, but it is not very +;;; practical during development, because of the number +;;; of times the file gets reloaded. -- RS 2007-01-04 +(defparameter +boundary+ "---- text follows this line ----") (defun make-temporary-filename () (let ((base (format nil "/tmp/stamp-~A" (get-universal-time)))) From rstrandh at common-lisp.net Thu Jan 4 03:41:04 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Wed, 3 Jan 2007 22:41:04 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104034104.584A130AF@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv10709 Modified Files: stamp.asd Log Message: Make stamp depend on split-sequence --- /project/stamp/cvsroot/stamp/stamp.asd 2007/01/03 11:27:56 1.1 +++ /project/stamp/cvsroot/stamp/stamp.asd 2007/01/04 03:41:04 1.2 @@ -25,6 +25,6 @@ (in-package :stamp.system) (defsystem :stamp - :depends-on (:mcclim :mel-base :climacs) + :depends-on (:mcclim :mel-base :climacs :split-sequence) :components ((:file "packages") (:file "stamp" :depends-on ("packages")))) From rstrandh at common-lisp.net Thu Jan 4 03:55:16 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Wed, 3 Jan 2007 22:55:16 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104035516.AD516111CC@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv12112 Modified Files: stamp.lisp Log Message: Avoid warnings from the compiler by using `frame' rather than clim:*application-frame* when appropriate, and by declaring unused variables to be ignored. --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 03:37:26 1.4 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 03:55:16 1.5 @@ -105,11 +105,12 @@ (clim:with-text-face (pane :bold) (write-string "Folders" pane)) (terpri pane) - (loop with current-folder = (current-folder clim:*application-frame*) - for folder in (folders clim:*application-frame*) + (loop with current-folder = (current-folder frame) + for folder in (folders frame) do (when (eq folder current-folder) (multiple-value-bind (cursor-x cursor-y) (clim:stream-cursor-position pane) + (declare (ignore cursor-x)) (hilight-line pane cursor-y))) (write-string " " pane) ;;(clim-clx::draw-image pane *folder-image* 0 0) @@ -120,10 +121,9 @@ (defun display-headers (frame pane) (clim:with-text-family (pane :sans-serif) (let* ((messages (sort (copy-list (mel:messages - (cdr (current-folder - clim:*application-frame*)))) + (cdr (current-folder frame)))) #'< :key #'mel:date)) - (current-message (current-message clim:*application-frame*)) + (current-message (current-message frame)) (pane-region (clim:pane-viewport-region pane)) (pane-width (- (clim:bounding-rectangle-width pane-region) 20)) (index-width (clim:stream-string-width @@ -145,6 +145,7 @@ do (when (eq message current-message) (multiple-value-bind (cursor-x cursor-y) (clim:stream-cursor-position pane) + (declare (ignore cursor-x)) (hilight-line pane cursor-y))) (print-fixed-width-string pane (princ-to-string index) @@ -165,7 +166,7 @@ (terpri pane))))) (defun display-message (frame pane) - (let ((message (current-message clim:*application-frame*))) + (let ((message (current-message frame))) (when message (clim:with-text-family (pane :sans-serif) (print-properties-as-table @@ -191,6 +192,7 @@ (loop for part in (mel:parts message) do (multiple-value-bind (super-type sub-type) (mel:content-type part) + (declare (ignore sub-type)) (if (eq super-type :text) (let ((length (mel:content-octets part))) (push (get-body-string part length) text-parts)) @@ -220,6 +222,7 @@ (defun get-attached-file-name (part) (multiple-value-bind (super-type sub-type properties) (mel:content-type part) + (declare (ignore super-type sub-type)) (second (member :name properties)))) (define-stamp-command (com-quit :name t) () @@ -323,6 +326,8 @@ (let ((filename (concatenate 'string (namestring (user-homedir-pathname)) (get-attached-file-name part)))) + ;; avoid warnings + (declare (ignore filename)) )) ;;; Message composing @@ -482,6 +487,7 @@ (defun hilight-line (pane y) (multiple-value-bind (pane-x1 pane-y1 pane-x2 pane-y2) (clim:bounding-rectangle* pane) + (declare (ignore pane-y1 pane-y2)) (let ((height (clim:text-style-height clim:*default-text-style* pane))) (clim:draw-rectangle* pane pane-x1 y pane-x2 (+ y height 1) From rstrandh at common-lisp.net Thu Jan 4 06:10:11 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 01:10:11 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Test/maildir Message-ID: <20070104061011.6A19C6D037@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Test/maildir In directory clnet:/tmp/cvs-serv5672 Added Files: tags Log Message: Created tags file for existing messages. --- /project/stamp/cvsroot/stamp/Test/maildir/tags 2007/01/04 06:10:10 NONE +++ /project/stamp/cvsroot/stamp/Test/maildir/tags 2007/01/04 06:10:10 1.1 ("1167748389.13017_80.localhost" :SUBJECT "[stamp-devel] Some initial thoughts" :DATE 3376533938 :FROM "strandh at labri.fr" :TO ("stamp-devel at common-lisp.net") :SENDER "stamp-devel-bounces at common-lisp.net") ("1167748390.13017_105.localhost" :SUBJECT "Imago" :DATE 3376078653 :FROM "dherring at tentpost.com" :TO ("matthieu.villeneuve at free.fr") :SENDER NIL) ("1167748390.13017_113.localhost" :SUBJECT "[stamp-devel] what language?" :DATE 3374549516 :FROM "strandh at labri.fr" :TO ("stamp-devel at common-lisp.net") :SENDER "stamp-devel-bounces at common-lisp.net") ("1167748391.13017_125.localhost" :SUBJECT "[mcclim-devel] Drei - a replacement for Goatee" :DATE 3371666129 :FROM "athas at sigkill.dk" :TO ("mcclim-devel at common-lisp.net") :SENDER "mcclim-devel-bounces at common-lisp.net") ("1167748391.13017_135.localhost" :SUBJECT "Re: [CLSQL-Help] Character encoding problem" :DATE 3353243896 :FROM "kevin at rosenberg.net" :TO ("matthieu.villeneuve at free.fr") :SENDER NIL) ("1167748392.13017_140.localhost" :SUBJECT "unetwork asdf ..." :DATE 3329141146 :FROM "lam at perave.org" :TO ("matthieu.villeneuve at free.fr") :SENDER NIL) ("1167748392.13017_146.localhost" :SUBJECT "bilinear" :DATE 3306557523 :FROM "mickael.gilabert at in-fusio.com" :TO ("matthieu.villeneuve at free.fr") :SENDER NIL) ("1167748392.13017_149.localhost" :SUBJECT "Re: zlib.cl" :DATE 3298054490 :FROM "musum at pvv.org" :TO ("matthieu.villeneuve at free.fr") :SENDER NIL) ("1167748392.13017_150.localhost" :SUBJECT "Fw: Which Emacs CL mode?" :DATE 3284972065 :FROM "mvilleneuve at betomorrow.com" :TO ("matthieu.villeneuve at free.fr") :SENDER NIL) From rstrandh at common-lisp.net Thu Jan 4 06:13:08 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 01:13:08 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104061308.071416D037@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv5849 Modified Files: stamp.asd stamp.lisp Added Files: mel-extra.lisp Log Message: Modified mel-base slightly so that we can get hold of the unique filename that is generated when a message is copied into a maildir folder. Made com-get-mail add a line to the tags files whenever a message is copied. --- /project/stamp/cvsroot/stamp/stamp.asd 2007/01/04 03:41:04 1.2 +++ /project/stamp/cvsroot/stamp/stamp.asd 2007/01/04 06:13:08 1.3 @@ -27,4 +27,5 @@ (defsystem :stamp :depends-on (:mcclim :mel-base :climacs :split-sequence) :components ((:file "packages") + (:file "mel-extra") (:file "stamp" :depends-on ("packages")))) --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 03:55:16 1.5 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 06:13:08 1.6 @@ -307,6 +307,34 @@ (when message (send-message message headers body)))))) +(defun address-string-or-nil (address) + (if (null address) + nil + (mel:address-spec address))) + +(defun standard-tags (message) + "Return a list of standard tags for the message" + (list :subject (mel:subject message) + :date (mel:date message) + :from (address-string-or-nil (mel:from message)) + :to (mapcar #'address-string-or-nil (mel:to message)) + :sender (address-string-or-nil (mel:sender message)))) + +(defun copy-message-and-process-standard-tags (message folder) + (let ((folder-name (mel:name folder)) + (message-name (mel:copy-message message folder)) + (tags (standard-tags message))) + (with-open-file (stream (concatenate 'string folder-name "tags1") + :direction :output + :if-does-not-exist :create + :if-exists :append) + (print (cons message-name tags) stream)) + (with-open-file (stream (concatenate 'string folder-name "tags2") + :direction :output + :if-does-not-exist :create + :if-exists :append) + (print (cons message-name tags) stream)))) + (define-stamp-command (com-get-mail :name t) () (loop for mailbox in *mailboxes* do (loop for message in (mel:messages mailbox) @@ -314,7 +342,7 @@ (mel:messages *inbox-folder*) :key #'mel:message-id :test #'string=) - do (mel:copy-message message *inbox-folder*))) + do (copy-message-and-process-standard-tags message *inbox-folder*))) (redisplay-pane 'headers-pane)) (define-stamp-command (com-show-all-headers :name t) () --- /project/stamp/cvsroot/stamp/mel-extra.lisp 2007/01/04 06:13:08 NONE +++ /project/stamp/cvsroot/stamp/mel-extra.lisp 2007/01/04 06:13:08 1.1 (in-package :mel.internal) ;;; modify this method so that it returns the unique filename of the sink #+(or sbcl cmu) (defmethod copy-message-using-folders ((message message) message-folder (sink-folder folder)) "Copy a message (contained in some folder) into another folder" (declare (ignore message-folder)) (with-open-stream (source (open-message-input-stream message)) (with-open-stream (sink (open-message-storing-stream sink-folder message)) (loop for c = (read-char source nil nil) while c do (write-char c sink) finally (return (mel.folders.maildir::unique-message-name sink)))))) From rstrandh at common-lisp.net Thu Jan 4 06:18:41 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 01:18:41 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Spec Message-ID: <20070104061841.B577D6D037@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Spec In directory clnet:/tmp/cvs-serv6522 Modified Files: priorities.text Log Message: Modified the priorities to reflect what has been done at this point. Added new priorities. --- /project/stamp/cvsroot/stamp/Spec/priorities.text 2006/12/31 07:03:25 1.1 +++ /project/stamp/cvsroot/stamp/Spec/priorities.text 2007/01/04 06:18:40 1.2 @@ -6,7 +6,8 @@ annotations that give a rough priority and an indication of the difficulty. -* create a Maildir folder for testing purposes. Each message in the +* [this is done] + create a Maildir folder for testing purposes. Each message in the test suite should contain only ASCII characters so as to get around current mel-base problems. We could put that folder in Test/Folders/ASCII for example. It should contain a few dozen @@ -16,11 +17,19 @@ (identical) tag files (see the spec). This is high priority and easy to do, though it might be tedious. -* make sure Stamp actually runs, that it displays all the panes, and +* [this is done] + make sure Stamp actually runs, that it displays all the panes, and (initially) all the messages in the default folder. This should probably happen before the students start working. This is very high priority, and could take some time to do. +* convert Stamp to an ESA. This is high priority and not too hard to + do. + +* modify Stamp to use the tags files instead of asking mel-base for + the contents of the folder. This is hight priority and not too hard + to do. + * make the Stamp startup sequence work (creating configuration directories, reading configuration files, etc). The configuration files could be empty initially. This is high priority, but not From rstrandh at common-lisp.net Thu Jan 4 09:08:30 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 04:08:30 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104090830.7AD1267022@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv8576 Modified Files: stamp.lisp Log Message: A small step in the direction of an ESA. --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 06:13:08 1.6 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 09:08:30 1.7 @@ -54,35 +54,40 @@ ;;;(defparameter *folder-image* ;;; (image:read-image-file "folder.ppm")) +(defclass folders-pane (esa:esa-pane-mixin clim:application-pane) ()) +(defclass headers-pane (esa:esa-pane-mixin clim:application-pane) ()) +(defclass message-pane (esa:esa-pane-mixin clim:application-pane) ()) + (clim:define-application-frame stamp () ((folders :initform (list (cons "Inbox" *inbox-folder*)) :accessor folders) (current-folder :initform nil :accessor current-folder) (current-message :initform nil :accessor current-message)) - (:panes (folders-pane :application - :display-function '(display-folders) - :display-time nil - :width 150 :min-width 150 :max-width 150) - (headers-pane :application - :display-function '(display-headers) - :display-time nil - :width 800 :height 150) - (message-pane :application - :display-function '(display-message) - :display-time nil - :height 450) + (:panes (folders-pane (clim:make-pane 'folders-pane + :display-function '(display-folders) + :display-time nil + :width 150 :min-width 150 :max-width 150)) + (headers-pane (clim:make-pane 'headers-pane + :display-function '(display-headers) + :display-time nil + :width 800 :height 150)) + (message-pane (clim:make-pane 'message-pane + :display-function '(display-message) + :display-time nil + :height 450)) (interactor :interactor :height 20 :max-height 20 :min-height 20) (adjuster1 (clim:make-pane 'clim-extensions:box-adjuster-gadget)) (adjuster2 (clim:make-pane 'clim-extensions:box-adjuster-gadget))) (:layouts (default-layout (clim:vertically () (clim:horizontally () - folders-pane + (clim:scrolling (:width 150 :min-width 150 :max-width 150) + folders-pane) adjuster1 (clim:vertically () - headers-pane + (clim:scrolling (:width 800 :height 150) headers-pane) adjuster2 - message-pane)) + (clim:scrolling (:height 450) message-pane))) interactor)))) (defmethod clim:adopt-frame :after (frame-manager (frame stamp)) From rstrandh at common-lisp.net Thu Jan 4 10:12:15 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 05:12:15 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104101215.8043424007@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv21054 Modified Files: stamp.lisp Log Message: Stamp is now an ESA. --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 09:08:30 1.7 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 10:12:15 1.8 @@ -58,7 +58,14 @@ (defclass headers-pane (esa:esa-pane-mixin clim:application-pane) ()) (defclass message-pane (esa:esa-pane-mixin clim:application-pane) ()) -(clim:define-application-frame stamp () +(defclass stamp-minibuffer-pane (esa:minibuffer-pane) + () + (:default-initargs + :height 20 :max-height 20 :min-height 20)) + + +(clim:define-application-frame stamp (esa:esa-frame-mixin + clim:standard-application-frame) ((folders :initform (list (cons "Inbox" *inbox-folder*)) :accessor folders) (current-folder :initform nil :accessor current-folder) @@ -67,17 +74,21 @@ :display-function '(display-folders) :display-time nil :width 150 :min-width 150 :max-width 150)) - (headers-pane (clim:make-pane 'headers-pane - :display-function '(display-headers) - :display-time nil - :width 800 :height 150)) + (headers-pane (let ((pane (clim:make-pane 'headers-pane + :display-function '(display-headers) + :display-time nil + :command-table 'stamp + :width 800 :height 150))) + (setf (esa:windows clim:*application-frame*) + (list pane)) + pane)) (message-pane (clim:make-pane 'message-pane :display-function '(display-message) :display-time nil :height 450)) - (interactor :interactor :height 20 :max-height 20 :min-height 20) (adjuster1 (clim:make-pane 'clim-extensions:box-adjuster-gadget)) - (adjuster2 (clim:make-pane 'clim-extensions:box-adjuster-gadget))) + (adjuster2 (clim:make-pane 'clim-extensions:box-adjuster-gadget)) + (minibuffer (clim:make-pane 'stamp-minibuffer-pane :width 900))) (:layouts (default-layout (clim:vertically () (clim:horizontally () @@ -88,7 +99,8 @@ (clim:scrolling (:width 800 :height 150) headers-pane) adjuster2 (clim:scrolling (:height 450) message-pane))) - interactor)))) + minibuffer))) + (:top-level (esa:esa-top-level))) (defmethod clim:adopt-frame :after (frame-manager (frame stamp)) (setf (current-folder frame) (first (folders frame)))) @@ -230,6 +242,9 @@ (declare (ignore super-type sub-type)) (second (member :name properties)))) +(clim:define-command-table stamp + :inherit-from (esa:global-esa-table esa:keyboard-macro-table)) + (define-stamp-command (com-quit :name t) () (clim:frame-exit clim:*application-frame*)) From rstrandh at common-lisp.net Thu Jan 4 12:01:51 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 07:01:51 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104120151.8CFC73600E@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv12711 Modified Files: stamp.lisp Log Message: Stamp now has an info pane in which currently the current folder is shown. Other information can go here later. At the moment is just means that we could potentially introduce another layout without the "folders" and still be able to know the current one. --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 10:12:15 1.8 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 12:01:51 1.9 @@ -64,6 +64,16 @@ :height 20 :max-height 20 :min-height 20)) +(defclass stamp-info-pane (esa:info-pane) + () + (:default-initargs + :height 20 :max-height 20 :min-height 20 + :display-function 'display-info + :incremental-redisplay t)) + +(defun display-info (frame pane) + (format pane "Folder: ~a" (car (current-folder frame)))) + (clim:define-application-frame stamp (esa:esa-frame-mixin clim:standard-application-frame) ((folders :initform (list (cons "Inbox" *inbox-folder*)) @@ -88,6 +98,7 @@ :height 450)) (adjuster1 (clim:make-pane 'clim-extensions:box-adjuster-gadget)) (adjuster2 (clim:make-pane 'clim-extensions:box-adjuster-gadget)) + (info (clim:make-pane 'stamp-info-pane)) (minibuffer (clim:make-pane 'stamp-minibuffer-pane :width 900))) (:layouts (default-layout (clim:vertically () @@ -99,6 +110,7 @@ (clim:scrolling (:width 800 :height 150) headers-pane) adjuster2 (clim:scrolling (:height 450) message-pane))) + info minibuffer))) (:top-level (esa:esa-top-level))) From rstrandh at common-lisp.net Thu Jan 4 12:47:33 2007 From: rstrandh at common-lisp.net (rstrandh) Date: Thu, 4 Jan 2007 07:47:33 -0500 (EST) Subject: [stamp-cvs] CVS stamp/Spec Message-ID: <20070104124733.88B484C0CB@common-lisp.net> Update of /project/stamp/cvsroot/stamp/Spec In directory clnet:/tmp/cvs-serv23863 Modified Files: priorities.text Log Message: Update priorites according to what has been done so far. --- /project/stamp/cvsroot/stamp/Spec/priorities.text 2007/01/04 06:18:40 1.2 +++ /project/stamp/cvsroot/stamp/Spec/priorities.text 2007/01/04 12:47:33 1.3 @@ -23,7 +23,8 @@ probably happen before the students start working. This is very high priority, and could take some time to do. -* convert Stamp to an ESA. This is high priority and not too hard to +* [this is done] + convert Stamp to an ESA. This is high priority and not too hard to do. * modify Stamp to use the tags files instead of asking mel-base for @@ -36,10 +37,12 @@ extremely high. It could take a while to get it right because it involves manipulating the file system. -* define a class or a presentation type for messages. This is fairly +* [this is done] + define a class or a presentation type for messages. This is fairly high priority and not too hard. -* implement a Select Message command. Fairly high priority. Not too +* [this is done] + implement a Select Message command. Fairly high priority. Not too hard. * implement the define-filter macro and some default filters. Fairly @@ -58,20 +61,24 @@ priority. A bit tricky because the sequence has to be searched, and there are edge cases (first and last) -* use CLIM presentations for the message headers. Fairly high +* [this is done] + use CLIM presentations for the message headers. Fairly high priority. Not too hard. -* use CLIM presentations for the filter names. Fairly high priority. +* [this is done for folders] + use CLIM presentations for the filter names. Fairly high priority. Not too hard. * write a CLIM completer for the filter names. Medium priority. A bit tricky if you haven't written completers before. -* write a presentation-to-command translator for messages that selects +* [this is done (through the use of :gesture :select)] + write a presentation-to-command translator for messages that selects the message being clicked on. Low priority. A bit tricky if you don't know how to do it. -* write a presentation-to-command translator for filters that selects +* [this is done for folders] + write a presentation-to-command translator for filters that selects the filter being clicked on. Low priority. A bit tricky if you don't know how to do it. @@ -105,3 +112,6 @@ * if necessary, fix mel-base so that it doesn't use base-string and base-char where inappropriate. Medium priority. Easy. +* implement a second layout that does not have the filters pane. + Implement a command for switching between layouts. This is low + priority, but not hard to do. From mvilleneuve at common-lisp.net Thu Jan 4 13:37:53 2007 From: mvilleneuve at common-lisp.net (mvilleneuve) Date: Thu, 4 Jan 2007 08:37:53 -0500 (EST) Subject: [stamp-cvs] CVS stamp Message-ID: <20070104133753.237F172088@common-lisp.net> Update of /project/stamp/cvsroot/stamp In directory clnet:/tmp/cvs-serv6366 Modified Files: stamp.lisp Log Message: Fix Climacs usage for message composing --- /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 12:01:51 1.9 +++ /project/stamp/cvsroot/stamp/stamp.lisp 2007/01/04 13:37:53 1.10 @@ -413,10 +413,10 @@ (clim:layout-frame *climacs-frame* 800 600) (clim:execute-frame-command *climacs-frame* - `(climacs-gui::com-find-file ,filename)) + `(climacs-core::find-file ,filename)) (clim:execute-frame-command *climacs-frame* - `(climacs-gui::com-insert-file ,content-filename)) + `(climacs-commands::com-insert-file ,content-filename)) (delete-file content-filename))) (*climacs-frame* (clim:make-application-frame 'climacs-gui:climacs)))