Latin-1-to-UTF8 pre-processor example for docs from Christian Maeder
authorIan Lynagh <igloo@earth.li>
Sun, 1 Oct 2006 01:07:00 +0000 (01:07 +0000)
committerIan Lynagh <igloo@earth.li>
Sun, 1 Oct 2006 01:07:00 +0000 (01:07 +0000)
docs/users_guide/6.6-notes.xml
docs/users_guide/phases.xml

index 55065dc..31ad813 100644 (file)
           ignored in comments, so ASCII code with comments in, for
           example, Latin-1 will also work.
         </para>
+
+        <para>
+          A way to have Latin-1 source files pre-processed by GHC is
+          described in <xref linkend="pre-processor" />.
+        </para>
       </listitem>
       <listitem>
         <para>
index 4066345..9058177 100644 (file)
@@ -486,6 +486,24 @@ $ cat foo.hspp</screen>
           are fed to <replaceable>cmd</replaceable> on the command
           line after the three standard input and output
           arguments.</para>
+
+          <para>
+          An example of a pre-processor is to convert your source files to the
+          input encoding that GHC expects, i.e. create a script
+          <literal>convert.sh</literal> containing the lines:
+          </para>
+
+<screen>#!/bin/sh
+( echo "{-# LINE 1 \"$2\" #-}" ; iconv -f l1 -t utf-8 $2 ) > $3</screen>
+
+          <para>and pass <literal>-F -pgmF convert.sh</literal> to GHC.
+          The <literal>-f l1</literal> option tells iconv to convert your
+          Latin-1 file, supplied in argument <literal>$2</literal>, while
+          the "-t utf-8" options tell iconv to return a UTF-8 encoded file.
+          The result is redirected into argument <literal>$3</literal>.
+          The <literal>echo "{-# LINE 1 \"$2\" #-}"</literal>
+          just makes sure that your error positions are reported as
+          in the original source file.</para>
         </listitem>
       </varlistentry>
     </variablelist>