0.6.12.49:
[sbcl.git] / src / compiler / fndb.lisp
index 67288ae..ba89f35 100644 (file)
@@ -97,7 +97,7 @@
 \f
 ;;;; classes
 
-(sb!xc:deftype name-for-class () 't)
+(sb!xc:deftype name-for-class () t)
 (defknown class-name (sb!xc:class) name-for-class (flushable))
 (defknown find-class (name-for-class &optional t lexenv)
   (or sb!xc:class null) ())
   (movable foldable flushable))
 (defknown (output-stream-p input-stream-p) (stream) boolean
   (movable foldable flushable))
-(defknown close (stream &key (:abort t)) stream ())
+(defknown close (stream &key (:abort t)) (eql t) ())
 \f
 ;;;; from the "Input/Output" chapter:
 
 (defknown make-dispatch-macro-character (character &optional t readtable)
   (eql t) ())
 (defknown set-dispatch-macro-character
-  (character character callable &optional readtable) (eql t)
+  (character character callable &optional readtable) function
   (unsafe))
 (defknown get-dispatch-macro-character
   (character character &optional (or readtable null)) callable
                       (:start index)
                       (:end sequence-end)
                       (:junk-allowed t))
-  (values (or pathname null) index)
+  (values (or pathname null) sequence-end)
   ())
 
 (defknown merge-pathnames
    (:verbose t)
    (:print t)
    (:if-does-not-exist (member :error :create nil))
-   ;; FIXME: ANSI specifies an :EXTERNAL-FORMAT keyword too.
-   )
+   (:external-format (member :default)))
   t)
 
-(defknown directory (pathname-designator &key
-                                        (:check-for-subdirs t)
-                                        (:all t)
-                                        (:follow-links t))
+(defknown directory (pathname-designator &key)
   list (flushable))
 \f
 ;;;; from the "Errors" chapter:
 (defknown compile-file
   (filename
    &key
+
+   ;; ANSI options
    (:output-file (or filename
                     null
                     ;; FIXME: This last case is a non-ANSI hack.
    (:verbose t)
    (:print t)
    (:external-format t)
+
+   ;; extensions
+   (:trace-file t)
    (:block-compile t)
-   (:entry-points list)
    (:byte-compile (member t nil :maybe)))
   (values (or pathname null) boolean boolean))
 
 
 (defknown describe (t &optional (or stream (member t nil))) (values))
 (defknown inspect (t) (values))
-
 (defknown room (&optional (member t nil :default)) (values))
 (defknown ed (&optional (or symbol cons filename) &key (:init t) (:display t))
   t)
-(defknown dribble (&optional filename &key (:if-exists t)) t)
+(defknown dribble (&optional filename &key (:if-exists t)) (values))
 
 (defknown apropos      (stringable &optional package-designator t) (values))
 (defknown apropos-list (stringable &optional package-designator t) list
 (defknown constantly (t) function (movable flushable))
 (defknown complement (function) function (movable flushable))
 \f
+;;;; miscellaneous extensions
+
+(defknown get-bytes-consed () unsigned-byte (flushable))
+
+;;; PCOUNTERs
+(defknown incf-pcounter (pcounter unsigned-byte) pcounter)
+(defknown pcounter->integer (pcounter) unsigned-byte)
+(defknown %incf-pcounter-or-fixnum ((or pcounter fixnum) unsigned-byte)
+  (or pcounter fixnum))
+(defknown pcounter-or-fixnum->integer ((or pcounter fixnum)) unsigned-byte)
+\f
 ;;;; magical compiler frobs
 
 ;;; We can't fold this in general because of SATISFIES. There is a