annotate lisp/mule/mule-tty-init.el @ 5602:c9e5612f5424

Support the MP library on recent FreeBSD, have it pass relevant tests. src/ChangeLog addition: 2011-11-26 Aidan Kehoe <kehoea@parhasard.net> * number-mp.c (bignum_to_string): Don't overwrite the accumulator we've just set up for this function. * number-mp.c (BIGNUM_TO_TYPE): mp_itom() doesn't necessarily do what this code used to think with negative numbers, it can treat them as unsigned ints. Subtract numbers from bignum_zero instead of multiplying them by -1 to convert them to their negative equivalents. * number-mp.c (bignum_to_int): * number-mp.c (bignum_to_uint): * number-mp.c (bignum_to_long): * number-mp.c (bignum_to_ulong): * number-mp.c (bignum_to_double): Use the changed BIGNUM_TO_TYPE() in these functions. * number-mp.c (bignum_ceil): * number-mp.c (bignum_floor): In these functions, be more careful about rounding to positive and negative infinity, respectively. Don't use the sign of QUOTIENT when working out out whether to add or subtract one, rather use the sign QUOTIENT would have if arbitrary-precision division were done. * number-mp.h: * number-mp.h (MP_GCD): Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS. * number.c (Fbigfloat_get_precision): * number.c (Fbigfloat_set_precision): Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't support big floats.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 26 Nov 2011 17:59:14 +0000
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 333
diff changeset
1 ;;; mule-tty-init.el --- Initialization code for console tty under MULE -*- coding: iso-2022-7bit; -*-
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
2
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
3 ;; Copyright (C) 1998 Free Software Foundation, Inc.
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
4 ;; Copyright (C) 1998 Kazuyuki IENAGA <kazz@imasy.or.jp>
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
5
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
6 ;; Author: Kazuyuki IENAGA <kazz@imasy.or.jp>
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
7 ;; Keywords: mule, tty, console, dumped
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
8
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
9 ;; This file is part of XEmacs.
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
10
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
11 ;; XEmacs is free software: you can redistribute it and/or modify it
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
12 ;; under the terms of the GNU General Public License as published by the
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
13 ;; Free Software Foundation, either version 3 of the License, or (at your
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
14 ;; option) any later version.
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
15
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
16 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
17 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
18 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
19 ;; for more details.
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
20
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 788
diff changeset
22 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
23
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
24 ;;; Commentary:
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
25
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
26 ;; This file is dumped with XEmacs when Mule and TTY support are enabled.
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
27
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
28 ;;; Code:
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
29
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
30 (defvar mule-tty-win-initted nil)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
31
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
32 (defun init-mule-tty-win ()
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
33 "Initialize TTY for MULE at startup. Don't call this."
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
34 (unless mule-tty-win-initted
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
35 (add-hook
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
36 'before-init-hook
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
37 (lambda ()
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
38 (when (eq (device-type) 'tty)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
39 (when (string-match "^kterm" (getenv "TERM"))
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
40 (set-terminal-coding-system 'euc-jp)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
41 (set-keyboard-coding-system 'euc-jp))
788
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 502
diff changeset
42 (declare-fboundp (set-console-tty-coding-system)))))
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
43 (setq mule-tty-win-initted t)))
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
44
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
45 ;;; mule-tty-init.el ends here