view lisp/float-sup.el @ 9704:39b34bbe59c9

(x_catch_errors, x_check_errors, x_had_errors_p) (x_uncatch_errors): Make the argument a display, not a frame. (XTread_socket_fake_io_error): New variable. (XTread_socket): Obey XTread_socket_fake_io_error. (x_initialize): Init x_noop_count, x_focus_frame and x_highlight_frame here. (x_term_init): Not here. (x_term_init): Open the connection first thing; if that fails, don't allocate dpyinfo. (x_delete_display): New function. (x_connection_closed): New args dpyinfo and error_message. Delete all frames on the dead display and all frames using them for minibuffers. Call x_delete_display. Maybe signal a Lisp error. (x_term_init): Don't report error here--just return 0. (x_scroll_bar_report_motion): Store proper value in *bar_window (the Emacs window, not the X window number). (x_scroll_bar_report_motion): Don't clear *fp. (x_wm_set_icon_pixmap): Use x_bitmap_pixmap. (show_mouse_face): New arg dpyinfo. All callers changed. (clear_mouse_face): New arg dpyinfo. All callers changed. (scratch_cursor_gc): Variable deleted. (dumpglyphs): Use scratch_cursor_gc in x_display_info. (syms_of_xterm): Don't staticpro mouse_face_window. (expose_all_windows, expose_all_icons): Variables deleted. (BLOCK_INPUT_mask): Variable deleted. (x_term_init): Set up x_id_name field. (x_id_name): Variable deleted. (x_font_table, x_font_table_size, x_n_fonts): Vars deleted. (x_new_font): Use new fields. (warp_mouse_on_deiconify): Unused variable deleted. (x_term_init): Set up dpyinfo->xrdb. Set up dpyinfo->vertical_scroll_bar_cursor. (x_scroll_bar_create): Use vertical_scroll_bar_cursor slot. (x_vertical_scroll_bar_cursor): Variable deleted. (x_term_init): Really return dpyinfo. (x_term_init): Call add_keyboard_wait_descriptor, not change_keyboard_wait_descriptor. (x_term_init): Pass new arg to init_sigio. Don't set old_fcntl_owner. Don't call change_input_fd. (XTread_socket): Loop over displays and process input from each. (x_display_name_list): New variable. (syms_of_xterm): staticpro it. Don't staticpro slots in the_x_screen. (x_term_init): Update x_display_name_list along with x_display_list. Actually malloc the x_display_info. (the_x_screen): Variable deleted.
author Richard M. Stallman <rms@gnu.org>
date Wed, 26 Oct 1994 09:26:40 +0000
parents 213978acbc1e
children 83f275dcd93a
line wrap: on
line source

;;; float-sup.el --- detect absence of floating-point support in Emacs runtime

;; Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.

;; Maintainer: FSF

;; This file is part of GNU Emacs.

;; GNU Emacs 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 2, or (at your option)
;; any later version.

;; GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

;;; Code:

;; Provide a meaningful error message if we are running on
;; bare (non-float) emacs.
;; Can't test for 'floatp since that may be defined by float-imitation
;; packages like float.el in this very directory.

(if (fboundp 'atan)
    nil
  (error "Floating point was disabled at compile time"))

;; provide an easy hook to tell if we are running with floats or not.
;; define pi and e via math-lib calls. (much less prone to killer typos.)
(defconst pi (* 4 (atan 1)) "The value of Pi (3.1415926...)")
(defconst e (exp 1) "The value of e (2.7182818...)")

;; Careful when editing this file ... typos here will be hard to spot.
;; (defconst pi       3.14159265358979323846264338327
;;  "The value of Pi (3.14159265358979323846264338327...)")

(defconst degrees-to-radians (/ pi 180.0)
  "Degrees to radian conversion constant")
(defconst radians-to-degrees (/ 180.0 pi)
  "Radian to degree conversion constant")

;; these expand to a single multiply by a float when byte compiled

(defmacro degrees-to-radians (x)
  "Convert ARG from degrees to radians."
  (list '* (/ pi 180.0) x))
(defmacro radians-to-degrees (x)
  "Convert ARG from radians to degrees."
  (list '* (/ 180.0 pi) x))

(provide 'lisp-float-type)

;;; float-sup.el ends here