From 163ec41287b9ca4c9dc5c9a9e70306fa888cb0aa Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Tue, 10 Nov 2009 15:31:43 +0000 Subject: [PATCH] Initial version for ASCII external format. --- .../external-formats/ascii.lisp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pcl/simple-streams/external-formats/ascii.lisp diff --git a/pcl/simple-streams/external-formats/ascii.lisp b/pcl/simple-streams/external-formats/ascii.lisp new file mode 100644 index 000000000..6f14fac58 --- /dev/null +++ b/pcl/simple-streams/external-formats/ascii.lisp @@ -0,0 +1,19 @@ +;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Package: STREAM -*- +;;; +;;; ********************************************************************** +;;; This code was written by Raymond Toy and has been placed in the public +;;; domain. +;;; +(ext:file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/simple-streams/external-formats/ascii.lisp,v 1.1 2009/11/10 15:31:43 rtoy Exp $") + +(in-package "STREAM") + +(define-external-format :ascii (:size 1) + () + (octets-to-code (state input unput c) + `(let ((,c ,input)) + (values (if (< ,c #x80) ,c +replacement-character-code+) + 1)) + (code-to-octets (code state output) + `(,output (if (> ,code #x7F) #x3F ,code)))) + -- GitLab