annotate man/lispref/index.texi @ 5911:48386fd60fd0

GMP functions that take doubles choke on non-finite values, avoid that. src/ChangeLog addition: 2015-05-10 Aidan Kehoe <kehoea@parhasard.net> * floatfns.c (double_to_integer): Rename this from float_to_int to fit our newer, bignum-compatible terminology. GMP can signal SIGFPE when asked to turn NaN or infinity into a bignum, and we're not prepared to handle that signal if the OS float library routines don't do that, so check for those values explicitly. * floatfns.c (ceiling_two_float): * floatfns.c (ceiling_one_float): * floatfns.c (floor_two_float): * floatfns.c (floor_one_float): * floatfns.c (round_two_float): * floatfns.c (round_one_float): * floatfns.c (truncate_two_float): * floatfns.c (truncate_one_float): Call double_to_integer() with its new name. * number.c: Don't use the {bignum,ratio,bigfloat}_set_double functions directly here, with GMP they can choke when handed non-finite C doubles, call Ftruncate() and the new float_to_bigfloat() from floatfns.c. Maybe we should extend number-gmp.c with GMP-specific implementations that check for non-finite values. tests/ChangeLog addition: 2015-05-10 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Backslash a few parentheses in the first column for the sake of fontification. * automated/lisp-tests.el: Check that the rounding functions signal Lisp errors correctly when handed positive and negative infinity and NaN.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 10 May 2015 19:07:09 +0100
parents 576fb035e263
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
1 @c -*-texinfo-*-
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
2 @setfilename ../../info/index.info
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
3
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
4 @c Indexing guidelines
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
5
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
6 @c I assume that all indexes will be combined.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
7 @c Therefore, if a generated findex and permutations
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
8 @c cover the ways an index user would look up the entry,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
9 @c then no cindex is added.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
10 @c Concept index (cindex) entries will also be permuted. Therefore, they
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
11 @c have no commas and few irrelevant connectives in them.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
12
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
13 @c I tried to include words in a cindex that give the context of the entry,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
14 @c particularly if there is more than one entry for the same concept.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
15 @c For example, "nil in keymap"
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
16 @c Similarly for explicit findex and vindex entries, e.g. "print example".
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
17
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
18 @c Error codes are given cindex entries, e.g. "end-of-file error".
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
19
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
20 @c pindex is used for .el files and Unix programs
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
21
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
22 @node Index, , Standard Hooks, Top
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
23 @unnumbered Index
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
24
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
25 @ignore
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
26 All variables, functions, keys, programs, files, and concepts are
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 398
diff changeset
27 in this one index.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
28
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
29 All names and concepts are permuted, so they appear several times, one
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
30 for each permutation of the parts of the name. For example,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
31 @code{function-name} would appear as @b{function-name} and @b{name,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
32 function-}. Key entries are not permuted, however.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
33 @end ignore
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
34
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
35 @c Print the indices
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
36
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
37 @printindex fn