Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Questions about character types



I'm just looking at handling character types consistently for multibyte
characters.

The most important issue is what to allow in identifiers (which usually
means parameter names).  The traditional zsh behaviour is to allow all
non-ASCII characters.  Now we can do it properly, it makes sense to
limit these to alphanumerics; this isn't portable, but allowing all
8-bit characters as before seems too gross to continue.  However,
according to POSIX, only characters from the "portable character set",
which in our case means the ASCII subset, are allowed.  The only way
round this I can see is to add an option POSIX_IDENTIFIERS to limit the
behaviour.  I would use an existing option if one seemed relevant but it
doesn't.

The test for module names currently approximates that for identifiers,
only allowing / as well, so I think using the same logic as above would
be the obvious thing to do.

Another question is what to do with user names.  Currently these are
just the ASCII identifier characters plus "-".  Is it useful to extend
these to include alphanumeric characters from the local character set?

Finally, I failed to interpret this code from math.c:

	    if (*ptr == '+' && (unary || !ialnum(*ptr))) {
		ptr++;
		return (unary) ? PREPLUS : POSTPLUS;
	    }

I don't see how ialnum(*ptr) could succeed.  What does this mean?

-- 
Peter Stephenson <pws@xxxxxxx>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


To access the latest news from CSR copy this link into a web browser:  http://www.csr.com/email_sig.php



Messages sorted by: Reverse Date, Date, Thread, Author