X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=ba89f35b90a6bfd8a925b682ca2a9e37bd27f657;hb=a1a2c079c7654defb618baad0dddcf0eaf2ce64f;hp=67288ae09b3db6a337660a68c41034a4c2b021d2;hpb=334af30b26555f0bf706f7157b399bdbd4fad548;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index 67288ae..ba89f35 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -97,7 +97,7 @@ ;;;; 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) ()) @@ -893,7 +893,7 @@ (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) ()) ;;;; from the "Input/Output" chapter: @@ -919,7 +919,7 @@ (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 @@ -1058,7 +1058,7 @@ (:start index) (:end sequence-end) (:junk-allowed t)) - (values (or pathname null) index) + (values (or pathname null) sequence-end) ()) (defknown merge-pathnames @@ -1137,14 +1137,10 @@ (: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)) ;;;; from the "Errors" chapter: @@ -1162,6 +1158,8 @@ (defknown compile-file (filename &key + + ;; ANSI options (:output-file (or filename null ;; FIXME: This last case is a non-ANSI hack. @@ -1169,8 +1167,10 @@ (: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)) @@ -1185,11 +1185,10 @@ (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 @@ -1240,6 +1239,17 @@ (defknown constantly (t) function (movable flushable)) (defknown complement (function) function (movable flushable)) +;;;; 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) + ;;;; magical compiler frobs ;;; We can't fold this in general because of SATISFIES. There is a