From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.user Subject: How to document your scheme modules with guile-lib Date: Fri, 17 Nov 2006 18:59:51 +0100 Message-ID: <1163786392.6225.39.camel@localhost.localdomain> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-qChU/n06ue65BPXp4NL6" X-Trace: sea.gmane.org 1163786296 4280 80.91.229.2 (17 Nov 2006 17:58:16 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 17 Nov 2006 17:58:16 +0000 (UTC) Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Nov 17 18:58:05 2006 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Gl7yG-0003po-Hp for guile-user@m.gmane.org; Fri, 17 Nov 2006 18:57:49 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Gl7yG-00021V-3x for guile-user@m.gmane.org; Fri, 17 Nov 2006 12:57:48 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Gl7yB-00021N-0y for guile-user@gnu.org; Fri, 17 Nov 2006 12:57:43 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Gl7y9-00020x-7t for guile-user@gnu.org; Fri, 17 Nov 2006 12:57:42 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Gl7y9-00020s-3I for guile-user@gnu.org; Fri, 17 Nov 2006 12:57:41 -0500 Original-Received: from [216.27.85.7] (helo=kettle.ambient-hosting.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1Gl7y8-0005Lj-Ve for guile-user@gnu.org; Fri, 17 Nov 2006 12:57:41 -0500 Original-Received: from localhost.localdomain (ambient-hosting.net [10.1.6.1]) by kettle.ambient-hosting.net (Postfix) with ESMTP id 3D5B08808D for ; Fri, 17 Nov 2006 12:57:33 -0500 (EST) Original-Received: by localhost.localdomain (Postfix, from userid 1000) id C218C118AA5; Fri, 17 Nov 2006 18:59:52 +0100 (CET) Original-To: guile-user X-Mailer: Evolution 2.8.1 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:5658 Archived-At: --=-qChU/n06ue65BPXp4NL6 Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi all, I just wrote a bit about how you can get great on-line help, printed docs, web docs, and info, all autogenerated from your source files. The article is here: http://wingolog.org/archives/2006/11/17/high-on-sodium-vapor I'd like to write a bit on how those docs are made. It's pretty easy, and I think the output is nice. First, how to document. A module's documentation is taken from its commentary and from the docstrings on all of its exported variables. The module commentary is gotten by (module-commentary '(modname)), which parses the text between ;;; Commentary: and ;;; Code: The text between Commentary and Code has any initial ;; split off, which allows you to have a commentary like this: ;;; Commentary: ;; This module foo bar @code{baz} @xref{foo}. asdfasd ;;; Code The other documentation source is the documentation on objects themselves, via (object-documentation foo). Guile-lib exports some macros in (scheme documentation) that allow you to document normally undocumented things, like variables or generics. See http://home.gna.org/guile-lib/doc/ref/scheme.documentation/ for more info there. To get integration with guile's help system, you have to load up (scheme session), which makes (help foo) return more useful information. >>From there I wrote some scripts to generate texi and html output, which are in guile-lib/doc and are attached. I'm actually attaching five files: guile-library.scm: The configuration file for the docs build Makefile.am: automake foo, adjust to fit docs.mk: Docs makefile foo, shouldn't need tweaking make-html.scm: A script to make OK-ish HTML docs make-texinfo.scm: A script to make a nice texinfo document All you have to do is dump all those files in a dir, modify guile-library.scm to suit (and rename), and modify a couple of things in Makefile.am. Voila, self-documenting projects :) Regards, Andy. -- http://wingolog.org/ --=-qChU/n06ue65BPXp4NL6 Content-Disposition: attachment; filename=docs.mk Content-Transfer-Encoding: base64 Content-Type: text/plain; name=docs.mk; charset=UTF-8 Y2xlYW4tZG9jczoNCglybSAtZiAkKGRvYykudGV4aQ0KCXJtIC1mICQoZG9jKS5pbmZvDQoJcm0g LWYgJChkb2Mpc2NtZmlsZXMNCglybSAtZiBodG1sLXN0YW1wDQoJcm0gLXJmIGh0bWwNCglybSAt ZiAkKGFkZHByZWZpeCAkKGRvYykuLGF1eCBjcCBjcHMgZm4gZm5zIGt5IGxvZyBwZGYgcGcgcGcg dG9jIHRwIHRwcyB2ciB2cnMpDQoJcm0gLXJmICQoZG9jKS5odG1sDQoNCkVYVFJBX0RJU1Q9JChk b2MpLnNjbSBtYWtlLXRleGluZm8uc2NtIG1ha2UtaHRtbC5zY20gZG9jcy5taw0KRElTVENMRUFO RklMRVM9JChkb2MpLnRleGkgJChkb2Mpc2NtZmlsZXMNCg0KJChkb2Mpc2NtZmlsZXM6DQoJZ3Vp bGUgLS1kZWJ1ZyAtLXVzZS1zcmZpPTEzIC1sICQoc3JjZGlyKS8kKGRvYykuc2NtIFwNCgkgLWMg Jyhmb3ItZWFjaCAobGFtYmRhIChtKSAoZm9ybWF0ICN0ICJ+YS5zY21cbiIgKHN0cmluZy1qb2lu IChtYXAgc3ltYm9sLT5zdHJpbmcgbSkgIi8iKSkpIChtYXAgY2FyICptb2R1bGVzKikpJyBcDQoJ ID4gJEANCmRlcGZpbGVzPSQoYWRkcHJlZml4ICQodG9wX3NyY2Rpcikvc3JjLywkKHNoZWxsIHRl c3QgISAtZiAkKGRvYylzY21maWxlcyB8fCBjYXQgJChkb2Mpc2NtZmlsZXMpKQ0KDQokKGRvYyku dGV4aTogJChzcmNkaXIpLyQoZG9jKS5zY20gJChkb2Mpc2NtZmlsZXMgJChkZXBmaWxlcykNCgkk KHRvcF9zcmNkaXIpL2Rldi1lbnZpcm9uICQoc3JjZGlyKS9tYWtlLXRleGluZm8uc2NtICQoc3Jj ZGlyKS8kKGRvYykuc2NtID4kQA0KDQpodG1sOiBodG1sLXN0YW1wICQoc3JjZGlyKS8kKGRvYyku c2NtICQoZGVwZmlsZXMpDQpodG1sLXN0YW1wOiAkKHNjbS1tb2R1bGUtZmlsZXMpDQoJJCh0b3Bf c3JjZGlyKS9kZXYtZW52aXJvbiAkKHNyY2RpcikvbWFrZS1odG1sLnNjbSAkKHNyY2RpcikvJChk b2MpLnNjbQ0KCXRvdWNoICRADQoNCg== --=-qChU/n06ue65BPXp4NL6 Content-Disposition: attachment; filename=guile-library.scm Content-Transfer-Encoding: base64 Content-Type: text/x-scheme; name=guile-library.scm; charset=UTF-8 OzsgQWJvdXQgdGhlIHBhY2thZ2UNCihkZWZpbmUgKm5hbWUqICJHdWlsZSBMaWJyYXJ5IikNCihk ZWZpbmUgKmRlc2NyaXB0aW9uKiAiQ29tbW9uIG1vZHVsZXMgZm9yIEd1aWxlIFNjaGVtZSIpDQoo ZGVmaW5lICp2ZXJzaW9uKiAiMC4xLjMiKQ0KKGRlZmluZSAqdXBkYXRlZCogIjE2IE5vdmVtYmVy IDIwMDYiKQ0KKGRlZmluZSAqYXV0aG9ycyoNCiAgJygoIkFuZHkgV2luZ28iIC4gIndpbmdvIGF0 IHBvYm94LmNvbSIpDQogICAgKCJSaWNoYXJkIFRvZGQiIC4gInJpY2hhcmR0IGF0IHZ6YXZlbnVl Lm5ldCIpKSkNCg0KOzsgQ29weWluZyB0aGUgZG9jdW1lbnRhdGlvbg0KKGRlZmluZSAqY29weXJp Z2h0LWhvbGRlciogIkFuZHkgV2luZ28sIFJpY2hhcmQgVG9kZCIpDQooZGVmaW5lICp5ZWFycyog JygyMDAzIDIwMDQgMjAwNSAyMDA2KSkNCihkZWZpbmUgKnBlcm1pc3Npb25zKg0KICAiUGVybWlz c2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yDQptb2RpZnkgdGhpcyBk b2N1bWVudCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlDQpEb2N1bWVudGF0aW9uIExp Y2Vuc2UsIFZlcnNpb24gMS4yIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZA0KeSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3aXRoIG5vIEludmFyaWFudCBTZWN0aW9ucywgbm8N CkZyb250LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3ZlciBUZXh0cy4gQSBjb3B5IG9mIHRo ZSBsaWNlbnNlDQppcyBpbmNsdWRlZCBpbiB0aGUgc2VjdGlvbiBlbnRpdGxlZCBcIkdOVSBGcmVl IERvY3VtZW50YXRpb24NCkxpY2Vuc2VcIi4iKQ0KDQo7OyBUZXhpbmZvIGluZm8NCihkZWZpbmUg KnRleGluZm8tYmFzZW5hbWUqICJndWlsZS1saWJyYXJ5IikNCihkZWZpbmUgKnRleGluZm8tY2F0 ZWdvcnkqICJUaGUgQWxnb3JpdGhtaWMgTGFuZ3VhZ2UgU2NoZW1lIikNCihkZWZpbmUgKmV4dHJh LXRleGluZm8tbWVudS1lbnRyaWVzKg0KICAnKCgiQ29weWluZyBUaGlzIE1hbnVhbCIpDQogICAg KCJDb25jZXB0IEluZGV4IikNCiAgICAoIkZ1bmN0aW9uIEluZGV4IikpKQ0KKGRlZmluZSAqdGV4 aW5mby1lcGlsb2d1ZSoNCiAgYCgobm9kZSAoJSAobmFtZSAiQ29weWluZyBUaGlzIE1hbnVhbCIp KSkNCiAgICAoYXBwZW5kaXggIkNvcHlpbmcgVGhpcyBNYW51YWwiKQ0KICAgICJUaGlzIG1hbnVh bCBpcyBjb3ZlcmVkIHVuZGVyIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uICINCiAgICAiTGlj ZW5zZS4gQSBjb3B5IG9mIHRoZSBGREwgaXMgcHJvdmlkZWQgaGVyZS4iDQogICAgKG1lbnUNCiAg ICAgIiogR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlOjogIExpY2Vuc2UgZm9yIGNvcHlp bmcgdGhpcyBtYW51YWwiKQ0KICAgIChpbmNsdWRlICJmZGwudGV4aSIpDQogICAgKG5vZGUgKCUg KG5hbWUgIkNvbmNlcHQgSW5kZXgiKSkpDQogICAgKHVubnVtYmVyZWQgIkNvbmNlcHQgSW5kZXgi KQ0KICAgIChwcmludGluZGV4ICglICh0eXBlICJjcCIpKSkNCiAgICAobm9kZSAoJSAobmFtZSAi RnVuY3Rpb24gSW5kZXgiKSkpDQogICAgKHVubnVtYmVyZWQgIkZ1bmN0aW9uIEluZGV4IikNCiAg ICAocHJpbnRpbmRleCAoJSAodHlwZSAiZm4iKSkpKSkNCg0KOzsgSFRNTCBmb28NCihkZWZpbmUg Kmh0bWwtcmVsYXRpdmUtcm9vdC1wYXRoKiAiLi4vLi4vIikNCg0KOzsgVGhlIG1vZHVsZXMgdG8g ZG9jdW1lbnQNCihkZWZpbmUgKm1vZHVsZXMqDQogICcoKChjb25maWcgbG9hZCkNCiAgICAgIkxv YWRpbmcgY29uZmlndXJhdGlvbiBmaWxlcyIpDQogICAgKChjb250YWluZXIgbm9kYWwtdHJlZSkN CiAgICAgIkEgdHJlZSBjb25zaXN0aW5nIG9mIG5vZGVzIHdpdGggYXR0cmlidXRlcyIpDQogICAg KChjb250YWluZXIgZGVsYXktdHJlZSkNCiAgICAgIkEgbm9kYWwgdHJlZSB3aXRoIGxhemlseSBl dmFsdWF0ZWQgZmllbGRzIikNCiAgICAoKGRlYnVnZ2luZyBhc3NlcnQpDQogICAgICJIZWxwZnVs IGFzc2VydCBtYWNybyIpDQogICAgKChkZWJ1Z2dpbmcgdGltZSkNCiAgICAgOzsgRklYTUU6IGFs c28gaW4gaWNlLTksIHRoaXMgbmVlZHMgdG8gZ28uDQogICAgICJBIHNpbXBsZSBtYWNybyB0byB0 aW1lIHRoZSBleGVjdXRpb24gb2YgYW4gZXhwcmVzc2lvbiIpDQogICAgKChncmFwaCB0b3BvbG9n aWNhbC1zb3J0KQ0KICAgICAiUm91dGluZXMgdG8gcGVyZm9ybSB0b3BvbG9naWNhbCBzb3J0cyIp DQogICAgKChodG1scHJhZykNCiAgICAgIk5laWwgVmFuIER5a2UncyBwZXJtaXNzaXZlIChcInBy YWdtYXRpY1wiKSBIVE1MIHBhcnNlciIpDQogICAgKChpbyBzdHJpbmcpDQogICAgICJTTElCJ3Mg SU8gcm91dGluZXMgZGVhbGluZyB3aXRoIHN0cmluZ3MiKQ0KICAgICgobG9nZ2luZyBsb2dnZXIp DQogICAgICJBIGZsZXhpYmxlIGxvZ2dpbmcgc3lzdGVtIikNCiAgICAoKGxvZ2dpbmcgcG9ydC1s b2cpDQogICAgICJBIGxvZ2dlciB0aGF0IG91dHB1dHMgdG8gYSBwb3J0IikNCiAgICAoKGxvZ2dp bmcgcm90YXRpbmctbG9nKQ0KICAgICAiQSBsb2dnZXIgdGhhdCByb3RhdGVzIGl0cyBvdXRwdXQg ZmlsZXMiKQ0KICAgICgobWF0aCBtaW5pbWEpDQogICAgICJBIGdvbGRlbi1zZWN0aW9uIG1pbmlt dW0gZmluZGVyIikNCiAgICAoKG1hdGggcHJpbWVzKQ0KICAgICAiRnVuY3Rpb25zIHJlbGF0ZWQg dG8gcHJpbWUgbnVtYmVycyBhbmQgZmFjdG9yaXphdGlvbiIpDQogICAgKChtYXRoIHJhdGlvbmFs aXplKQ0KICAgICAiV29ya2luZyB3aXRoIGZyYWN0aW9ucyIpDQogICAgKChvcyBwcm9jZXNzKQ0K ICAgICAiU3Bhd25pbmcgcHJvY2Vzc2VzIGFuZCBjYXB0dXJpbmcgdGhlaXIgb3V0cHV0IikNCiAg ICAoKHNjaGVtZSBkb2N1bWVudGF0aW9uKQ0KICAgICAiTWFjcm9zIHRvIGRlZmluZSBkaWZmZXJl bnQga2luZHMgb2YgdmFyaWFibGVzIHdpdGggZG9jdW1lbnRhdGlvbiIpDQogICAgKChzY2hlbWUg c2Vzc2lvbikNCiAgICAgIkEgbW9yZSBmZWF0dXJlZnVsICIgKGNvZGUgIihpY2UtOSBzZXNzaW9u KSIpKQ0KICAgICgoc2VhcmNoIGJhc2ljKQ0KICAgICAiQ2xhc3NpYyBzZWFyY2ggZnVuY3Rpb25z IikNCiAgICAoKHN0YXRwcm9mKQ0KICAgICAiU3RhdGlzdGljYWwgcHJvZmlsZXIiKQ0KICAgICgo c3RyaW5nIGNvbXBsZXRpb24pDQogICAgICJCdWlsZGluZyBibG9ja3MgZm9yIHRhYiBjb21wbGV0 aW9uIikNCiAgICAoKHN0cmluZyBzb3VuZGV4KQ0KICAgICAiVGhlIFNPVU5ERVggc3RyaW5nIGNh dGVnb3JpemF0aW9uIGFsZ29yaXRobSIpDQogICAgKChzdHJpbmcgdHJhbnNmb3JtKQ0KICAgICAi QmV5b25kIFNSRkktMTMiKQ0KICAgICgoc3RyaW5nIHdyYXApDQogICAgICJBIHZlcnNhdGlsZSBz dHJpbmcgZm9ybWF0dGVyIikNCiAgICAoKHN4bWwgYXBwbHktdGVtcGxhdGVzKQ0KICAgICAiQSBt b3JlIFhTTFQtbGlrZSBhcHByb2FjaCB0byBTWE1MIHRyYW5zZm9ybWF0aW9ucyIpDQogICAgKChz eG1sIHNpbXBsZSkNCiAgICAgIkNvbnZlbmllbnQgWE1MIHBhcnNpbmcgYW5kIHNlcmlhbGl6aW5n IikNCiAgICAoKHN4bWwgc3NheCkNCiAgICAgIkZ1bmN0aW9uYWwtc3R5bGUgWE1MIHBhcnNpbmcg Zm9yIFNjaGVtZSIpDQogICAgKChzeG1sIHNzYXggaW5wdXQtcGFyc2UpDQogICAgICJUaGUgU1NB WCB0b2tlbml6ZXIsIG9wdGltaXplZCBmb3IgR3VpbGUiKQ0KICAgICgoc3htbCB0cmFuc2Zvcm0p DQogICAgICJBIGhpZ2hlci1vcmRlciBTWE1MIHRyYW5zZm9ybWF0aW9uIG9wZXJhdG9yLCAiDQog ICAgIChjb2RlICJwcmUtcG9zdC1vcmRlciIpKQ0KICAgICgoc3htbCB4cGF0aCkNCiAgICAgIlhQ YXRoIGZvciBTWE1MIikNCiAgICAoKHRlcm0gYW5zaS1jb2xvcikNCiAgICAgIkdlbmVyYXRlIEFO U0kgY29sb3IgZXNjYXBlIHNlcXVlbmNlcyIpDQogICAgKCh0ZXhpbmZvKQ0KICAgICAiUGFyc2Ug dGV4aW5mbyBmaWxlcyBvciBmcmFnbWVudHMgaW50byAiIChjb2RlICJzdGV4aSIpICIsIGEgIg0K ICAgICAic2NoZW1lIHJlcHJlc2VudGF0aW9uIikNCiAgICAoKHRleGluZm8gaHRtbCkNCiAgICAg IlRyYW5zZm9ybSAiIChjb2RlICJzdGV4aSIpICIgaW50byBIVE1MIikNCiAgICAoKHRleGluZm8g aW5kZXhpbmcpDQogICAgICJFeHRyYWN0IGFuIGluZGV4IGZyb20gYSBwaWVjZSBvZiAiIChjb2Rl ICJzdGV4aSIpKQ0KICAgICgodGV4aW5mbyBub2RhbC10cmVlKQ0KICAgICAiQ2h1bmsgYSAiIChj b2RlICJzdGV4aSIpICIgZG9jdW1lbnQgaW50byBwaWVjZXMiKQ0KICAgICgodGV4aW5mbyBwbGFp bi10ZXh0KQ0KICAgICAiUmVuZGVyICIgKGNvZGUgInN0ZXhpIikgIiBhcyBwbGFpbiB0ZXh0IikN CiAgICAoKHRleGluZm8gc2VyaWFsaXplKQ0KICAgICAiUmVuZGVyICIgKGNvZGUgInN0ZXhpIikg IiBhcyB0ZXhpbmZvIikNCiAgICAoKHRleGluZm8gcmVmbGVjdGlvbikNCiAgICAgIkVuYWJsZSB0 ZXhpbmZvIGFjcm9zcyBHdWlsZSdzIGhlbHAgc3lzdGVtIikNCiAgICAoKHRleHQgcGFyc2UtbGFs cikNCiAgICAgIkEgTEFMUigxKSBwYXJzZXIgd3JpdHRlbiBpbiBTY2hlbWUiKQ0KICAgICgodW5p dC10ZXN0KQ0KICAgICAiQSBKVW5pdC1zdHlsZSB1bml0IHRlc3RpbmcgZnJhbWV3b3JrIikpKQ0K ICAgIDs7IGxpbmsgdG8gbGl0ZXJhdGUgcHJvZ3JhbW1pbmcgYXJ0aWNsZQ0KDQooZGVmaW5lICpt b2R1bGUtc291cmNlcyoNCiAgJygoKHN4bWwgc3NheCkgLiAiaHR0cDovL3NzYXguc291cmNlZm9y Z2UubmV0LyIpDQogICAgKChzeG1sIHhwYXRoKSAuICJodHRwOi8vc3NheC5zb3VyY2Vmb3JnZS5u ZXQvIikNCiAgICAoKHN4bWwgdHJhbnNmb3JtKSAuICJodHRwOi8vc3NheC5zb3VyY2Vmb3JnZS5u ZXQvIikNCiAgICAoKHN4bWwgYXBwbHktdGVtcGxhdGVzKSAuICJodHRwOi8vc3NheC5zb3VyY2Vm b3JnZS5uZXQvIikNCiAgICAoKHN4bWwgc3NheCBpbnB1dC1wYXJzZSkgLiAiaHR0cDovL3NzYXgu c291cmNlZm9yZ2UubmV0LyIpDQogICAgKChodG1scHJhZykgLiAiaHR0cDovL25laWx2YW5keWtl Lm9yZy9odG1scHJhZy8iKSkpDQoNCjs7IGFyY2gtdGFnOiBlNDkzYWQ0Mi1hZDU4LTQ1MWMtYTJk Ni1iMTdiYTZjMWQxZDANCi== --=-qChU/n06ue65BPXp4NL6 Content-Disposition: attachment; filename=Makefile.am Content-Transfer-Encoding: base64 Content-Type: text/plain; name=Makefile.am; charset=UTF-8 ZG9jPWd1aWxlLWxpYnJhcnkNCg0KaW5jbHVkZSBkb2NzLm1rDQoNCmluZm9fVEVYSU5GT1M9Z3Vp bGUtbGlicmFyeS50ZXhpDQpndWlsZV9saWJyYXJ5X1RFWElORk9TPWZkbC50ZXhpDQoNCnd3dzog aHRtbCBndWlsZS1saWJyYXJ5LnBkZiBjbGVhbi13d3cNCglmaW5kIHd3dyAtbmFtZSAnaW5kZXgu c2NtJyAtcHJpbnQgXA0KCSAgfCB3aGlsZSByZWFkIGY7IGRvIFwNCiAgICAgICAgICAgICAgZ3Vp bGUgLWwgIiQkZiIgLWMgJyhtYWtlLWluZGV4KScgXA0KCSAgICAgICAgPiBgZWNobyAkJGYgfCBz ZWQgLWUgcyxcLnNjbSxcLmh0bWwsYDsgXA0KCSAgICBkb25lDQoJY3AgLWEgaHRtbCB3d3cvZG9j L3JlZg0KCWNwIGd1aWxlLWxpYnJhcnkucGRmIHd3dy9kb2MvDQoNCnd3dy1jb21taXQ6IHd3dw0K CXN2biBybSAtbSAnbWFrZSB3d3cgaW4gZ3VpbGUtbGliL2RvY3MnIHN2bitzc2g6Ly93aW5nb0Bz dm4uZ25hLm9yZy9zdm4vZ3VpbGUtbGliL3dlYnNpdGUNCglzdm4gaW1wb3J0IC1tICdtYWtlIHd3 dyBpbiBndWlsZS1saWIvZG9jcycgd3d3IHN2bitzc2g6Ly93aW5nb0Bzdm4uZ25hLm9yZy9zdm4v Z3VpbGUtbGliL3dlYnNpdGUNCg0KY2xlYW4td3d3Og0KCWZpbmQgd3d3IC1uYW1lICdpbmRleC5o dG1sJyAtcHJpbnQgXA0KCSAgfCB3aGlsZSByZWFkIGY7IGRvIHJtIC1mICIkJGYiOyBkb25lDQoJ cm0gLXJmIHd3dy9kb2MvcmVmDQoJcm0gLWYgd3d3L2RvYy9ndWlsZS1saWJyYXJ5LnBkZg0KDQpj bGVhbjogY2xlYW4tZG9jcyBjbGVhbi13d3cNCg== --=-qChU/n06ue65BPXp4NL6 Content-Disposition: attachment; filename=make-html.scm Content-Type: application/x-shellscript; name=make-html.scm Content-Transfer-Encoding: base64 IyEvYmluL3NoCiMgLSotIHNjaGVtZSAtKi0KZXhlYyBndWlsZSAtLWRlYnVnIC1zICQwICIkQCIK ISMKCih1c2UtbW9kdWxlcyAodGV4aW5mbyByZWZsZWN0aW9uKQogICAgICAgICAgICAgKHRleGlu Zm8gaHRtbCkKICAgICAgICAgICAgIChzeG1sIHNpbXBsZSkKICAgICAgICAgICAgIChzeG1sIHRy YW5zZm9ybSkKICAgICAgICAgICAgICgoc3JmaSBzcmZpLTEzKSA6c2VsZWN0IChzdHJpbmctam9p bikpKQoKKGRlZmluZSAobWFrZWRpcnMgcGF0aCkKICAobGV0IGxvb3AgKChwYXRoICIuIikgKGNv bXBvbmVudHMgKHN0cmluZy1zcGxpdCBwYXRoICNcLykpKQogICAgKGlmIChub3QgKG51bGw/IGNv bXBvbmVudHMpKQogICAgICAgIChsZXQgKChzdWItcGF0aCAoc3RyaW5nLWFwcGVuZCBwYXRoICIv IiAoY2FyIGNvbXBvbmVudHMpKSkpCiAgICAgICAgICAoaWYgKG9yIChub3QgKGZpbGUtZXhpc3Rz PyBzdWItcGF0aCkpCiAgICAgICAgICAgICAgICAgIChub3QgKGZpbGUtaXMtZGlyZWN0b3J5PyBz dWItcGF0aCkpKQogICAgICAgICAgICAgIChta2RpciBzdWItcGF0aCkpCiAgICAgICAgICAobG9v cCBzdWItcGF0aCAoY2RyIGNvbXBvbmVudHMpKSkpKSkKCihkZWZpbmUgKHdyYXAtaHRtbCB0aXRs ZSByb290LXBhdGggc2NtLXVybCBib2R5KQogIGAoaHRtbCAoQCAoeG1sbnMgImh0dHA6Ly93d3cu dzMub3JnLzE5OTkveGh0bWwiKSkKICAgIChoZWFkCiAgICAgKHRpdGxlICx0aXRsZSkKICAgICAo bWV0YSAoQCAobmFtZSAiR2VuZXJhdG9yIikKICAgICAgICAgICAgICAoY29udGVudCAiVGhlIEd1 aWxlIFNYTUwgVG9vbGtpdCIpKSkKICAgICAoc3R5bGUgKEAgKHR5cGUgInRleHQvY3NzIikgKG1l ZGlhICJzY3JlZW4iKSkKICAgICAgICJAaW1wb3J0IHVybCgiCiAgICAgICAsKHN0cmluZy1hcHBl bmQgcm9vdC1wYXRoICJiYXNlLmNzcyIpCiAgICAgICAiKTsiKSkKICAgIChib2R5CiAgICAgKGRp diAoQCAoaWQgImJvZHkiKSkKICAgICAgICAgIChoMSAoQCAoaWQgImhlYWRpbmciKSkKICAgICAg ICAgICAgICAoYSAoQCAoaHJlZiAscm9vdC1wYXRoKSkgImd1aWxlLWxpYiIpKQogICAgICAgICAg KGRpdiAoQCAoaWQgInRleHQiKSkKICAgICAgICAgICAgICAgKGgyIChAIChjbGFzcyAiY2VudGVy ZWQiKSkgLHRpdGxlKQogICAgICAgICAgICAgICAsQGJvZHkpCiAgICAgICAgICAoZGl2IChAIChp ZCAiZm9vdGVyIikpCiAgICAgICAgICAgICAgICJwb3dlcmVkIGJ5IHN4bWwiKSkpKSkKCihkZWZp bmUgeGh0bWwtZG9jdHlwZQogIChzdHJpbmctYXBwZW5kCiAgICI8IURPQ1RZUEUgaHRtbCBQVUJM SUMgXCItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTlwiICIKICAgIlwiaHR0cDovL3d3 dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZFwiPlxuXG4iKSkKCihkZWZp bmUgKG1vZHVsZS0+c3RyIHNjbSkKICAoY2FsbC13aXRoLW91dHB1dC1zdHJpbmcgKGxhbWJkYSAo cCkgKGRpc3BsYXkgc2NtIHApKSkpCihkZWZpbmUgKG1vZHVsZS0+dXN0ciBzY20pCiAgKHN0cmlu Zy1hcHBlbmQgKHN0cmluZy1qb2luIChtYXAgc3ltYm9sLT5zdHJpbmcgc2NtKSAiLiIpICIvIikp CgooZGVmaW5lIChtYWtlLWh0bWwtaW5kZXgpCiAgKHdpdGgtb3V0cHV0LXRvLWZpbGUgImh0bWwv aW5kZXguaHRtbCIKICAgIChsYW1iZGEgKCkKICAgICAgKGRpc3BsYXkgeGh0bWwtZG9jdHlwZSkK ICAgICAgKHN4bWwtPnhtbAogICAgICAgKHByZS1wb3N0LW9yZGVyCiAgICAgICAgKHN0ZXhpLT5z aHRtbAogICAgICAgICBgKHRleGluZm8KICAgICAgICAgICAoJSAodGl0bGUgInVudXNlZCIpKQog ICAgICAgICAgICxAKGNkcgogICAgICAgICAgICAgIChwYWNrYWdlLXN0ZXhpLXN0YW5kYXJkLWNv cHlpbmcKICAgICAgICAgICAgICAgKm5hbWUqICp2ZXJzaW9uKiAqdXBkYXRlZCogKnllYXJzKiAq Y29weXJpZ2h0LWhvbGRlcioKICAgICAgICAgICAgICAgKnBlcm1pc3Npb25zKikpCiAgICAgICAg ICAgKHRhYmxlCiAgICAgICAgICAgICglIChmb3JtYXR0ZXIgKGJvbGQpKSkKICAgICAgICAgICAg LEAobWFwCiAgICAgICAgICAgICAgIChsYW1iZGEgKG1vZHVsZSBkZXNjcmlwdGlvbikKICAgICAg ICAgICAgICAgICBgKGVudHJ5CiAgICAgICAgICAgICAgICAgICAoJSAoaGVhZGluZwogICAgICAg ICAgICAgICAgICAgICAgICh1cmVmICglICh1cmwgLChtb2R1bGUtPnVzdHIgbW9kdWxlKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGl0bGUgLChtb2R1bGUtPnN0ciBtb2R1bGUp KSkpKSkKICAgICAgICAgICAgICAgICAgICxAZGVzY3JpcHRpb24pKQogICAgICAgICAgICAgICAo bWFwIGNhciAqbW9kdWxlcyopIChtYXAgY2RyICptb2R1bGVzKikpKSkpCiAgICAgICAgYCgoaHRt bCAuICwobGFtYmRhICh0YWcgYXR0cnMgaGVhZCBib2R5KQogICAgICAgICAgICAgICAgICAgICAo d3JhcC1odG1sCiAgICAgICAgICAgICAgICAgICAgICAqbmFtZSoKICAgICAgICAgICAgICAgICAg ICAgICpodG1sLXJlbGF0aXZlLXJvb3QtcGF0aCoKICAgICAgICAgICAgICAgICAgICAgICJpbmRl eC5zY20iCiAgICAgICAgICAgICAgICAgICAgICAoY2RyIGJvZHkpKSkpIDs7IGNkciBwYXN0IHRo ZSAnYm9keSB0YWcKICAgICAgICAgICgqdGV4dCogLiAsKGxhbWJkYSAodGFnIHRleHQpIHRleHQp KQogICAgICAgICAgKCpkZWZhdWx0KiAuICwobGFtYmRhIGFyZ3MgYXJncykpKSkpKSkpCgooZGVm aW5lIChtYWtlLWh0bWwtbW9kdWxlLXBhZ2VzKQogIChmb3ItZWFjaAogICAobGFtYmRhIChtb2R1 bGUpCiAgICAgKGxldCogKCh1c3RyIChzdHJpbmctYXBwZW5kICIuL2h0bWwvIiAobW9kdWxlLT51 c3RyIG1vZHVsZSkpKQogICAgICAgICAgICAocG9ydCAoYmVnaW4KICAgICAgICAgICAgICAgICAg ICAobWFrZWRpcnMgdXN0cikKICAgICAgICAgICAgICAgICAgICAob3Blbi1vdXRwdXQtZmlsZSAo c3RyaW5nLWFwcGVuZCB1c3RyICJpbmRleC5odG1sIikpKSkpCiAgICAgICAoZGlzcGxheSB4aHRt bC1kb2N0eXBlIHBvcnQpCiAgICAgICAoc3htbC0+eG1sCiAgICAgICAgKHByZS1wb3N0LW9yZGVy CiAgICAgICAgIChzdGV4aS0+c2h0bWwgKG1vZHVsZS1zdGV4aS1kb2N1bWVudGF0aW9uIG1vZHVs ZSkpCiAgICAgICAgIGAoKGh0bWwgLiAsKGxhbWJkYSAodGFnIGF0dHJzIGhlYWQgYm9keSkKICAg ICAgICAgICAgICAgICAgICAgICh3cmFwLWh0bWwKICAgICAgICAgICAgICAgICAgICAgICAobW9k dWxlLT5zdHIgbW9kdWxlKQogICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICIu Li8iICpodG1sLXJlbGF0aXZlLXJvb3QtcGF0aCopCiAgICAgICAgICAgICAgICAgICAgICAgIi4u L2luZGV4LnNjbSIKICAgICAgICAgICAgICAgICAgICAgICAoY2RyIGJvZHkpKSkpIDs7IGNkciBw YXN0IHRoZSAnYm9keSB0YWcKICAgICAgICAgICAoKnRleHQqIC4gLChsYW1iZGEgKHRhZyB0ZXh0 KSB0ZXh0KSkKICAgICAgICAgICAoKmRlZmF1bHQqIC4gLChsYW1iZGEgYXJncyBhcmdzKSkpKQog ICAgICAgIHBvcnQpKSkKICAgKG1hcCBjYXIgKm1vZHVsZXMqKSkpCgooZGVmaW5lIChtYWluIGNv bmZpZy1zY20pCiAgKGxvYWQgY29uZmlnLXNjbSkKICAobWFrZWRpcnMgIi4vaHRtbCIpCiAgKG1h a2UtaHRtbC1pbmRleCkKICAobWFrZS1odG1sLW1vZHVsZS1wYWdlcykpCgooYXBwbHkgbWFpbiAo Y2RyIChjb21tYW5kLWxpbmUpKSkK --=-qChU/n06ue65BPXp4NL6 Content-Disposition: attachment; filename=make-texinfo.scm Content-Type: application/x-shellscript; name=make-texinfo.scm Content-Transfer-Encoding: base64 IyEvYmluL3NoCmV4ZWMgZ3VpbGUgLS1kZWJ1ZyAtcyAkMCAiJEAiCiEjCgoodXNlLW1vZHVsZXMg KHRleGluZm8gcmVmbGVjdGlvbikKICAgICAgICAgICAgICh0ZXhpbmZvIHNlcmlhbGl6ZSkpCgoo ZGVmaW5lIChtYWluIGNvbmZpZy1zY20pCiAgKGxvYWQgY29uZmlnLXNjbSkKICAoZGlzcGxheQog ICAoc3RleGktPnRleGkKICAgIChwYWNrYWdlLXN0ZXhpLWRvY3VtZW50YXRpb24KICAgICAobWFw IGNhciAqbW9kdWxlcyopCiAgICAgKm5hbWUqCiAgICAgKHN0cmluZy1hcHBlbmQgKnRleGluZm8t YmFzZW5hbWUqICIuaW5mbyIpCiAgICAgKHBhY2thZ2Utc3RleGktc3RhbmRhcmQtcHJvbG9ndWUK ICAgICAgKm5hbWUqCiAgICAgIChzdHJpbmctYXBwZW5kICp0ZXhpbmZvLWJhc2VuYW1lKiAiLmlu Zm8iKQogICAgICAqdGV4aW5mby1jYXRlZ29yeSoKICAgICAgKmRlc2NyaXB0aW9uKgogICAgICAo cGFja2FnZS1zdGV4aS1zdGFuZGFyZC1jb3B5aW5nCiAgICAgICAqbmFtZSogKnZlcnNpb24qICp1 cGRhdGVkKiAqeWVhcnMqICpjb3B5cmlnaHQtaG9sZGVyKiAqcGVybWlzc2lvbnMqKQogICAgICAo cGFja2FnZS1zdGV4aS1zdGFuZGFyZC10aXRsZXBhZ2UKICAgICAgICpuYW1lKiAqdmVyc2lvbiog KnVwZGF0ZWQqICphdXRob3JzKikKICAgICAgKHBhY2thZ2Utc3RleGktc3RhbmRhcmQtbWVudQog ICAgICAgKm5hbWUqIChtYXAgY2FyICptb2R1bGVzKikgKG1hcCBjZHIgKm1vZHVsZXMqKQogICAg ICAgKmV4dHJhLXRleGluZm8tbWVudS1lbnRyaWVzKikpCiAgICAgKnRleGluZm8tZXBpbG9ndWUq KSkpKQoKKGFwcGx5IG1haW4gKGNkciAoY29tbWFuZC1saW5lKSkpCg== --=-qChU/n06ue65BPXp4NL6 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user --=-qChU/n06ue65BPXp4NL6--