==============================================================
Starting image `/usr/sww/bin/cl'
  with no arguments
  in directory `/home/central/users/fateman/float/'
  on machine `peoplesparc'.

Allegro CL 4.1 [SPARC; R1] (5/19/92 14:29)
Copyright (C) 1985-1992, Franz Inc., Berkeley, CA, USA.  All Rights Reserved.
;; Optimization settings: safety 1, space 1, speed 1, debug 2
;; For a complete description of all compiler switches given the current
;; optimization settings evaluate (EXPLAIN-COMPILER-SETTINGS).

USER(1): (defpackage :ieee)
#<The IEEE package>
USER(2): (in-package :ieee)
#<The IEEE package>
IEEE(3): :ld ieee
; Fast loading /home/central/users/fateman/float/ieee.fasl.
;   Foreign loading with system libraries m.
IEEE(4): (single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
IEEE(5): (defun foo (signal & optional ignore)
	   (format t "~&; got signal ~d~%" signal) t)
FOO
IEEE(6): (add-signal-handler 8 'foo) ;sigfpe

Error: attempt to call `ADD-SIGNAL-HANDLER' which is an undefined function.
  [condition type: UNDEFINED-FUNCTION]

Restart actions (select using :continue):
 0: Try calling ADD-SIGNAL-HANDLER again
 1: Try calling EXCL:ADD-SIGNAL-HANDLER instead
 2: Return a value
 3: Try calling a different function
 4: Setf the symbol function of ADD-SIGNAL-HANDLER and call it again
[1] IEEE(7): :continue 1
((8 . FOO))
IEEE(8): 






(single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
IEEE(9): (/ 1.0 0.0)
Error: Attempt to divide 1.0 by zero
  [condition type: DIVISION-BY-ZERO]
[1] IEEE(10): :reset
IEEE(11):  (let ((gotsig-address
                    (ff:get-entry-point (ff:convert-to-lang "gotsig"))))
               (unless gotsig-address
                 (error "couldn't find address of gotsig"))
               (ff:defforeign 'unix-signal
                   :entry-point (ff:convert-to-lang "signal")
                   :arguments '(integer integer))
               (defun setup-for-new-signal (number)
                 (unix-signal number gotsig-address)))
SETUP-FOR-NEW-SIGNAL
IEEE(12): (defconstant *additional-signal* 8)
*ADDITIONAL-SIGNAL*
IEEE(13):  (defun additional-signal-handler (signal &optional ignore)
               (format t "additional-signal-handler: ~s~%" signal)
               (finish-output)
               t)
ADDITIONAL-SIGNAL-HANDLER
IEEE(14):  (setup-for-new-signal *additional-signal*)
97380
IEEE(15): (single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
IEEE(16):  (add-signal-handler *additional-signal* 'additional-signal-handler)
Error: attempt to call `ADD-SIGNAL-HANDLER' which is an undefined function.
  [condition type: UNDEFINED-FUNCTION]

Restart actions (select using :continue):
 0: Try calling ADD-SIGNAL-HANDLER again
 1: Try calling EXCL:ADD-SIGNAL-HANDLER instead
 2: Return a value
 3: Try calling a different function
 4: Setf the symbol function of ADD-SIGNAL-HANDLER and call it again
[1] IEEE(17): :continue 1o
((8 . ADDITIONAL-SIGNAL-HANDLER) (8 . FOO))
IEEE(18): (single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
IEEE(19):   (load "" :unreferenced-lib-names 

	'("__swapRD"
	  "__swapRP"
	  "__swapEX"
	  "_nextafter"		;these items are not used here at the moment..
	  "_ieee_handler"
	  "_ieee_flags"
	  "_copysign"
	  "_log")
	:system-libraries '("m"))
; Foreign loading with system libraries m.
T
IEEE(20): (ff:defforeign 'ieee_handler 
    :arguments
  '(string string (vector (unsigned-byte 32) 1))
  :return-type :integer)
T
IEEE(21): (setq old-div-handler (ieee_handler "set" "division" 0) )
Error: expected arg of type (VECTOR (UNSIGNED-BYTE 32) 1), got type FIXNUM for
       0
[1] IEEE(22): (defvar *out* (make-array 1 :element-type '(unsigned-byte 32))
  "used as entry point dummy")
*OUT*
[1] IEEE(23): (setq old-div-handler (ieee_handler "set" "division" *out*) )
0
[1] IEEE(24): (single-/ 1.0 0.0)
Error: Received signal number 4 (Illegal instruction)
[2] IEEE(25): big
3.4028232e+38
[2] IEEE(26): (* big big)
#.EXCL::*INFINITY-SINGLE*
[2] IEEE(27): (setq old-div-handler (ieee_handler "set" "overflow" *out*) )
0
[2] IEEE(28): (* big big)
#.EXCL::*INFINITY-SINGLE*
[2] IEEE(29): (setq old-div-handler (ieee_handler "set" "all" *out*) )
(setq old-div-handler (ieee_handler "set" "all" *out*) )
0
[2] IEEE(30): (* big big)
#.EXCL::*INFINITY-SINGLE*
[2] IEEE(31): (single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
[2] IEEE(32): (single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
[2] IEEE(33): (setq old-div-handler (ieee_handler "set" "division" *out*) )
0
[2] IEEE(34): (single-/ 1.0 0.0)
#.EXCL::*INFINITY-SINGLE*
[2] IEEE(35): (ieee_handler "get" "division" *out*)
14114524
[2] IEEE(36): *out*
#(0)
[2] IEEE(37):  (ieee_handler "set" "division" *out*)
0
[2] IEEE(38): *out*
#(0)
[2] IEEE(39):