On 2/22/07, Russ Cox [EMAIL PROTECTED] wrote:
The Plan 9 regexp library matches the old Unix egrep command.
Any regexp you'd try under Plan 9 should work with new egreps,
though not vice versa -- new egreps tend to have newfangled
additions like [:upper:] and \w and {4,6} for repetition.
This
My system doesn’t seem to like it when I call NaN(2):
cpu% cat tnan.c
#include u.h
#include libc.h
void
main(int, char**)
{
double d = NaN();
print(d = %f\n, d);
exits(0);
}
cpu% 8c -FVw tnan.c
cpu% 8l tnan.8
cpu% 8.out
8.out 55798: suicide: sys: fp: invalid operation
Playing with acid a bit:
cpu% cat tnan.c
#include u.h
#include libc.h
void
main(int, char**)
{
NaN(); // ☹
exits(0);
}
cpu% 8c -FTVw tnan.c
cpu% 8l -o tnan tnan.8
cpu% tnan
tnan 55986: suicide: sys: fp: invalid operation fppc=0x108d status=0x8081
pc=0x1028
cpu% acid -l
this might be an alignment problem. but that's a wild guess.
I think not:
acid: SP
0x0044
you could rewrite NaN in assembler and adjust the stack frame
by hand.
I could. It’s just hard to believe I’m the first to run across this
problem with NaN(2).
you need a processor manual.
Have
cpu% cat t.c
void foo (void)
{
double d;
d = 08.7;
USED(d);
}
cpu% 8c t.c
t.c:4 syntax error, last name: 8.7
cpu%
This came up as I’m making my lexer for C able to scan numbers. I
tried to understand ken’s code, but it gets very hairy right around
cpu% cat t.c
void foo (void)
{
double d = 08.7;
USED(d);
}
cpu% 8c t.c
t.c:3 syntax error, last name: 8.7
cpu%
This came up as I’m making my lexer for C able to scan numbers. I
tried to understand ken’s code, but it gets very hairy right around
Although bio(2) says:
Bungetc and Bungetrune may back up a maximum of five bytes.
I’ve found that Bungetrune is idempotent.
The code in question is from my lexer (switching on the return value from
Bgetrune):
case 'l': case 'L':
switch(Bgetrune(bin)) {
I confess that most of the time, when I need to write to a growable
string buffer, I just use fmtstrinit, fmtprint, and fmtstrflush. It's
just easier, and you get all the print verbs!
A unification of String and Fmt would be an interesting project, if I
had the time. Maybe if someone
Maybe if someone needs/wants to implement a language
with a built-in string type…
That's crazy-talk.
“Then let’s talk crazy.” — Simon Tam
I’m taking a compilers course now. All sorts of terrible ideas are
floating past my mind. ☺
--Joel
How do I best tell yacc to expect a Rune? For example, defining a
“colon-equals” assignment operator with
%right L'≔'
then adding it to the grammar with
expr: NUMBER
| VAR { $$ = mem[$1]; }
| VAR L'≔' expr { $$ = mem[$1] = $3; }
You need to treat non-ASCII UTF-8 the same way
that you treat multiple characters. That is, you
implement '≔' the same way you'd implement ':=' or '+=':
in the lexer as a named symbol like NUMBER and VAR.
Then what does yacc(1) mean when it says that yacc accepts UTF input?
Why should the
As an aside, my yylex code included:
if(c == '.' || (isascii(c) isdigit(c))){
Bungetc(src);
yylval = charstod(getc, 0);
Bungetc(src);
return NUMBER;
}
where getc was a simple wrapper around Bgetc(2) for compatibility
I just tried your program and it worked fine for
me once I changed yylex to return actual Unicode
values instead of byte values. (There is a difference
between Bgetc and Bgetrune.)
D’oh!
Depending on how I write the constants, yacc may or may not accept
the grammar, and when it does
I’ve been appending single Runes to Strings, so I checked
/n/sources/plan9/sys/src/libString/s_putc.c to see if it handled
Runes. Is there a reason it doesn’t, or that s_putrune doesn’t exist?
Here’s my implementation, using none of String internals:
void
s_putrune(String *s, Rune r)
{
I did use an encoding trick to smuggle UTF through lex when I once
wanted to.
Was this just having ‘宁静’ match ‘..’ or something more clever?
--Joel
(Besides the unavailable 10th Edition manual, I mean)
a brief search on the internet (e.g. ISBN 0030475295) suggests that
it is still possible to get hold of...
Listed for $50–80 by stores that don't have it, and for $300+ by those
that do. That qualifies as unavailable to me. ☹
--Joel
Is there a reason that acme doesn’t include a News pane when executing Dump?
--Joel
Is there a reason that acme doesn't include
a News pane when executing Dump?
Probably News doesn't write an appropriate dump
command to the acme ctl file.
How can I fake it?
% cat acme.dump
/usr/chesky
/lib/font/bit/lucidasans/unicode.7.font
/lib/font/bit/lucm/unicode.9.font
0
Don't fake it -- fix News. You have the source.
Right. So… when I try to implement the write-to-ctl in News, what is
the meaning of the numbers sent? Reading through
/acme/mail/src/mail.c and /acme/mail/src/win.c is somewhat less than
edifying.
--Joel
What is the best reference for yacc available? I have the O'Reilly
lex yacc book and S. C. Johnson's 1978 paper from the 7th Edition
manual, but is there something that more closely reflects Plan 9 yacc?
(Besides the unavailable 10th Edition manual, I mean). Is there
somewhere a list of
Has anyone had success with lexer-generators other than lex under Plan
9? I'm taking a compilers class this semester and I'd like to do as
much work under Plan 9 as possible.
I looked around online and found re2c, which looked interesting except
it's written in C++.
For languages sufficiently
I think that most people roll their own lexical analyzers under Plan 9.
That's typically not too hard to do, though.
That's likely what I'll do for the final project (probably yet another
C complier, but I might try my hand with [a subset of] D), but the
professor has said he'll want us to
On 1/7/07, Benn Newman [EMAIL PROTECTED] wrote:
I printed out a boot-leg version of one of O'Reilly's books that has mm
documenation but it is not complete
Do you mean http://www.oreilly.com/openbook/utp/? That's not
samizdat; it's been officially released.
Is there any chance of the 10th
Is there any chance of the 10th (or earlier) Edition manual sources
being made available to be brought up-to-date and added to /sys/doc?
As Arnold pointed out, the 10th Edition Unix manuals
do not cover -mm, neither in Volume 1 (man pages) nor in
Volume 2 (papers).
9th Ed., then? 8th?
One more blind alley...
--Joel
-- Forwarded message --
From: Gunnar Ritter [EMAIL PROTECTED]
Date: Jan 12, 2007 12:08 PM
Subject: Re: Fwd: [9fans] mm macro documentation
To: Joel Salomon [EMAIL PROTECTED]
This thread has just started on the Plan 9 mailing list.
You may
On 1/12/07, Skip Tavakkolian [EMAIL PROTECTED] wrote:
using the Sirius Cybernetics Corporation's Wireless Notebook Optical Mouse
3000[1] with
drawterm on osx-ppc (locally built), any mouse wheel action rolls the page up
Eventually you'll want to see the top of the page; the AI in the Happy
If a program has the console in raw mode, can it erase characters or
words that it has echoed to the screen?
Context is a homework assignment to implement cooked mode in user
space. The code in /sys/src/cmd/rio/wind.c looks to be a start, but I
don't see how to remove characters from the
On 12/20/06, Joel Salomon [EMAIL PROTECTED] wrote:
If a program has the console in raw mode, can it erase characters or
words that it has echoed to the screen?
Oops. I meant a program running under rio, having written rawon to
/dev/consctl.
Experimentally, echoing backspaces does work—sort
I've tried to follow the instructions in
http://plan9.bell-labs.com/wiki/plan9/Drawterm_to_your_terminal —
which used to work — but I'm unable to log in.
I have an account with tip9ug.jp, and my ~/lib/profile imports my
mailbox. When I log in to my laptop directly I'm asked for my user
name at
Not sure how this is happening:
term% 8c -FVw slab.c
eof End of file
term%
Might there be non-printing characters in the file causing this?
There are no Peter faces in the acme window, so how would I check?
--Joel
Not sure how this is happening:
Never mind; it was an unterminated /* */ comment.
--Joel
What is the difference between all the kernel configurations? I know
pccpu is for a cpu server and pccpuf is for a cpu server with fossil,
but there seem to be other ifferneces (vga, mouse) than seem required
for fossil use. Is pccpu just older and out-of-date? If so, why is
the 9pccpu kernel
I compiled a new kernel and called it 9pcauthcpuf. It's in the 9fat
partition, and referenced in plan9.ini. On boot, I get:
error walking to 9pcauthcpuf
Boot devices: fd0 ether0 sdC0!9fat
boot from: [I entered sdC0!9fat!9pcauthcpuf]
error walking to 9pcauthcpuf
I’ve been simulating preemptive multithreading using alarm(2) notes
and lots of stack smashing. (I’ll have some questions about that
later, if things don’t go smooth.)
Anyhow, my taskfork looks like:
void
taskfork(ulong flags)
{
longquantum;
On 12/11/06, Latchesar Ionkov [EMAIL PROTECTED] wrote:
I'd vote for New York, but Austin is fine too :)
Here's another vote for New York. (Especially if it can include a
field trip across the Hudson to the land of New Jersey, where once
dwelt the fair maidens UNIX and Plan 9. (Is anyone at
My theory is that your headpones have a mono-only microphone,
That turned out to be exactly right.
and usbaudio insists on configuring stereo input. I've made another
change to /n/sources/contrib/miller/usb/audio/usbaudio which
might help.
term%
Any clues or tips?
My theory is that your headpones have a mono-only microphone,
Sounds right.
and usbaudio insists on configuring stereo input. I've made another
change to /n/sources/contrib/miller/usb/audio/usbaudio which
might help.
I'll try that one next chance I get; thanks.
--Joel
Can you try the version of usbaudio in /n/sources/contrib/miller and
see if that helps?
term% usb/usbaudio -V
Audio output unit 1
Device can record from unnamed
Audio input unit 7
Device can play to USB Streaming
Audio Selector Unit 8
Audio Feature Unit 9, not known what for
mute
I just purchased a set of USB headphones (Gigaware 43-122) to try on
my laptop. When I run usb/usbaudio, I get the message:
usb/usbaudio: Can't configure record for 44100 or 48000 Hz
Does this mean the device isn’t supported? The list of supported
devices in usb(4) doesn’t seem to
What is the effective change made in termrc between the old version:
disk=''
if(test -f /dev/sd*/swap)
disk=`{ls /dev/sd*/swap [2]/dev/null | sed 1q | sed
's!swap$!!'}
if(! ~ $disk '') {
swap $disk^swap /dev/null [2=1]
dossrv
Installation of OzInferno is easier ... one file, no dumb install shield.
But of course it doesn't exist. Ha ha ...
Which marketing or legal department's people need to have their toes
held to the fire to enable the release of OzInferno?
--Joel
And while you discuss it, don't forget that Home and End are also
different in plan9 in that they refer to the document not the current line.
Also don't forget what selecting text and hitting Backspace does…
Under Windows and lunix I've found myself selecting text, hitting
backspace—then
On 11/14/06, Skip Tavakkolian [EMAIL PROTECTED] wrote:
might want to also checkout Russ' libtask (at swtch.com).
That'll be more useful later, when I'm working on the scheduling. I
was asking about stack creation though; my professor gave us sample
code for use under Linux (very similar to
You really care about _threadinitstack (386.c) and setjmp(2).
tos means top of stack.
That's what I was looking for; thanks.
--Joel
For my next homework in my Operating Systems class, the professor has
assigned the equivalent of a simple libthread. I’ve been looking
through the libthread code and getting lost ☹. I don’t need procs,
only threads (except for the oh-so-fun complication of user-level
pre-emptive scheduling, but
Where in libthread does the stack get set up, and could somebody
please give me a high-level overview of what the code is doing?
Specifically, in create.c, what is newthread doing—and how? Unless
that is the wrong place to look, in which case I really am lost.
--Joel
are these two the same paper? any reason for difference in
titles?
Compare Plan 9: The Early Papers (CSTR #158 at
http://plan9.bell-labs.com/cm/cs/cstr.html, or
http://www.ecf.utoronto.ca/plan9/plan9doc/) to the newer documents
in /sys/doc .
unless i'm missing something, it doesn't
I’m trying to wait for all child processes to finish. The lunix code my
professor gave me for this was:
while (wait(wstat)0)
;
which I naïvely translated as:
while(waitpid() != 0)
;
which hangs. Evidently waitpid returns something other than 0
Never mind; I found /sys/src/libc/9sys/waitpid.c so I know that wait pid
returns -1 if there are no children, and I’ve submitted a patch to wait(2).
--Joel
The source for the entire C library is in /sys/src/libc/*/*.
It might take a few milliseconds to grep through.
Plus a few seconds to open a window, type the grep command; compared to
right-clicking in acme, it’s practically an eternity ☺.
--Joel
Don't bother submitting a patch; I've updated the SOURCE section of wait(2).
That was half my patch.
You didn't need the source to get the answer to your question
either; note the phrase `These routines set errstr.' and see
intro(2) for what this means.
Is waiting without children
On 11/8/06, Skip Tavakkolian [EMAIL PROTECTED] wrote:
are these two the same paper? any reason for difference in
titles?
Compare Plan 9: The Early Papers (CSTR #158 at
http://plan9.bell-labs.com/cm/cs/cstr.html, or
http://www.ecf.utoronto.ca/plan9/plan9doc/) to the newer documents
in /sys/doc
I assume you mean that you segattach and then fork,
so that you have a segment shared between both
parent and child.
Yes, that's the homework assignment; seems a reasonable scenario.
Probably the easiest thing to do in this case
would be to add a function that could register
a different
Is there some way, short of reinventing the wheel, to use QLocks to protect
memory aquired by segattach(2) after a fork?
This came up when I was cribbing QLock code for user-level queued counting
semaphores for homework; the professor wanted semaphores protecting a FIFO in a
shared memory
On 10/26/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
int
getscreensize(int *minx, int *miny, int *maxx, int *maxy)
{
char buf[12*12+1];
int fd;
buf[sizeof(buf) - 1] = 0;
fd = open(#i/draw/new, OREAD);
if(fd 0)
return -1;
On 10/26/06, David Leimbach [EMAIL PROTECTED] wrote:
Then there's riosession
#!/bin/rc
echo -n $1 /dev/label
bind /dev/null /dev/label
sleep 2 # I actually forget why I did that
rio
I added a shift and changed rio to rio $* so I could pass a starting
script -- for example starting faces and
getting rid of menus, and of rio, if possible. wopukld also *love* to
see a single command window instead of taglines (maybe my fault,
but I can only move to thhe beginning or end, but not really scroll
through the tagline)
Seems you want to add graphics to sam, not acme.
--Joel
I don't perceive much problem with acme on laptop, but I might be
biased using sxga+ display.
With the number of open panes acme encourages, I find it painful on a
800×600 monitor, cramped at 1024×768, and just barely comfortable at
1600×1200. When I win the lotto I’ll buy me one of those 30
I've pulled the source down, and a quick look shows that they've based at
least part of their code base on the Plan 9 source,
More likely it’s based on the same UNIX source that Plan 9’s is (ditroff by way
of OpenSolaris; ours is by way of Research Unix)
It would be nice to merge the code
I'm in the process of adding a boot option to my machine to be a
stand-alone cpu/auth/file server, but keeping the old 9pcf kernel as
the other option. That said, I don't know what I changed to cause
this:
usb/usbmouse: /dev/mousein: '/dev/mousein' file does not exist
which I'm getting all of
?c only recognize 9 preprocessor symbols:
I’ve missed __FILE__ and __LINE__ on occasion, but not enough to use the -p
option to ?c.
--Joel
?c only recognize 9
preprocessor symbols:
snip
and that's easily more than too much
When metaprogramming techniques are needed, should we have the C
preprocessor or are we going to get a better tool? (I know! I know!
C++ templates! ☺)
I’ve needed the full-power preprocessor in the
it should be noted somewhere that sam structured regexp applies
to Edit.
It is so noted in acme(1); it just took me a while reading sam(1) to
figure out the proper command syntax.
--Joel
On 10/20/06, Paul Lalonde [EMAIL PROTECTED] wrote:
Ah well, there goes one argument for keeping the header soup clean.
A better argument comes from a recent post on comp.lang.c:
automatically remove unused #includes from C source? where the
fellow asks for a tool to automatically analyze C
edit applies to the current seoection, so if you want to do a global search
and replace you need
Edit ,s:foo:bar:g
I’d like to look this up; is this a sam feature or an acme Edit one?
--Joel
Homework help: Could someone point me to an explanation of semaphore
implementation? I'm supposed to implement something very like
semacquire(2) using TAS spinlocks (the professor says it's OK for me
to use lock(2), but not qlock), but in user mode. He suggests using
signals for wakeup.
I'm
Is there some study kicking around that I could point them at rather
than re-factor our code base and time the resulting builds? I know
the plan9 headers largely follow this pattern.
I'm fairly certain it's a stylistic/maintainability issue on Plan 9,
not an efficiency one.
--Joel
Getnetconninfo will return an IP address.
Seems I need getnetconninfo, but maybe not csipinfo, just a reverse dns lookup;
Ndbtuple* t = dnsquery(/net (or nil, or ?), i-rsys, ptr)
ought to do the trick. I just need to check which of t-attr and
t-line-attr is ptr and which is dom (Is it
On 10/13/06, andrey mirtchovski [EMAIL PROTECTED] wrote:
well, do you?
Take him to a bar and introduce him to everyone.
http://www.amazon.com/dp/B549B0 and
http://www.amazon.com/dp/0856761370.
--Joel
On 9 Oct 2006 22:36:50 -0400, Scott Schwartz [EMAIL PROTECTED] wrote:
Unix manpages these days are formatted for online viewing
just as you suggest, and it seems to work fine.
e.g. linux does:
snip
I made myself a cpy of /rc/bin/man, and I'm trying to get the same
effect by changing all the
On 10/12/06, Russ Cox [EMAIL PROTECTED] wrote:
There is a much simpler solution:
edit /sys/lib/tmac/tmac.an:
Won't that affect the output of man -p as well?
--Joel
On 10/12/06, Russ Cox [EMAIL PROTECTED] wrote:
There is a much simpler solution:
edit /sys/lib/tmac/tmac.an:
Won't that affect the output of man -p as well? Or is the \ifn taking
care of that?
--Joel
On 10/9/06, G. David Butler [EMAIL PROTECTED] wrote:
And if you are interested in a much deeper discussion, look at the archives
from 1999.
Looking at the subject headers at http://9fans.net/archive/1999, I'm
not seeing anything directly related to open or create. Could you
please be a bit
On 10/9/06, Felipe Bichued [EMAIL PROTECTED] wrote:
You might want to read this: http://lsub.org/who/nemo/9.intro.pdf
It's a great resource; I've been referring to it extensively.
BTW: Thanks, nemo!
--Joel
Importing mailboxes
I've been trying to import my mailbox from my account at tip9ug.jp using
import -c 131.112.14.44 /mail/box/chesky/
import -c 131.112.14.44 /net /net.alt
in my lib/profile, but attempts to seed mail give me an error of the
form 'invalid email address' or some
Following suggestions, I deleted my local copy of
/mail/box/chesky/mbox and /mail/box/chesky/L.mbox and included
import -ac 131.112.14.44 /mail/box/chesky/
in my lib/profile. I can now read my mail on my tip9ug.jp account
([EMAIL PROTECTED], when the domain is reregistered) -- a single,
On 9/19/06, andrey mirtchovski [EMAIL PROTECTED] wrote:
add auth=131.112.14.44 authdom=tip9ug.jp to /lib/ndb/local
then from the plan9 machine:
cpu -h 131.112.14.44
Thanks, that worked -- once I rembered what I'd changed my password to.
--Joel
Using 131.112.14.44 (tip9ug.jp) as an example, how would I connect to
my mailbox there? I assume I should run upas/fs -f something, but
what's the something?
--Joel
On 9/20/06, Skip Tavakkolian [EMAIL PROTECTED] wrote:
UPASFS(4)
The options are:
-ffile use file as the mailbox instead of the default,
/mail/box/username/mbox.
Right, so I'm guessing I need to mount my tip9ug mailbox before
On 9/20/06, Skip Tavakkolian [EMAIL PROTECTED] wrote:
if you have a plan9 term, then you probably want to import your mailbox
and run upas/fs locally.
Importing the mailbox is exactly what I'm trying to do. Thanks for
the phrasing.
Now, how do I do that?
--Joel
On 9/20/06, David Leimbach [EMAIL PROTECTED] wrote:
I usually cheat, a lot and do
import mordor /mail
import mordor /net
upas/fs
I'm trying
import -ac 131.112.14.44 /mail/box/chesky/
right now, having deleted my local copies of ...box/chesky[L.mbox mbox].
I can read a mail from boyd dated
I've finally gotten Plan 9 working on my laptop (I think, I hope...),
but can't do much with it. The school network admins have given me an
IP address so I can connect to sources but I can't get anything off my
system; the school email system doesn't connect to normal clients and
I've no clue how
On 9/19/06, John Floren [EMAIL PROTECTED] wrote:
Wait, so you want a Plan 9 account so you can transfer your files
there and then email them elsewhere?
Or so I can cpu into that macine and use Acme mail from my machine directly.
How would that work? I'd need an auth account somewhere, and
On 9/19/06, John Floren [EMAIL PROTECTED] wrote:
At 131.112.14.44 you can find the tip9ug servers,
which also have free accounts, but be warned that the domain registry
(tip9ug.jp) has expired, so you'll have to do all connections by IP.
I have an account by them and have successfully
On 9/14/06, erik quanstrom [EMAIL PROTECTED] wrote:
i think you're install has it's wires crossed. the hang is from ip/ipconfig
trying to contact a dhcp server to get it's address.
I think I'll include a prompt and query in termrc to decide whether to
run ip/ipconfig.
i've got a hunch your
On 9/15/06, erik quanstrom [EMAIL PROTECTED] wrote:
could it be that your venti address was assigned by dhcp in one location
and you moved, thus fossil can't find it?
How and why would fossil be looking for venti; I did a fossil-only
install (or selected that option, anyway).
Also, I've been
On 9/12/06, Joel Salomon [EMAIL PROTECTED] wrote:
I'm installing Plan 9 on a Thinkpad T23. The Install from CD option
works -- I get rio and the install proceeds smoothly -- but on the
next boot the system hangs after the
init: starting /bin/rc
message. I'm getting the same lack
On 9/12/06, erik quanstrom [EMAIL PROTECTED] wrote:
i'd start by booting the cd, mounting the local fossil and breadcrumb
$home/lib/profile.
Did that, but the problem evaporated on its own this most recent
install attempt; some of the messages came up, and then rio started.
Now to read the
I've seen this mentioned in the archives, but attributed to various
causes none of which apply here.
I'm installing Plan 9 on a Thinkpad T23. The Install from CD option
works -- I get rio and the install proceeds smoothly -- but on the
next boot the system hangs after the
init: starting
BTW, the boot options I've chosen are monitor=1024x768x32, vga=t23,
dma I've tried both ways (though I'll give no another try if someone
thinks it's warranted).
--Joel
On 9/12/06, erik quanstrom [EMAIL PROTECTED] wrote:
i'd start by booting the cd, mounting the local fossil and breadcrumb
$home/lib/profile.
is it getting that far?
I'm not getting to any prompt on boot-up after installation. Is this
something I could do during the install process before
This came up on the Freenet mailing list, but the patent issue
(approximately, retrieving data blocks over a network based on their
hashes) might affect Venti as well -- or, some predecessor to Venti
might be good prior art.
Any thoughts?
--Joel
-- Forwarded message --
From:
On 6/7/06, Dan Cross [EMAIL PROTECTED] wrote:
if I want C++, Java, C#, or Ruby, I know where to get them.
You know where to find a standards-compliant C++ compiler? ☺
--Joel
On 5/19/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
On Fri May 19 17:55:50 CDT 2006, [EMAIL PROTECTED] wrote:
Take Hebrew, for instance: 27 letters (including the 5 final forms) +
a few alternate forms, 15 vowel marks, 25+ cantillation marks --
that's more than 10,000 combinations right
On 5/19/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
this is valid unicode
u+0069 u+0300 u+0301 u+0302 u+0303
all those combining codepoints attach to the base cp u+0069. figure out how to
build
that glyph.
The Gentium font makes a fair try.
--Joel
Nizhegorodskaia_gentium.png
On 5/19/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
this is valid unicode
u+0069 u+0300 u+0301 u+0302 u+0303
all those combining codepoints attach to the base cp u+0069. figure out how to
build
that glyph.
The Gentium font makes a fair try.
--Joel
Nizhegorodskaia_gentium.png
On 5/18/06, Bruce Ellis [EMAIL PROTECTED] wrote:
32 bit unicode is not Rune friendly
The other standard, ISO 10646, has promised that 21 bits will always
be sufficient to represent characters.
Making Rune a 32 bit type allows all characters to be represented and
leaves room for out-of-band
On 5/19/06, Francisco J Ballesteros [EMAIL PROTECTED] wrote:
On 5/19/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
á is a single codepoint. sure. but there are useful letters that don't
exist in unicode unless they are composed. e.g. romanized russian,
accented cyrillic, etc.
isn´t there
On 2/13/06, Joel Salomon [EMAIL PROTECTED] wrote:
Why would that be? Don't ?l use (a variant of) the a.out format?
And I'm pretty sure that ELF, a.out, and the Windows format (COFF?)
are well supported by binutils.
--Joel
On 2/13/06, Latchesar Ionkov [EMAIL PROTECTED] wrote:
IIRC ?l produces executable that is a.out variant, but the input object
files are very different than the .o files binutils support. Plan9 object
files are binary encoded assembler instructions.
I'd forgotten about that.
How hard would a
1 - 100 of 105 matches
Mail list logo