\doxysection{read.\+c}
\hypertarget{read_8c_source}{}\label{read_8c_source}\index{workspace/post-\/scarcity/src/io/read.c@{workspace/post-\/scarcity/src/io/read.c}}
\mbox{\hyperlink{read_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00001}00001\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00002}00002\ \textcolor{comment}{\ *\ read.c}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00003}00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00004}00004\ \textcolor{comment}{\ *\ First\ pass\ at\ a\ reader,\ for\ bootstrapping.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00005}00005\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00006}00006\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00007}00007\ \textcolor{comment}{\ *\ (c)\ 2017\ Simon\ Brooke\ <simon@journeyman.cc>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00008}00008\ \textcolor{comment}{\ *\ Licensed\ under\ GPL\ version\ 2.0,\ or,\ at\ your\ option,\ any\ later\ version.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00009}00009\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00010}00010\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00011}00011\ \textcolor{preprocessor}{\#include\ <math.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00012}00012\ \textcolor{preprocessor}{\#include\ <stdbool.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00013}00013\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00014}00014\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00015}00015\ \textcolor{comment}{\ *\ wide\ characters}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00016}00016\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00017}00017\ \textcolor{preprocessor}{\#include\ <wchar.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00018}00018\ \textcolor{preprocessor}{\#include\ <wctype.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00019}00019\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00020}00020\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{consspaceobject_8h}{memory/consspaceobject.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00021}00021\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{debug_8h}{debug.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00022}00022\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{dump_8h}{memory/dump.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00023}00023\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{hashmap_8h}{memory/hashmap.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00024}00024\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{integer_8h}{arith/integer.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00025}00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{intern_8h}{ops/intern.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00026}00026\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{io_8h}{io/io.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00027}00027\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{lispops_8h}{ops/lispops.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00028}00028\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{peano_8h}{arith/peano.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00029}00029\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{print_8h}{io/print.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00030}00030\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ratio_8h}{arith/ratio.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00031}00031\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{read_8h}{io/read.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00032}00032\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{real_8h}{arith/real.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00033}00033\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{vectorspace_8h}{memory/vectorspace.h}}"{}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00034}00034\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00035}00035\ \textcolor{comment}{//\ We\ can't,\ I\ think,\ use\ libreadline,\ because\ we\ read\ character\ by\ character,\ }}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00036}00036\ \textcolor{comment}{//\ not\ line\ by\ line,\ and\ because\ we\ use\ wide\ characters.\ So\ we're\ going\ to\ have}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00037}00037\ \textcolor{comment}{//\ to\ reimplement\ it.\ So\ we're\ going\ to\ have\ to\ maintain\ history\ of\ the\ forms}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00038}00038\ \textcolor{comment}{//\ (or\ strings,\ but\ I\ currently\ think\ forms).\ So\ we're\ going\ to\ have\ to\ be\ able}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00039}00039\ \textcolor{comment}{//\ to\ detact\ special\ keys,\ particularly,\ at\ this\ stage,\ the\ uparrow\ and\ down-\/}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00040}00040\ \textcolor{comment}{//\ arrow\ keys}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00041}00041\ \textcolor{comment}{//\ \#include\ <readline/readline.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00042}00042\ \textcolor{comment}{//\ \#include\ <readline/history.h>}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00043}00043\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00044}00044\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00045}00045\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00046}00046\ \textcolor{comment}{\ *\ for\ the\ time\ being\ things\ which\ may\ be\ read\ are:\ }}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00047}00047\ \textcolor{comment}{\ *\ *\ strings}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00048}00048\ \textcolor{comment}{\ *\ *\ numbers\ -\/\ either\ integer,\ ratio\ or\ real}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00049}00049\ \textcolor{comment}{\ *\ *\ lists\ }}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00050}00050\ \textcolor{comment}{\ *\ *\ maps}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00051}00051\ \textcolor{comment}{\ *\ *\ keywords}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00052}00052\ \textcolor{comment}{\ *\ *\ atoms}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00053}00053\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00054}00054\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00055}00055\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{read\_number}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00056}00056\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00057}00057\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input,\ wint\_t\ initial,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00058}00058\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ seen\_period\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00059}00059\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{read\_list}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00060}00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00061}00061\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00062}00062\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input,\ wint\_t\ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00063}00063\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_af79164be6266da9736693f4d237c92d6}{read\_map}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00064}00064\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00065}00065\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00066}00066\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input,\ wint\_t\ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00067}00067\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a48410482d0b5ea0a28e49ede85109d4c}{read\_string}}(\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input,\ wint\_t\ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00068}00068\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input,\ uint32\_t\ tag,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00069}00069\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ wint\_t\ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00070}00070\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00071}00071\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00072}00072\ \textcolor{comment}{\ *\ quote\ reader\ macro\ in\ C\ (!)}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00073}00073\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00074}\mbox{\hyperlink{read_8c_a290056c9306f9abd2cb0aa5b97e35e4b}{00074}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a290056c9306f9abd2cb0aa5b97e35e4b}{c\_quote}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00075}00075\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8h_ac18813a5587f81344b2a35977657b09b}{c\_string\_to\_lisp\_symbol}}(\ L\textcolor{stringliteral}{"{}quote"{}}\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00076}00076\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ arg,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00077}00077\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00078}00078\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00079}00079\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00080}00080\ \textcolor{comment}{\ *\ Read\ a\ path\ macro\ from\ the\ stream.\ A\ path\ macro\ is\ expected\ to\ be}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00081}00081\ \textcolor{comment}{\ *\ 1.\ optionally\ a\ leading\ character\ such\ as\ '/'\ or\ '\$',\ followed\ by}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00082}00082\ \textcolor{comment}{\ *\ 2.\ one\ or\ more\ keywords\ with\ leading\ colons\ (':')\ but\ no\ intervening\ spaces;\ or}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00083}00083\ \textcolor{comment}{\ *\ 3.\ one\ or\ more\ symbols\ separated\ by\ slashes;\ or}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00084}00084\ \textcolor{comment}{\ *\ 4.\ keywords\ (with\ leading\ colons)\ interspersed\ with\ symbols\ (prefixed\ by\ slashes).}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00085}00085\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00086}\mbox{\hyperlink{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb}{00086}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb}{read\_path}}(\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,\ wint\_t\ initial,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00087}00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ q\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00088}00088\ \ \ \ \ \textcolor{keywordtype}{bool}\ done\ =\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00089}00089\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ prefix\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00090}00090\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00091}00091\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00092}00092\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'/'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00093}00093\ \ \ \ \ \ \ \ \ \ \ \ \ prefix\ =\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8h_ac18813a5587f81344b2a35977657b09b}{c\_string\_to\_lisp\_symbol}}(\ L\textcolor{stringliteral}{"{}oblist"{}}\ ),\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00094}00094\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00095}00095\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\$'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00096}00096\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{read_8h_ae6b8676f8ff883391ce531f90d879b11}{LSESSION}}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00097}00097\ \ \ \ \ \ \ \ \ \ \ \ \ prefix\ =\ \mbox{\hyperlink{consspaceobject_8h_ac18813a5587f81344b2a35977657b09b}{c\_string\_to\_lisp\_symbol}}(\ L\textcolor{stringliteral}{"{}session"{}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00099}00099\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00100}00100\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00101}00101\ \ \ \ \ \textcolor{keywordflow}{while}\ (\ !done\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00102}00102\ \ \ \ \ \ \ \ \ wint\_t\ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00103}00103\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ iswblank(\ c\ )\ ||\ iswcntrl(\ c\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00104}00104\ \ \ \ \ \ \ \ \ \ \ \ \ done\ =\ \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00105}00105\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{fopen_8c_a216d4da618cba31eb9b2badf6d5de2d9}{url\_feof}}(\ input\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00106}00106\ \ \ \ \ \ \ \ \ \ \ \ \ done\ =\ \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00107}00107\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00108}00108\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ c\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00109}00109\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{':'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00110}00110\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ q\ =\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00111}00111\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ input,\ \mbox{\hyperlink{consspaceobject_8h_a027cdb41b87676d9d2fb55dd058c0078}{KEYTV}},\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ ),\ q\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00112}00112\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00113}00113\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'/'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00114}00114\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ q\ =\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00115}00115\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ \mbox{\hyperlink{consspaceobject_8h_ac18813a5587f81344b2a35977657b09b}{c\_string\_to\_lisp\_symbol}}(\ L\textcolor{stringliteral}{"{}quote"{}}\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00116}00116\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00117}00117\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ input,\ \mbox{\hyperlink{consspaceobject_8h_a1cef10aef0e023839dbcfe6d5c305393}{SYMBOLTV}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00118}00118\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00119}00119\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ )\ ),\ q\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00120}00120\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00121}00121\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00122}00122\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ iswalpha(\ c\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00123}00123\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ q\ =\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00124}00124\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ input,\ \mbox{\hyperlink{consspaceobject_8h_a1cef10aef0e023839dbcfe6d5c305393}{SYMBOLTV}},\ c\ ),\ q\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00125}00125\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00126}00126\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ TODO:\ it's\ really\ an\ error.\ Exception?}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00127}00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ c,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00128}00128\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ done\ =\ \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00129}00129\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00130}00130\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00131}00131\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00132}00132\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00133}00133\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00134}00134\ \ \ \ \ \textcolor{comment}{//\ right,\ we\ now\ have\ the\ path\ we\ want\ (reversed)\ in\ q.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00135}00135\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ r\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00136}00136\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00137}00137\ \ \ \ \ \textcolor{keywordflow}{for}\ (\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ p\ =\ q;\ !\mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ p\ );\ p\ =\ \mbox{\hyperlink{consspaceobject_8h_a36feb8e8c928ce9ffb6fb80167cc1f04}{c\_cdr}}(\ p\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00138}00138\ \ \ \ \ \ \ \ \ r\ =\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8h_ac683bad260c334cc2e5fad1f7d0c7b52}{c\_car}}(\ p\ ),\ r\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00139}00139\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00140}00140\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00141}00141\ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ q\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00142}00142\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00143}00143\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ !\mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ prefix\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00144}00144\ \ \ \ \ \ \ \ \ r\ =\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ prefix,\ r\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00145}00145\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00146}00146\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00147}00147\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8h_ac18813a5587f81344b2a35977657b09b}{c\_string\_to\_lisp\_symbol}}(\ L\textcolor{stringliteral}{"{}-\/>"{}}\ ),\ r\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00148}00148\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00149}00149\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00150}00150\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00151}00151\ \textcolor{comment}{\ *\ Read\ the\ next\ object\ on\ this\ input\ stream\ and\ return\ a\ cons\_pointer\ to\ it,}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00152}00152\ \textcolor{comment}{\ *\ treating\ this\ initial\ character\ as\ the\ first\ character\ of\ the\ object}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00153}00153\ \textcolor{comment}{\ *\ representation.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00154}00154\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00155}\mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{00155}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00156}00156\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00157}00157\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00158}00158\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,\ wint\_t\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00159}00159\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}entering\ read\_continuation\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00160}00160\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00161}00161\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00162}00162\ \ \ \ \ wint\_t\ c;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00163}00163\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00164}00164\ \ \ \ \ \textcolor{keywordflow}{for}\ (\ c\ =\ initial;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00165}00165\ \ \ \ \ \ \ \ \ \ \ c\ ==\ \textcolor{charliteral}{'\(\backslash\)0'}\ ||\ iswblank(\ c\ )\ ||\ iswcntrl(\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00166}00166\ \ \ \ \ \ \ \ \ \ \ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00167}00167\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00168}00168\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{fopen_8c_a216d4da618cba31eb9b2badf6d5de2d9}{url\_feof}}(\ input\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00169}00169\ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00170}00170\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8c_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00171}00171\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}End\ of\ file\ while\ reading"{}}\ ),\ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00172}00172\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00173}00173\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ c\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00174}00174\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{';'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00175}00175\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );\ c\ !=\ \textcolor{charliteral}{'\(\backslash\)n'};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00176}00176\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00177}00177\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ skip\ all\ characters\ from\ semi-\/colon\ to\ the\ end\ of\ the\ line\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00178}00178\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00179}00179\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EOF:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00180}00180\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8c_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00181}00181\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}End\ of\ input\ while\ reading"{}}\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00182}00182\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00183}00183\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00184}00184\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\(\backslash\)''}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00185}00185\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00186}00186\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a290056c9306f9abd2cb0aa5b97e35e4b}{c\_quote}}(\ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00187}00187\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ frame,\ frame\_pointer,\ env,\ input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00188}00188\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00189}00189\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00190}00190\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'('}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00191}00191\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00192}00192\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{read\_list}}(\ frame,\ frame\_pointer,\ env,\ input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00193}00193\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00194}00194\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00195}00195\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\{'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00196}00196\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{read_8c_af79164be6266da9736693f4d237c92d6}{read\_map}}(\ frame,\ frame\_pointer,\ env,\ input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00197}00197\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00198}00198\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00199}00199\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'"{}'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00200}00200\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{read_8c_a48410482d0b5ea0a28e49ede85109d4c}{read\_string}}(\ input,\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00201}00201\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00202}00202\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'-\/'}:\{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00203}00203\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ wint\_t\ next\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00204}00204\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ next,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00205}00205\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ iswdigit(\ next\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00206}00206\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00207}00207\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{read\_number}}(\ frame,\ frame\_pointer,\ input,\ c,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00208}00208\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00209}00209\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00210}00210\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ input,\ \mbox{\hyperlink{consspaceobject_8h_a1cef10aef0e023839dbcfe6d5c305393}{SYMBOLTV}},\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00211}00211\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00212}00212\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00213}00213\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00214}00214\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'.'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00215}00215\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00216}00216\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ wint\_t\ next\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00217}00217\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ iswdigit(\ next\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00218}00218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ next,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00219}00219\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00220}00220\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{read\_number}}(\ frame,\ frame\_pointer,\ input,\ c,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00221}00221\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{true}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00222}00222\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\ iswblank(\ next\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00223}00223\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ dotted\ pair.\ \(\backslash\)todo\ this\ isn't\ right,\ we}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00224}00224\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ really\ need\ to\ backtrack\ up\ a\ level.\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00225}00225\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00226}00226\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}(\ frame,\ frame\_pointer,\ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00227}00227\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ input,\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00228}00228\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00229}00229\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}read\_continuation:\ dotted\ pair;\ read\ cdr\ "{}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00230}00230\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00231}00231\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00232}00232\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ input,\ \mbox{\hyperlink{consspaceobject_8h_a1cef10aef0e023839dbcfe6d5c305393}{SYMBOLTV}},\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00233}00233\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00234}00234\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00235}00235\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00236}00236\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{':'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00237}00237\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00238}00238\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ input,\ \mbox{\hyperlink{consspaceobject_8h_a027cdb41b87676d9d2fb55dd058c0078}{KEYTV}},\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00239}00239\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00240}00240\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'/'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00241}00241\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00242}00242\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ slash\ followed\ by\ whitespace\ is\ legit\ provided\ it's\ not}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00243}00243\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ preceded\ by\ anything\ -\/\ it's\ the\ division\ operator.\ Otherwise,}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00244}00244\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ it's\ terminal,\ probably\ part\ of\ a\ path,\ and\ needs\ pushed\ back.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00245}00245\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00246}00246\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ wint\_t\ cn\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00247}00247\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ result\ )}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00248}00248\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \&\&\ (\ iswblank(\ cn\ )\ ||\ iswcntrl(\ cn\ )\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00249}00249\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ cn,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00250}00250\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8c_a32fb0eeebd407b817a2756324d123927}{make\_symbol\_or\_key}}(\ c,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}},\ \mbox{\hyperlink{consspaceobject_8h_a1cef10aef0e023839dbcfe6d5c305393}{SYMBOLTV}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00251}00251\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00252}00252\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ cn,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00253}00253\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb}{read\_path}}(\ input,\ c,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00254}00254\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00255}00255\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00256}00256\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00257}00257\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\$'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00258}00258\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{read_8h_ae6b8676f8ff883391ce531f90d879b11}{LSESSION}}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00259}00259\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb}{read\_path}}(\ input,\ c,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00260}00260\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00261}00261\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00262}00262\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ iswdigit(\ c\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00263}00263\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00264}00264\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{read\_number}}(\ frame,\ frame\_pointer,\ input,\ c,\ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00265}00265\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\ iswprint(\ c\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00266}00266\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ input,\ \mbox{\hyperlink{consspaceobject_8h_a1cef10aef0e023839dbcfe6d5c305393}{SYMBOLTV}},\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00267}00267\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00268}00268\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00269}00269\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8c_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8c_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00270}00270\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Unrecognised\ start\ of\ input\ character"{}}\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00271}00271\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_a6e09249d678524caf40f18ac273c8157}{make\_string}}(\ c,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ )\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00272}00272\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00273}00273\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00274}00274\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00275}00275\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00276}00276\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00277}00277\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_continuation\ returning\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00278}00278\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00279}00279\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00280}00280\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00281}00281\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00282}00282\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00283}00283\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00284}00284\ \textcolor{comment}{\ *\ read\ a\ number\ from\ this\ input\ stream,\ given\ this\ initial\ character.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00285}00285\ \textcolor{comment}{\ *\ \(\backslash\)todo\ Need\ to\ do\ a\ lot\ of\ inc\_ref\ and\ dec\_ref,\ to\ make\ sure\ the}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00286}00286\ \textcolor{comment}{\ *\ garbage\ is\ collected.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00287}00287\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00288}\mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{00288}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{read\_number}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00289}00289\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00290}00290\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00291}00291\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ wint\_t\ initial,\ \textcolor{keywordtype}{bool}\ seen\_period\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00292}00292\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}entering\ read\_number\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00293}00293\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00294}00294\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{integer_8c_adda818b0d598bdb572e371cb6d4123b4}{acquire\_integer}}(\ 0,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00295}00295\ \ \ \ \ \textcolor{comment}{/*\ \(\backslash\)todo\ we\ really\ need\ to\ be\ getting\ \`{}base`\ from\ a\ privileged\ Lisp\ name\ -\/}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00296}00296\ \textcolor{comment}{\ \ \ \ \ *\ and\ it\ should\ be\ the\ same\ privileged\ name\ we\ use\ when\ writing\ numbers\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00297}00297\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ base\ =\ \mbox{\hyperlink{integer_8c_adda818b0d598bdb572e371cb6d4123b4}{acquire\_integer}}(\ 10,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00298}00298\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ dividend\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00299}00299\ \ \ \ \ \textcolor{keywordtype}{int}\ places\_of\_decimals\ =\ 0;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00300}00300\ \ \ \ \ wint\_t\ c;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00301}00301\ \ \ \ \ \textcolor{keywordtype}{bool}\ neg\ =\ initial\ ==\ btowc(\ \textcolor{charliteral}{'-\/'}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00302}00302\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00303}00303\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ neg\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00304}00304\ \ \ \ \ \ \ \ \ initial\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00305}00305\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00306}00306\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00307}00307\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa335b357cde1ba7eb6e8a71955079aab}{debug\_printf}}(\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}},\ L\textcolor{stringliteral}{"{}read\_number\ starting\ '\%c'\ (\%d)\(\backslash\)n"{}},\ initial,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00308}00308\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00309}00309\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00310}00310\ \ \ \ \ \textcolor{keywordflow}{for}\ (\ c\ =\ initial;\ iswdigit(\ c\ )}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00311}00311\ \ \ \ \ \ \ \ \ \ \ ||\ c\ ==\ \mbox{\hyperlink{read_8h_a9eca2794c4dc680b835efa3af662a452}{LPERIOD}}\ ||\ c\ ==\ \mbox{\hyperlink{read_8h_ab200fe20cf05247a8e302f3ef3fde958}{LSLASH}}\ ||\ c\ ==\ \mbox{\hyperlink{read_8h_a344fe411ef0cbabd05d5683dbcf6d4fb}{LCOMMA}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00312}00312\ \ \ \ \ \ \ \ \ \ \ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00313}00313\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ c\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00314}00314\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{read_8h_a9eca2794c4dc680b835efa3af662a452}{LPERIOD}}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00315}00315\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ seen\_period\ ||\ !\mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ dividend\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00316}00316\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8c_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00317}00317\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Malformed\ number:\ too\ many\ periods"{}}\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00318}00318\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00319}00319\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00320}00320\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_number:\ decimal\ point\ seen\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00321}00321\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00322}00322\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ seen\_period\ =\ \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00323}00323\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00324}00324\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00325}00325\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{read_8h_ab200fe20cf05247a8e302f3ef3fde958}{LSLASH}}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00326}00326\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ seen\_period\ ||\ !\mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ dividend\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00327}00327\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8c_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00328}00328\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Malformed\ number:\ dividend\ of\ rational\ must\ be\ integer"{}}\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00329}00329\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00330}00330\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00331}00331\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_number:\ ratio\ slash\ seen\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00332}00332\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00333}00333\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ dividend\ =\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00334}00334\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00335}00335\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{integer_8c_adda818b0d598bdb572e371cb6d4123b4}{acquire\_integer}}(\ 0,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00336}00336\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ If\ I\ do\ replace\_integer\_p\ here\ instead\ of\ acquire\_integer,\ }}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00337}00337\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ and\ thus\ reclaim\ the\ garbage,\ I\ get\ a\ regression.\ Dom't\ yet}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00338}00338\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ know\ why.\ \ \ \ }}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00339}00339\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00340}00340\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00341}00341\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{read_8h_a344fe411ef0cbabd05d5683dbcf6d4fb}{LCOMMA}}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00342}00342\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ silently\ ignore\ comma.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00343}00343\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00344}00344\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00345}00345\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{integer_8c_a8b6e93c44eca207d8f88a71d90142bb9}{add\_integers}}(\ \mbox{\hyperlink{integer_8c_a3f0fcaa092a0c6830aa0bf7303ed1f7c}{multiply\_integers}}(\ result,\ base\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00346}00346\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{integer_8c_adda818b0d598bdb572e371cb6d4123b4}{acquire\_integer}}(\ (\ \textcolor{keywordtype}{int}\ )\ c\ -\/}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00347}00347\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ \textcolor{keywordtype}{int}\ )\ \textcolor{charliteral}{'0'},\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00348}00348\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00349}00349\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_aa335b357cde1ba7eb6e8a71955079aab}{debug\_printf}}(\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00350}00350\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ L\textcolor{stringliteral}{"{}read\_number:\ added\ character\ \%c,\ result\ now\ "{}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00351}00351\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00352}00352\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00353}00353\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00354}00354\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00355}00355\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ seen\_period\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00356}00356\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ places\_of\_decimals++;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00357}00357\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00358}00358\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00359}00359\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00360}00360\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00361}00361\ \ \ \ \ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00362}00362\ \textcolor{comment}{\ \ \ \ \ *\ push\ back\ the\ character\ read\ which\ was\ not\ a\ digit}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00363}00363\ \textcolor{comment}{\ \ \ \ \ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00364}00364\ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ c,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00365}00365\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00366}00366\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ seen\_period\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00367}00367\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_number:\ converting\ result\ to\ real\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00368}00368\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ div\ =\ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ result,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00369}00369\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{integer_8c_adda818b0d598bdb572e371cb6d4123b4}{acquire\_integer}}(\ powl}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00370}00370\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00371}00371\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ base\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00372}00372\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ places\_of\_decimals\ ),}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00373}00373\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ ),\ \textcolor{keyword}{true});}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00374}00374\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_aa38b760ee4493c5d98400e04db3c8d47}{inc\_ref}}(\ div\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00375}00375\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00376}00376\ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ div\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00377}00377\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00378}00378\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ div\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00379}00379\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{consspaceobject_8h_af99c355c0b2f78228a1e9e4e68dcfe76}{integerp}}(\ dividend\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00380}00380\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_number:\ converting\ result\ to\ ratio\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00381}00381\ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ dividend,\ result,\ \textcolor{keyword}{true}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00382}00382\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00383}00383\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00384}00384\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ neg\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00385}00385\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_number:\ converting\ result\ to\ negative\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00386}00386\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00387}00387\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00388}00388\ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{peano_8c_a471edde763902818d541e02cb9d83b60}{negative}}(\ result\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00389}00389\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00390}00390\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00391}00391\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_number\ returning\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00392}00392\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00393}00393\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00394}00394\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00395}00395\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00396}00396\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00397}00397\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00398}00398\ \textcolor{comment}{\ *\ Read\ a\ list\ from\ this\ input\ stream,\ which\ no\ longer\ contains\ the\ opening}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00399}00399\ \textcolor{comment}{\ *\ left\ parenthesis.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00400}00400\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00401}\mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{00401}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{read\_list}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00402}00402\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00403}00403\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00404}00404\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,\ wint\_t\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00405}00405\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00406}00406\ \ \ \ \ wint\_t\ c;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00407}00407\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00408}00408\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ initial\ !=\ \textcolor{charliteral}{')'}\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00409}00409\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_aa335b357cde1ba7eb6e8a71955079aab}{debug\_printf}}(\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}},}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00410}00410\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ L\textcolor{stringliteral}{"{}read\_list\ starting\ '\%C'\ (\%d)\(\backslash\)n"{}},\ initial,\ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00411}00411\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ car\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00412}00412\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}(\ frame,\ frame\_pointer,\ env,\ input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00413}00413\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ initial\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00414}00414\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00415}00415\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ skip\ whitespace\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00416}00416\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00417}00417\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ iswblank(\ c\ )\ ||\ iswcntrl(\ c\ );\ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00418}00418\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00419}00419\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ c\ ==\ \mbox{\hyperlink{read_8h_a9eca2794c4dc680b835efa3af662a452}{LPERIOD}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00420}00420\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ might\ be\ a\ dotted\ pair;\ indeed,\ if\ we\ rule\ out\ numbers\ with}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00421}00421\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ initial\ periods,\ it\ must\ be\ a\ dotted\ pair.\ \(\backslash\)todo\ Ought\ to\ check,}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00422}00422\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ howerver,\ that\ there's\ only\ one\ form\ after\ the\ period.\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00423}00423\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00424}00424\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ car,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00425}00425\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_ac683bad260c334cc2e5fad1f7d0c7b52}{c\_car}}(\ \mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{read\_list}}(\ frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00426}00426\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00427}00427\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00428}00428\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ input,\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ )\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00429}00429\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00430}00430\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00431}00431\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ car,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00432}00432\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{read\_list}}(\ frame,\ frame\_pointer,\ env,\ input,\ c\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00433}00433\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00434}00434\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00435}00435\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}End\ of\ list\ detected\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00436}00436\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00437}00437\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00438}00438\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00439}00439\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00440}00440\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00441}\mbox{\hyperlink{read_8c_af79164be6266da9736693f4d237c92d6}{00441}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_af79164be6266da9736693f4d237c92d6}{read\_map}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00442}00442\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00443}00443\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00444}00444\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,\ wint\_t\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00445}00445\ \ \ \ \ \textcolor{comment}{//\ set\ write\ ACL\ to\ true\ whilst\ creating\ to\ prevent\ GC\ churn}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00446}00446\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00447}00447\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{intern_8c_a712a222e5d6695c29e78516d7c60ba2a}{make\_hashmap}}(\ \mbox{\hyperlink{hashmap_8h_abc679bf03fc1ed8dccee8cc2a08d4211}{DFLT\_HASHMAP\_BUCKETS}},\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}},\ \mbox{\hyperlink{consspaceobject_8h_aa8cecfc5c5c054d2875c03e77b7be15d}{TRUE}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00448}00448\ \ \ \ \ wint\_t\ c\ =\ initial;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00449}00449\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00450}00450\ \ \ \ \ \textcolor{keywordflow}{while}\ (\ c\ !=\ \mbox{\hyperlink{read_8h_a3bb2a7a7f485d60d9967e9521d55138e}{LCBRACE}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00451}00451\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ key\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00452}00452\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}(\ frame,\ frame\_pointer,\ env,\ input,\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00453}00453\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00454}00454\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ skip\ whitespace\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00455}00455\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );\ iswblank(\ c\ )\ ||\ iswcntrl(\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00456}00456\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00457}00457\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00458}00458\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ value\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00459}00459\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}(\ frame,\ frame\_pointer,\ env,\ input,\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00460}00460\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00461}00461\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ skip\ commaa\ and\ whitespace\ at\ this\ point.\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00462}00462\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00463}00463\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ c\ ==\ \mbox{\hyperlink{read_8h_a344fe411ef0cbabd05d5683dbcf6d4fb}{LCOMMA}}\ ||\ iswblank(\ c\ )\ ||\ iswcntrl(\ c\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00464}00464\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ c\ =\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00465}00465\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00466}00466\ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00467}00467\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{intern_8c_a3593c291344b1053a5055c976c6d9917}{hashmap\_put}}(\ result,\ key,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00468}00468\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{lispops_8c_a44a5860734b40a3b74b9bcf681422017}{eval\_form}}(\ frame,\ frame\_pointer,\ value,\ env\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00469}00469\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00470}00470\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00471}00471\ \ \ \ \ \textcolor{comment}{//\ default\ write\ ACL\ for\ maps\ should\ be\ NIL.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00472}00472\ \ \ \ \ \mbox{\hyperlink{vectorspace_8h_a6961330e553c390cec21939135c8c124}{pointer\_to\_vso}}(\ result\ )-\/>payload.hashmap.write\_acl\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00473}00473\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00474}00474\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00475}00475\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00476}00476\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00477}00477\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00478}00478\ \textcolor{comment}{\ *\ Read\ a\ string.\ This\ means\ either\ a\ string\ delimited\ by\ double\ quotes}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00479}00479\ \textcolor{comment}{\ *\ (is\_quoted\ ==\ true),\ in\ which\ case\ it\ may\ contain\ whitespace\ but\ may}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00480}00480\ \textcolor{comment}{\ *\ not\ contain\ a\ double\ quote\ character\ (unless\ escaped),\ or\ one\ not}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00481}00481\ \textcolor{comment}{\ *\ so\ delimited\ in\ which\ case\ it\ may\ not\ contain\ whitespace\ (unless\ escaped)}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00482}00482\ \textcolor{comment}{\ *\ but\ may\ contain\ a\ double\ quote\ character\ (probably\ not\ a\ good\ idea!)}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00483}00483\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00484}\mbox{\hyperlink{read_8c_a48410482d0b5ea0a28e49ede85109d4c}{00484}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a48410482d0b5ea0a28e49ede85109d4c}{read\_string}}(\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,\ wint\_t\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00485}00485\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ cdr\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00486}00486\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00487}00487\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00488}00488\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\(\backslash\)0'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00489}00489\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00490}00490\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00491}00491\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'"{}'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00492}00492\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ making\ a\ string\ of\ the\ null\ character\ means\ we\ can\ have\ an\ empty}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00493}00493\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ string.\ Just\ returning\ NIL\ here\ would\ make\ an\ empty\ string}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00494}00494\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ impossible.\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00495}00495\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8c_a6e09249d678524caf40f18ac273c8157}{make\_string}}(\ \textcolor{charliteral}{'\(\backslash\)0'},\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00496}00496\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00497}00497\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00498}00498\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00499}00499\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_a6e09249d678524caf40f18ac273c8157}{make\_string}}(\ initial,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00500}00500\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_a48410482d0b5ea0a28e49ede85109d4c}{read\_string}}(\ input,\ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00501}00501\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00502}00502\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00503}00503\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00504}00504\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00505}00505\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00506}00506\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00507}\mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{00507}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input,\ uint32\_t\ tag,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00508}00508\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ wint\_t\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00509}00509\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ cdr\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00510}00510\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00511}00511\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ initial\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00512}00512\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\(\backslash\)0'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00513}00513\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8c_a32fb0eeebd407b817a2756324d123927}{make\_symbol\_or\_key}}(\ initial,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}},\ tag\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00514}00514\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00515}00515\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'"{}'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00516}00516\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'\(\backslash\)''}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00517}00517\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ unwise\ to\ allow\ embedded\ quotation\ marks\ in\ symbols\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00518}00518\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{')'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00519}00519\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{':'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00520}00520\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'/'}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00521}00521\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00522}00522\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ symbols\ and\ keywords\ may\ not\ include\ right-\/parenthesis,}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00523}00523\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ slashes\ or\ colons.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00524}00524\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00525}00525\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00526}00526\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00527}00527\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ push\ back\ the\ character\ read}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00528}00528\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00529}00529\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ initial,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00530}00530\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00531}00531\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00532}00532\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ iswprint(\ initial\ )}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00533}00533\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \&\&\ !iswblank(\ initial\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00534}00534\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00535}00535\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8c_a32fb0eeebd407b817a2756324d123927}{make\_symbol\_or\_key}}(\ initial,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00536}00536\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\_symbol\_or\_key}}(\ input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00537}00537\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ tag,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00538}00538\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00539}00539\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ input\ )\ ),\ tag\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00540}00540\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00541}00541\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00542}00542\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00543}00543\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ push\ back\ the\ character\ read}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00544}00544\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00545}00545\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ initial,\ input\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00546}00546\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00547}00547\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00548}00548\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00549}00549\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00550}00550\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}read\_symbol\_or\_key\ returning\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00551}00551\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\_IO}}\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00552}00552\ }
\DoxyCodeLine{\Hypertarget{read_8c_source_l00553}00553\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00554}00554\ \}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00555}00555\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00556}00556\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00557}00557\ \textcolor{comment}{\ *\ Read\ the\ next\ object\ on\ this\ input\ stream\ and\ return\ a\ cons\_pointer\ to\ it.}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00558}00558\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00559}\mbox{\hyperlink{read_8c_a7d1f65f93a75631a7d63e636dcbfa76f}{00559}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{read_8c_a7d1f65f93a75631a7d63e636dcbfa76f}{read}}(\ struct}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00560}00560\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00561}00561\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00562}00562\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env,\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *input\ )\ \{}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00563}00563\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\_continuation}}(\ frame,\ frame\_pointer,\ env,\ input,}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00564}00564\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{io_8c_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ input\ )\ );}
\DoxyCodeLine{\Hypertarget{read_8c_source_l00565}00565\ \}}

\end{DoxyCode}
