From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 2 May 2013 20:59:31 +0200 From: tlaronde@polynum.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20130502185931.GA412@polynum.com> References: <20130502123825.GA1975@polynum.com> <20130502132556.GA2653@polynum.com> <20130502150829.GA435@polynum.com> <20130502153131.GA1460@polynum.com> Mime-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.4.2.3i Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: Re: [9fans] Octets regexp Topicbox-Message-UUID: 51363a44-ead8-11e9-9d60-3106f5b1d025 On Thu, May 02, 2013 at 12:53:19PM -0400, erik quanstrom wrote: > > i see we're at an impass. since i don't agree that utf-8 is a user > interface thing. it's more entrenched than that. > > why don't you code something up? Because I have started sketching (this was for kerTeX/RISK) "basys" i.e. basic system tools, but I'm trying to decide whether I start from mainly BSD tools (ash, libregex, sed, ed and the small set of utilities used by RISK or by kerTeX package framework), or from Plan9 ones (rc has some features that are worth them). But I want "basys" to be a "C language" system---the system speaks Cee, and that's all; a not integer number is given with a '.' and not a ',' for Frenchs and so on (this is an example of POSIX hell: the *printf() and *scanf() take the localization to decide how to interpret or render numbers, and even if they are used to read files, not interacting with the user, whatever user environment value spoils the thing if you have not protected against in the code...), dealing with octets strings (for user language, let them be UTF-8; but system strictly doesn't care: this is octets strings) and for libregex(p) the rune thing does not appeal to me (correction: the only rune thing, even if for a definition of "character" this does make sense). I might as well end up with a modified sh or rc that deals with C strings (with a L---for "hell"?---for UTF-8, nothing for octets, W for wydes, T for tetras and O for octas and even a modifier for endianess). But contrary to what is "state of the art", I take long to study and make things clear (to myself... YMMV), and after that I urge on implementing in the direction I have chosen (it may take "calendar" time; but this is simply because of limited slots of time; during these slots I don't wonder about what has to be done: it is already decided...). Till I have made the choice... I have already decided that I will implement a bar(1) that only packs the data with a "volume" listing in text whatever attributes in a form attribute=value are linked to the data (this is, in some sens, what RISK already does with rkinstall(1), except that it uses tar(1) to pack data). That is bar(1) will be a pure C89 program without any system dependent part (this will allow to do whatever with the data, for example changing names to fit local conventions---the man hierarchy; compressing man pages; caching the rendering; adding extensions etc.). -- Thierry Laronde http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C