-h should imply -x:
authorFrançois Pinard <pinard@iro.umontreal.ca>
Fri, 14 Mar 2008 15:22:43 +0000 (11:22 -0400)
committerFrançois Pinard <pinard@iro.umontreal.ca>
Fri, 14 Mar 2008 15:22:43 +0000 (11:22 -0400)
THANKS
doc/recode.info
doc/recode.texi
src/ChangeLog
src/main.c

diff --git a/THANKS b/THANKS
index e72271d4adc784487a45204e8dacf3dcb44d715d..4aac7235644745968b8ed66f3ceb835e53d26a97 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -211,6 +211,7 @@ Réjean Payette             rejean.payette@rtsq.qc.ca
 Reuben Thomas          rrt@sc3d.org
                        http://rrt.sc3d.org/
 Ricard Torres          torres@upf.es
+Richard Nault          rnfc@videotron.ca
 Richard Plasun         plasun@iue.tuwien.ac.at
 Richard Stallman       rms@gnu.org
 Robert Joop            rj@rainbow.in-berlin.de
index 473c5875536064411eb7de65c2e0d54807980e93..1bf881caea085ca293e90cfd76fd470878d3979d 100644 (file)
@@ -723,11 +723,13 @@ are not meant to accompany actual file recodings.  These options are:
      is too complex for a mere table'.  It will succeed however,
      provided the recoding can be internally represented by only one
      step after the optimisation phase, and if this merged step conveys
-     a one-to-one or a one-to-many explicit table.  Also, when
-     attempting to produce sources tables, Recode relaxes its checking
-     a tiny bit: it ignores the algorithmic part of some tabular
-     recodings, it also avoids the processing of implied surfaces.  But
-     this is all fairly technical.  Better try and see!
+     a one-to-one or a one-to-many explicit table.  To increase the
+     probability that this happens, `iconv' initialisation is currently
+     inhibited whenever this option is used.  Also, when attempting to
+     produce sources tables, Recode relaxes its checking a tiny bit: it
+     ignores the algorithmic part of some tabular recodings, it also
+     avoids the processing of implied surfaces.  But this is all fairly
+     technical.  Better try and see!
 
      Most tables are produced using decimal numbers to refer to
      character values(1).  Yet, users who know all Recode tricks and
@@ -5066,7 +5068,7 @@ Concept Index
 * charsets for CDC machines:             CDC.                 (line   6)
 * charsets, aliases:                     Requests.            (line  80)
 * charsets, chaining in a request:       Requests.            (line  23)
-* charsets, guessing:                    Listings.            (line  63)
+* charsets, guessing:                    Listings.            (line  65)
 * charsets, overview:                    Charset overview.    (line   6)
 * chset tools:                           Tabular.             (line   6)
 * codepages:                             IBM and MS.          (line   6)
@@ -5109,8 +5111,8 @@ Concept Index
 * file time stamps:                      Recoding.            (line  26)
 * filter operation:                      Synopsis.            (line  27)
 * force recoding:                        Reversibility.       (line  10)
-* French description of charsets:        Listings.            (line 210)
-* guessing charsets:                     Listings.            (line  63)
+* French description of charsets:        Listings.            (line 212)
+* guessing charsets:                     Listings.            (line  65)
 * Haible, Bruno:                         iconv.               (line   6)
 * handling errors:                       Errors.              (line   6)
 * help page, printing:                   Listings.            (line  14)
@@ -5120,11 +5122,11 @@ Concept Index
 * IBM graphics characters:               Recoding.            (line  16)
 * iconv:                                 Design.              (line  98)
 * iconv library:                         iconv.               (line   6)
-* identifying subsets in charsets:       Listings.            (line 222)
+* identifying subsets in charsets:       Listings.            (line 224)
 * ignore charsets:                       Recoding.            (line  60)
 * implied surfaces:                      Requests.            (line  69)
 * impossible conversions:                Charset overview.    (line  33)
-* information about charsets:            Listings.            (line 153)
+* information about charsets:            Listings.            (line 155)
 * initialisation functions, outer:       Outer level.         (line  45)
 * initialisation functions, request:     Request level.       (line  52)
 * initialisation functions, task:        Task level.          (line  56)
@@ -5145,7 +5147,7 @@ Concept Index
 * letter case, in charset and surface names: Requests.        (line  93)
 * libiconv:                              iconv.               (line   6)
 * library, iconv:                        iconv.               (line   6)
-* listing charsets:                      Listings.            (line 153)
+* listing charsets:                      Listings.            (line 155)
 * Macintosh charset:                     Apple-Mac.           (line   6)
 * map filling:                           Reversibility.       (line  98)
 * map filling, disable:                  Reversibility.       (line  48)
@@ -5210,7 +5212,7 @@ Concept Index
 * strict operation:                      Reversibility.       (line  48)
 * string and comments conversion:        Mixed.               (line  39)
 * structural surfaces:                   Surfaces.            (line  44)
-* subsets in charsets:                   Listings.            (line 222)
+* subsets in charsets:                   Listings.            (line 224)
 * super-charsets:                        Mule.                (line   6)
 * supported programming languages:       Listings.            (line  26)
 * suppressing diagnostic messages:       Reversibility.       (line  36)
@@ -5235,7 +5237,7 @@ Concept Index
 * tutorial:                              Tutorial.            (line   6)
 * unavailable conversions:               Charset overview.    (line  33)
 * Unicode:                               UCS-2.               (line   6)
-* unknown charsets:                      Listings.            (line  63)
+* unknown charsets:                      Listings.            (line  65)
 * unreachable charsets:                  Charset overview.    (line  33)
 * untranslatable input, error message:   Errors.              (line  50)
 * valid characters in charset names:     Requests.            (line  10)
@@ -5261,14 +5263,14 @@ This is an alphabetical list of all command-line options accepted by
 * --colons:                              Recoding.            (line  11)
 * --copyright:                           Listings.            (line  19)
 * --diacritics:                          Mixed.               (line  20)
-* --find-subsets:                        Listings.            (line 222)
+* --find-subsets:                        Listings.            (line 224)
 * --force:                               Reversibility.       (line  10)
 * --graphics:                            Recoding.            (line  16)
 * --header:                              Listings.            (line  26)
 * --help:                                Listings.            (line  14)
 * --ignore:                              Recoding.            (line  60)
-* --known=:                              Listings.            (line  63)
-* --list:                                Listings.            (line 153)
+* --known=:                              Listings.            (line  65)
+* --list:                                Listings.            (line 155)
 * --quiet:                               Reversibility.       (line  36)
 * --sequence:                            Sequencing.          (line  23)
 * --silent:                              Reversibility.       (line  36)
@@ -5284,14 +5286,14 @@ This is an alphabetical list of all command-line options accepted by
 * -g:                                    Recoding.            (line  16)
 * -h:                                    Listings.            (line  26)
 * -i:                                    Sequencing.          (line  29)
-* -k:                                    Listings.            (line  63)
-* -l:                                    Listings.            (line 153)
+* -k:                                    Listings.            (line  65)
+* -l:                                    Listings.            (line 155)
 * -p:                                    Sequencing.          (line  40)
 * -q:                                    Reversibility.       (line  36)
 * -S:                                    Mixed.               (line  39)
 * -s:                                    Reversibility.       (line  48)
 * -t:                                    Recoding.            (line  26)
-* -T:                                    Listings.            (line 222)
+* -T:                                    Listings.            (line 224)
 * -v:                                    Recoding.            (line  35)
 * -x:                                    Recoding.            (line  60)
 
@@ -5319,8 +5321,8 @@ and variables in the Recode library.
 * file_one_to_many:                      New charsets.        (line  70)
 * file_one_to_one:                       New charsets.        (line  58)
 * find_charset:                          Charset level.       (line  15)
-* LANG, when listing charsets:           Listings.            (line 210)
-* LANGUAGE, when listing charsets:       Listings.            (line 210)
+* LANG, when listing charsets:           Listings.            (line 212)
+* LANGUAGE, when listing charsets:       Listings.            (line 212)
 * list_all_charsets:                     Charset level.       (line  15)
 * list_concise_charset:                  Charset level.       (line  15)
 * list_full_charset:                     Charset level.       (line  15)
@@ -6125,82 +6127,82 @@ Ref: Requests-Footnote-1\7f29293
 Ref: Requests-Footnote-2\7f29360
 Ref: Requests-Footnote-3\7f29538
 Node: Listings\7f29997
-Ref: Listings-Footnote-1\7f41146
-Node: Recoding\7f41469
-Node: Reversibility\7f44290
-Ref: Reversibility-Footnote-1\7f52745
-Node: Sequencing\7f52882
-Node: Mixed\7f55326
-Node: Emacs\7f58694
-Node: Debugging\7f59728
-Node: Library\7f63998
-Node: Outer level\7f66958
-Node: Request level\7f72307
-Node: Task level\7f83299
-Node: Charset level\7f93929
-Node: Errors\7f94771
-Ref: Errors-Footnote-1\7f99617
-Ref: Errors-Footnote-2\7f99731
-Node: Universal\7f100092
-Ref: Universal-Footnote-1\7f103204
-Ref: Universal-Footnote-2\7f103270
-Node: UCS-2\7f103483
-Node: UCS-4\7f106009
-Node: UTF-7\7f106549
-Node: UTF-8\7f107144
-Node: UTF-16\7f111449
-Node: count-characters\7f112597
-Node: dump-with-names\7f113268
-Node: iconv\7f115817
-Node: Tabular\7f119248
-Node: ASCII misc\7f141461
-Node: ASCII\7f141827
-Node: ISO 8859\7f142643
-Node: ASCII-BS\7f144937
-Node: flat\7f146774
-Node: IBM and MS\7f147445
-Node: EBCDIC\7f147989
-Node: IBM-PC\7f150085
-Ref: IBM-PC-Footnote-1\7f152199
-Node: Icon-QNX\7f152358
-Node: CDC\7f152783
-Node: Display Code\7f154464
-Ref: Display Code-Footnote-1\7f156745
-Node: CDC-NOS\7f156950
-Node: Bang-Bang\7f158912
-Node: Micros\7f160841
-Node: Apple-Mac\7f161224
-Node: AtariST\7f163258
-Node: Miscellaneous\7f164244
-Node: HTML\7f165163
-Node: LaTeX\7f171152
-Node: Texinfo\7f171926
-Node: Vietnamese\7f172698
-Node: African\7f173674
-Node: Others\7f175024
-Node: Java\7f176477
-Node: Texte\7f177144
-Ref: Texte-Footnote-1\7f181692
-Ref: Texte-Footnote-2\7f181772
-Ref: Texte-Footnote-3\7f182247
-Node: Mule\7f182344
-Ref: Mule-Footnote-1\7f184125
-Node: Surfaces\7f184644
-Ref: Surfaces-Footnote-1\7f188063
-Node: Permutations\7f188167
-Node: End lines\7f189008
-Node: MIME\7f191209
-Node: Dump\7f192396
-Node: Test\7f196566
-Node: Internals\7f199044
-Node: Main flow\7f200272
-Node: New charsets\7f203375
-Node: New surfaces\7f207913
-Node: Design\7f208639
-Ref: Design-Footnote-1\7f217805
-Node: Concept Index\7f217909
-Node: Option Index\7f233382
-Node: Library Index\7f236235
-Node: Charset and Surface Index\7f240810
+Ref: Listings-Footnote-1\7f41280
+Node: Recoding\7f41603
+Node: Reversibility\7f44424
+Ref: Reversibility-Footnote-1\7f52879
+Node: Sequencing\7f53016
+Node: Mixed\7f55460
+Node: Emacs\7f58828
+Node: Debugging\7f59862
+Node: Library\7f64132
+Node: Outer level\7f67092
+Node: Request level\7f72441
+Node: Task level\7f83433
+Node: Charset level\7f94063
+Node: Errors\7f94905
+Ref: Errors-Footnote-1\7f99751
+Ref: Errors-Footnote-2\7f99865
+Node: Universal\7f100226
+Ref: Universal-Footnote-1\7f103338
+Ref: Universal-Footnote-2\7f103404
+Node: UCS-2\7f103617
+Node: UCS-4\7f106143
+Node: UTF-7\7f106683
+Node: UTF-8\7f107278
+Node: UTF-16\7f111583
+Node: count-characters\7f112731
+Node: dump-with-names\7f113402
+Node: iconv\7f115951
+Node: Tabular\7f119382
+Node: ASCII misc\7f141595
+Node: ASCII\7f141961
+Node: ISO 8859\7f142777
+Node: ASCII-BS\7f145071
+Node: flat\7f146908
+Node: IBM and MS\7f147579
+Node: EBCDIC\7f148123
+Node: IBM-PC\7f150219
+Ref: IBM-PC-Footnote-1\7f152333
+Node: Icon-QNX\7f152492
+Node: CDC\7f152917
+Node: Display Code\7f154598
+Ref: Display Code-Footnote-1\7f156879
+Node: CDC-NOS\7f157084
+Node: Bang-Bang\7f159046
+Node: Micros\7f160975
+Node: Apple-Mac\7f161358
+Node: AtariST\7f163392
+Node: Miscellaneous\7f164378
+Node: HTML\7f165297
+Node: LaTeX\7f171286
+Node: Texinfo\7f172060
+Node: Vietnamese\7f172832
+Node: African\7f173808
+Node: Others\7f175158
+Node: Java\7f176611
+Node: Texte\7f177278
+Ref: Texte-Footnote-1\7f181826
+Ref: Texte-Footnote-2\7f181906
+Ref: Texte-Footnote-3\7f182381
+Node: Mule\7f182478
+Ref: Mule-Footnote-1\7f184259
+Node: Surfaces\7f184778
+Ref: Surfaces-Footnote-1\7f188197
+Node: Permutations\7f188301
+Node: End lines\7f189142
+Node: MIME\7f191343
+Node: Dump\7f192530
+Node: Test\7f196700
+Node: Internals\7f199178
+Node: Main flow\7f200406
+Node: New charsets\7f203509
+Node: New surfaces\7f208047
+Node: Design\7f208773
+Ref: Design-Footnote-1\7f217939
+Node: Concept Index\7f218043
+Node: Option Index\7f233516
+Node: Library Index\7f236369
+Node: Charset and Surface Index\7f240944
 \1f
 End Tag Table
index be77407de8560b5c8f045cb4b999b75767e4c612..c410293aacac421be4b58846b99959e032c3a308 100644 (file)
@@ -829,14 +829,16 @@ Strings @var{before} and @var{after} are cleaned before being used according
 to the syntax of @var{language}.
 
 Even if Recode tries its best, this option does not always succeed in
-producing the requested source table, it then prints @samp{Recoding is too
-complex for a mere table}.  It will succeed however, provided the recoding
-can be internally represented by only one step after the optimisation phase,
-and if this merged step conveys a one-to-one or a one-to-many explicit
-table.  Also, when attempting to produce sources tables, Recode
-relaxes its checking a tiny bit: it ignores the algorithmic part of some
-tabular recodings, it also avoids the processing of implied surfaces.
-But this is all fairly technical.  Better try and see!
+producing the requested source table, it then prints @samp{Recoding
+is too complex for a mere table}.  It will succeed however, provided
+the recoding can be internally represented by only one step after the
+optimisation phase, and if this merged step conveys a one-to-one or
+a one-to-many explicit table.  To increase the probability that this
+happens, @code{iconv} initialisation is currently inhibited whenever
+this option is used.  Also, when attempting to produce sources tables,
+Recode relaxes its checking a tiny bit: it ignores the algorithmic part
+of some tabular recodings, it also avoids the processing of implied
+surfaces.  But this is all fairly technical.  Better try and see!
 
 Most tables are produced using decimal numbers to refer to character
 values@footnote{The author of Recode by far prefer expressing numbers
index db030a216ae3c3993b928ba7dab1757546d54782..7c8060ceb5302221d2d34122a301364b49954973 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-14  François Pinard  <pinard@iro.umontreal.ca>
+
+       * main.c: Inhibit iconv whenever -h is used.
+       Reported by Richard Nault.
+
 2008-03-13  François Pinard  <pinard@iro.umontreal.ca>
 
        * java.c: New.
index 020d27a4033ab4cd8c93f8a241f4848503b430d9..8f99ac40a54438b9e2a9ab94c717178e3350c58e 100644 (file)
@@ -640,6 +640,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"),
     unsigned flags = RECODE_AUTO_ABORT_FLAG;
     if (ignored_name && *ignored_name == ':')
       flags |= RECODE_NO_ICONV_FLAG;
+    if (request_option.make_header_flag)
+      flags |= RECODE_NO_ICONV_FLAG;
     outer = recode_new_outer (flags);
     if (!outer)
       abort ();