4
***********************************************************************
5
FUNNELWEB MANUAL WEB PAGE
6
=========================
7
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
9
Permission is granted to redistribute and use this manual in
10
any medium, with or without modification, provided that all
11
notices (including, without limitation, the copyright
12
notice, this permission notice, any record of modification,
13
and all legal notices) are preserved on all copies, that all
14
modifications are clearly marked, and that modified versions
15
are not represented as the original version unless all the
16
modifications since the manual's original release by Ross N.
17
Williams (www.ross.net) consist of translations or other
18
transformations that alter only the manual's form, not its
19
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
20
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
21
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
22
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
23
LAW THERE IS ABSOLUTELY NO WARRANTY.
25
***********************************************************************
29
<TITLE>5.13 TABs</TITLE>
30
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
32
<BODY BACKGROUND="binary/background.gif"
41
<TD WIDTH="130" VALIGN="top">
42
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
47
<A HREF="http://www.ross.net/"
49
onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
51
<IMG SRC="binary/rossnet_logo.gif"
52
WIDTH="64" HEIGHT="32"
53
BORDER="0" ALT="RossNet"
54
HSPACE="0" VSPACE="1"></A><BR>
57
<A HREF="../index.shtml"
59
onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
61
<IMG SRC="binary/linklogo.gif"
62
WIDTH="64" HEIGHT="32"
63
BORDER="0" ALT="FunnelWeb"
64
HSPACE="0" VSPACE="1"></A><BR>
66
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
67
<A HREF="../reference/index.html"
68
TARGET="funnelwebreference"
69
onClick="window.open('','funnelwebreference','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
70
><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
72
<A HREF="../developer/index.html"
73
TARGET="funnelwebdeveloper"
74
onClick="window.open('','funnelwebdeveloper','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
75
><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
77
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
78
<A HREF="intro.html"><FONT COLOR="#FFFFFF">1 Introduction</FONT></A><BR>
79
<A HREF="macro.html"><FONT COLOR="#FFFFFF">2 Macros</FONT></A><BR>
80
<A HREF="type.html"><FONT COLOR="#FFFFFF">3 Typesetting</FONT></A><BR>
81
<A HREF="example.html"><FONT COLOR="#FFFFFF">4 Example</FONT></A><BR>
82
<A HREF="hints.html"><FONT COLOR="#FFFFFF">5 Hints</FONT></A><BR>
83
<A HREF="examples.html"><FONT COLOR="#FFFFFF">6 Examples</FONT></A><BR>
84
<A HREF="web.html"><FONT COLOR="#FFFFFF">7 Webmaking</FONT></A><BR>
87
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
93
<TD WIDTH="460" VALIGN="top">
97
<A HREF="../reference/index.html"><IMG SRC="binary/title.gif"
98
WIDTH="302" HEIGHT="24"
99
BORDER="0" ALT="FunnelWeb Tutorial Manual"
100
HSPACE="0" VSPACE="0"></A>
101
<P><FONT SIZE="5">5.13 TABs</FONT><BR>
104
<P>FunnelWeb is designed to protect its user from spurious
105
non-printable characters that might creep into a source file,
106
and so it classifies any occurrence of such a character as
109
<P>FunnelWeb's idea of printable is any character in the
110
range ASCII [32..126]. A number of people have complained
111
about this, saying that they want to include 8-bit
112
characters in their FunnelWeb input files. Currently there
113
is no fix for this except to insert characters explicitly
114
into the output using a <SAMP>@^</SAMP> sequence (see the
115
<A HREF="../reference/index.html"
116
TARGET="funnelwebreference"
117
onClick="window.open('','funnelwebreference','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
118
>FunnelWeb Reference Manual</A> for more details).
120
<P>In particular, FunnelWeb flags TAB characters in its
121
input file as errors because TABs are essentially invisible
122
control characters with very poorly-defined semantics; it's
123
FunnelWeb's job to keep an eye on the input file to ensure
124
that the programmer doesn't get any nasty surprises and as
125
TABs can cause several kinds of surprises, they are excluded.
127
<P>A lot of people have complained about this aspect of
128
FunnelWeb. Unfortunately, this issue has not yet been
129
resolved. If you actually <I>need</I> TABs in the output
130
file (e.g. for a makefile), then you should insert TABs
131
explicitly using a <SAMP>@^D(009)</SAMP> sequence (see the
132
<A HREF="../reference/index.html"
133
TARGET="funnelwebreference"
134
onClick="window.open('','funnelwebreference','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
135
>FunnelWeb Reference Manual</A> for more details).
137
<P>The following C program removes TABs. The program was
138
kindly donated by John Skaller. Warning: This program
139
doesn't have any error checking.
144
/* Author : John Skaller (maxtal@extro.ucc.su.oz.au) */
145
/* Organization : MAXTAL P/L 6 Mackay St ASHFIELD 2131. */
146
/* Usage : untab 2 <infile >outfile */
147
/* Status : Public domain. */
151
int main(int argv, char **argc)
154
if(argv==2)sscanf(argc[1],"%d",&n);
158
if(ch=='\n'){putchar('\n'); column=0;}
160
putchar(' '); column++;
161
while(column % n){putchar(' '); column++;}
163
else { putchar(ch); column++;}
173
<TD ALIGN="left" VALIGN="bottom"><A HREF="hints_debugging.html"><IMG SRC="binary/fw_left.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Prev"></A></TD>
174
<TD ALIGN="center" VALIGN="bottom"><A HREF="hints.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
175
<TD ALIGN="right" VALIGN="bottom"><A HREF="hints_htmlstyle.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
183
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
184
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
195
<!-- *********************************************************************** -->
196
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
197
<!-- *********************************************************************** -->