Mercurial > hg > xemacs-beta
view etc/bundled-packages/README @ 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 | 90dcf2376909 |
children |
line wrap: on
line source
Copyright 2007 Free Software Foundation This file is part of XEmacs. XEmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs. If not, see <http://www.gnu.org/licenses/>. Package distributions may be placed in this directory. If present and a package-path is configured, packages can be installed using the top-level Makefile. To configure the package path, use the --with-late-packages option to configure, which specifies a single directory in which to install the xemacs-packages and mule-packages hierarchies provided. If this is null, or contains a Unix-style search path (i.e., a colon is present in the argument of the --with-late-packages option), you will have to install the packages by hand. To find out if a distribution includes bundled packages, type make check-available-packages There are three Make targets that may be available depending on the package sets supplied. make install-bootstrap-packages Install a selected set of packages sufficient to support downloading and installing packages via the M-x list-packages interface. Chose this if you want to be able to install the latest version of each package immediately. make install-nomule-packages Install the full distribution of packages that do not require a Mule-enabled XEmacs. Choose this package if you don't have a Mule-enabled XEmacs and want the convenience of a single-command installation. You can add or update packages via M-x list-packages at any time. make install-all-packages Install the full distribution of packages, including those requiring a Mule-enabled XEmacs. Choose this package if you have a Mule- enabled XEmacs and want the convenience of a single-command installation. You can add or update packages via M-x list-packages at any time. DISTRIBUTOR'S NOTE: you may choose what packages you wish to include in bootstrap.tar.gz, but to make list-packages work you need to include at least xemacs-base, dired, and efs. The tarball should unpack directly as an xemacs-packages tree (and optionaly, a mule-packages tree. Also, if either of xemacs-sumo.tar.gz or xemacs-mule-sumo.tar.gz is provided, the other should be as well. If packages are not available with the distribution, you can get them at ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-mule-sumo.tar.gz http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/bootstrap.tar.gz and place them in the same directory as this file. You can also make your own bootstrap.tar.gz by creating a directory xemacs-packages, then untarring the packages of your choice into that directory, and tarring the whole thing up with "tar czf bootstrap.tar.gz xemacs-packages". (If you wish to include mule-packages, you should place them in mule-packages as a sibling of xemacs-packages.) This facility currently does not support installations which configure the --with-early-packages, --with-late-packages, or --with-last-packages options. This facility currently will not overwrite an existing package installation, not even if a whole hierarchy (usually the mule-packages) is missing. In particular, you cannot use this feature to add the mule-packages to a package installation which lacks them, even if the hierarchy is missing, or the xemacs-packages hierarchy was installed this way. Nor can you "upgrade" a bootstrap installation to a full installation. If you wish to do any of these things you will need to remove the existing hierarchies.