;; You should have received a copy of the GNU General Public License
;; along with JSCL. If not, see <http://www.gnu.org/licenses/>.
+(/debug "loading print.lisp!")
+
;;; Printer
(defun lisp-escape-string (string)
(when (or (terminalp ch)
(char= ch #\:)
(char= ch #\\)
+ (not (char= ch (char-upcase ch)))
(char= ch #\|))
(return-from escape-symbol-name-p t))))
dots-only))
(let ((*print-escape* nil))
(write-to-string form)))
+(defun terpri ()
+ (write-char #\newline)
+ (values))
+
(defun write-line (x)
(write-string x)
- (write-string *newline*)
+ (terpri)
x)
-(defun warn (string)
+(defun warn (fmt &rest args)
(write-string "WARNING: ")
- (write-line string))
+ (apply #'format t fmt args)
+ (terpri))
(defun print (x)
(write-line (prin1-to-string x))
((char= next #\~)
(concatf res "~"))
((char= next #\%)
- (concatf res *newline*))
+ (concatf res (string #\newline)))
((char= next #\*)
(pop arguments))
(t
(defun format-special (chr arg)
(case (char-upcase chr)
(#\S (prin1-to-string arg))
- (#\A (princ-to-string arg))))
+ (#\A (princ-to-string arg))
+ (#\D (princ-to-string arg))))