Mercurial > hg > xemacs-beta
view nt/paths.h @ 5908:6174848f3e6c
Use parse_integer() in read_atom(); support bases with ratios like integers
src/ChangeLog addition:
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* data.c (init_errors_once_early):
Move the Qunsupported_type here from numbers.c, so it's available
when the majority of our types are not supported.
* general-slots.h: Add it here, too.
* number.c: Remove the definition of Qunsupported_type from here.
* lread.c (read_atom):
Check if the first character could reflect a rational, if so, call
parse_integer(), don't check the syntax of the other
characters. This allows us to accept the non-ASCII digit
characters too.
If that worked partially, but not completely, and the next char is
a slash, try to parse as a ratio.
If that fails, try isfloat_string(), but only if the first
character could plausibly be part of a float.
Otherwise, treat as a symbol.
* lread.c (read_rational):
Rename from read_integer. Handle ratios with the same radix
specification as was used for integers.
* lread.c (read1):
Rename read_integer in this function. Support the Common Lisp
#NNNrMMM syntax for parsing a number MMM of arbitrary radix NNN.
man/ChangeLog addition:
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* lispref/numbers.texi (Numbers):
Describe the newly-supported arbitrary-base syntax for rationals
(integers and ratios). Describe that ratios can take the same base
specification as integers, something also new.
tests/ChangeLog addition:
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-reader-tests.el:
Check the arbitrary-base integer reader syntax support, just
added. Check the reader base support for ratios, just added.
Check the non-ASCII-digit support in the reader, just added.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 09 May 2015 00:40:57 +0100 |
parents | 4be1180a9e89 |
children |
line wrap: on
line source
/* Hey Emacs, this is -*- C -*- code! */ /* Synched up with: Not synched with FSF. */ /* Think twice before editing this file. Generated automatically by configure. The file startup.el guesses at reasonable values for load-path, exec-path, and lock-directory. This means that if you move emacs and its associated sub-tree to a different place in the filesystem, or to a different machine, you won't have to do anything for it to work. If you define the paths in this file then they will take precedence over any value generated by the heuristic in startup.el. The hardcoded paths will be checked to see if they are valid, in which case they will be used. Otherwise the editor will attempt to make its normal guess. See the NEWS file for a description of the heuristic used to locate the lisp and exec directories at startup time. If you are looking at this file because you are having trouble, then you would be much better off arranging for those heuristics to succeed than defining the paths in this file. ** Let me say that again. If you're editing this file, you're making ** a mistake. Re-read the section on installation in ../etc/NEWS. If it defines anything, this file should define some subset of the following: PATH_PREFIX The default value of `prefix-directory'. This is the default root for everything. PATH_LOADSEARCH The default value of `load-path'. PATH_EXEC The default value of `exec-directory' and `exec-path'. (exec-path also contains the value of whatever is in the PATH environment variable.) PATH_DATA The default value of `data-directory'. This is where architecture-independent files are searched for. PATH_LOCK The name of the directory that contains lock files with which we record what files are being modified in Emacs. This directory should be writable by everyone. If this is specified, the string must end with a slash! PATH_SUPERLOCK The name of the file !!!SuperLock!!! in the lock directory. You probably should let this default... PATH_INFO The default value of `Info-directory-list'. This is where info files are searched for. */