From a281027fa9071117a14369220465f3669d1a32fe Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Tue, 23 Aug 2011 13:09:09 +0000 Subject: mendex: WIN32 updates from W32TeX git-svn-id: svn://tug.org/texlive/trunk@23654 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/mendexk/ChangeLog | 194 +++++++++++++++----------------- Build/source/texk/mendexk/ChangeLog.TL | 81 ------------- Build/source/texk/mendexk/ChangeLog.jis | 105 +++++++++++++++++ Build/source/texk/mendexk/Makefile.am | 2 +- Build/source/texk/mendexk/Makefile.in | 2 +- Build/source/texk/mendexk/convert.c | 6 +- Build/source/texk/mendexk/fread.c | 4 +- Build/source/texk/mendexk/mendex.h | 5 + Build/source/texk/mendexk/styfile.c | 2 +- 9 files changed, 207 insertions(+), 194 deletions(-) delete mode 100644 Build/source/texk/mendexk/ChangeLog.TL create mode 100644 Build/source/texk/mendexk/ChangeLog.jis diff --git a/Build/source/texk/mendexk/ChangeLog b/Build/source/texk/mendexk/ChangeLog index e3218d5e158..6bf54e8c6b3 100644 --- a/Build/source/texk/mendexk/ChangeLog +++ b/Build/source/texk/mendexk/ChangeLog @@ -1,105 +1,89 @@ -mendex 変更履歴 - -2.3c->2.3e -・同じ索引語が64個までしか処理できなかった制限をなくした。また、EUCのコンパイラ - でSJIS対応のバイナリを作れるように修正。 - -2.3e->2.3f -・preamble,postambleが複数行にわたるとおかしくなるバグを修正。また、索引項目中 - の"\"の処理がおかしかった箇所を修正。 - -2.3f->2.3g -・同じ索引項目の上限が128個であったのを2147483648個(int型の上限)まで拡張。 -・*.indファイル生成用の文字列領域を拡張。 - -2.3g->2.3h -・全索引項目数が4096個までになっていたのでこの制限をなくした。 -・ページ範囲の処理にバグがあったので修正。 - -2.3h->2.4a -・ページのソート処理にバグがあったので修正。 -・ページ範囲の処理にまだ問題があったので修正。 -・kpathsea-3.0へ対応(kpathsea-2.6, kpathseaなしでも可)。 -・makeindexに合わせるために環境変数名を変更。 - INDEXSTYLE -> INDEXDEFAULTSTYLE - INDEXSTYLES -> INDEXSTYLE - MENDEX_DICTIONARY -> INDEXDEFAULTDICTIONARY - INDEXDICTS -> INDEXDICTIONARY - -2.4a->2.4b -・ページ範囲の始めと終わりが同じ場合には範囲表現をしないように修正。 -・ページ番号にコマンドを付ける場合の動作についてmakeindexとの互換性を向上。 - -2.4b->2.4c -・「ぬ」の後の音引きの変換に失敗するバグを修正。 - -2.4c->2.4d -・ページ番号のソート処理にバグがあったので修正。 - -2.4d->2.4e -・主索引項目の下に2つ以上の副索引項目がある場合に、副索引間のコマンド文字列が - おかしい場合があったので修正。 - -2.4e->2.4f -・主索引項目の下に2つ以上の副索引項目がある場合に、副索引間のコマンド文字列が - おかしい場合があったので修正。 -・Shift-JIS処理時に、ページ番号に付加するコマンドに2バイト文字が使用された場合に - 動作がおかしくなるので修正。 - -2.4f->2.5 -・-s オプション使用時にスタイルパラメータ escape の値がおかしくなっていたので - 修正。 -・makeindexに合わせるため、以下ように仕様を変更。 - 1. -c オプション時の動作を修正。makeindex では索引語の前後の空きを削除するが、 - mendex では空きが残っていたので、削除するようにした。 - 2. makeindex で使用されているスタイルパラメータのうち、mendexでサポートされて - いなかったものを追加サポート。 - delim_t - suffix_2p - suffix_3p - suffix_mp - heading_flag - heading_prefix - symhead_positive - symhead_negative - ただし、以下の makeindex 用パラメータは無視される。 - numhead_positive - numhead_negative - 3. escape の仕様を変更。arg_open, arg_close をエスケープ可能にした。このため、 - escape が1つだけの項目は受け付けられなくなった。 - 4. エントリ中で actual の後に項目が無い場合に、actual の前の文字列を項目とする - ように変更。 - 5. エントリ中で level の後に項目が無い場合、level を無視するように変更。 - -2.5->2.5a -・引数の入力ファイル名から拡張子(.idx)を省略した場合にエラーが発生するバグを - 修正。 - -2.5a->2.6 -・不正な索引行の読み込みを禁止するよう修正。 -・インストールにconfigureを使用するように変更。 -・漢字コードオプションを追加。 - -2.6->2.6a -・kana.h, ktable.h中の漢字コード記述をEUCに変更。 -・usageおよび読み込みエラー表示時の漢字コードを修正。 - -2.6a->2.6b -・読み展開時のエラー表示の漢字コードを修正。 -・非漢字部の範囲を厳密化。 - -2.6b->2.6c -・SJISモード時の出力の文字化けを修正。 -・出力メッセージ中のaccept、rejectの数値を修正。 -・teTeXのconfigureで指定されたコンパイラを使用するようにMakefile.inを修正。 - -2.6c->2.6d -・非GNU環境でのインストールのためにMakefile.inを修正。 -・ページ番号部に漢字がある場合の文字化けを修正(ただしページ番号としては処理 - されない)。 - -2.6d->2.6e -・行長制限を1024バイトから65536バイトへ変更。 - -2.6e->2.6f -・2階層以上の索引の親階層の読みが直前の索引と同じ場合、親階層が出力されない不具合を修正。 +2011-08-23 Peter Breitenlohner + + Rename: ChangeLog => ChangeLog.jis, ChangeLog.TL => ChangeLog. + * Makefile.am: Adapt. + + * mendex.h [WIN32]: #define nkf_open as fopen and nkf_close as + fclose. + + * convert.c, fread.c, styfile.c: Open files with mode "rb" + (required for WIN32, ignored for Unix). + +2011-08-02 Peter Breitenlohner + + * convert.c, kp.[ch], main.c: Remove code for ancient kpathsea. + * Makefile.am (AM_CPPFLAGS): Drop `-DKPATHSEA3'. + +2011-04-23 Peter Breitenlohner + + * Makefile.am (EXTRA_DIST): No need to mention ChangeLog, README. + * configure.ac: Drop useless check for . + + * convert.c, fread.c, main.c, sort.c: Do not typecast the + result of malloc(). + +2011-04-22 Peter Breitenlohner + + Avoid 'differ in signedness' warnings. + The string functions strlen(), strcmp(), strncmp(), strcpy(), + and strncpy() all expect 'char *' arguments and gcc-4.x will + create warnings for 'signed char *' and 'unsigned char *' args. + Moreover strcmp() and strncmp() will always compare string bytes + interpreted as 'unsigned char'. Finally initializing plain char + array elements with, e.g., '0x80' always does the right thing. + + * convert.c, exkana.h, exvar.h, fread.c, fwrite.c, kana.h, + ktable.h, mendex.h, sort.c, var.h: Change type of all global and + local vars, function params, and struct members from 'unsigned + char' or 'unsigned char *' to plain 'char' or 'char *', but + always cast string bytes to 'unsigned char' when tested for '<', + '<=', '>', or '>='. + + * convert.c, fread.c, main.c, sort.c: Do not typecast the + result of malloc(). + +2010-04-17 Peter Breitenlohner + + * convert.c (dicread, dicvalread), fread.c (idxread), + pageread.c (lastpage), styfile.c (styread): Use kpse_in_name_ok. + * fwrite.c (indwrite), main.c (main): Use kpse_out_name_ok. + From Akira Kakuto , 17 Apr 2010 23:30:15. + Added #include for prototypes. + + * convert.c (kp_dict): Move extern declaration from here ... + * styfile.c (kp_ist): ... and here ... + * kp.h (kp_ist, kp_dict): ... to here. + +2010-04-16 Peter Breitenlohner + + * exvar.h, var.h (atama, page_compositor, page_precedence): + Change types from 'char' back to 'unsigned char' as they + originally were in exvar.h. From Sadayuki Tanaka + , 16 Apr 2010 16:30:22. + +2010-04-15 Peter Breitenlohner + + * pageread.c: #include "mendex.h" for prototype. + * kana.h: #include "exkana.h" for type checking. + * var.h: #include "exvar.h" for type checking. + * sort.c (wcomp): Initialize local variable prechar. + * kp.c (KP_init): Use kpse_set_program_name() because + kpse_set_progname() is deprecated since ages and no longer + exported from kpathsea. + + FIXME: Is this correct? + * exvar.h (atama, page_compositor, page_precedence): Change type + from 'unsigned char' to 'char' as defined in var.h. + + * convert.c (dicread): Add 'return 0' at end. + + Avoid compiler warnings. + * ANSI C function prototypes and definitions. + * Declare functions as static, skip compilation of unused ones. + * Declare various function param or result, struct member, and + local or global var strings as const. + +2010-04-12 Peter Breitenlohner + + * Makefile.am (EXTRA_DIST): Add indexsty, mendex.doc. + Add rule to rebuild kpathsea. diff --git a/Build/source/texk/mendexk/ChangeLog.TL b/Build/source/texk/mendexk/ChangeLog.TL deleted file mode 100644 index 5eca3afb25d..00000000000 --- a/Build/source/texk/mendexk/ChangeLog.TL +++ /dev/null @@ -1,81 +0,0 @@ -ChangeLog.TL: TeX Live (TL) changes for mendexk -=============================================== - -2011-08-02 Peter Breitenlohner - - * convert.c, kp.[ch], main.c: Remove code for ancient kpathsea. - * Makefile.am (AM_CPPFLAGS): Drop `-DKPATHSEA3'. - -2011-04-23 Peter Breitenlohner - - * Makefile.am (EXTRA_DIST): No need to mention ChangeLog, README. - * configure.ac: Drop useless check for . - - * convert.c, fread.c, main.c, sort.c: Do not typecast the - result of malloc(). - -2011-04-22 Peter Breitenlohner - - Avoid 'differ in signedness' warnings. - The string functions strlen(), strcmp(), strncmp(), strcpy(), - and strncpy() all expect 'char *' arguments and gcc-4.x will - create warnings for 'signed char *' and 'unsigned char *' args. - Moreover strcmp() and strncmp() will always compare string bytes - interpreted as 'unsigned char'. Finally initializing plain char - array elements with, e.g., '0x80' always does the right thing. - - * convert.c, exkana.h, exvar.h, fread.c, fwrite.c, kana.h, - ktable.h, mendex.h, sort.c, var.h: Change type of all global and - local vars, function params, and struct members from 'unsigned - char' or 'unsigned char *' to plain 'char' or 'char *', but - always cast string bytes to 'unsigned char' when tested for '<', - '<=', '>', or '>='. - - * convert.c, fread.c, main.c, sort.c: Do not typecast the - result of malloc(). - -2010-04-17 Peter Breitenlohner - - * convert.c (dicread, dicvalread), fread.c (idxread), - pageread.c (lastpage), styfile.c (styread): Use kpse_in_name_ok. - * fwrite.c (indwrite), main.c (main): Use kpse_out_name_ok. - From Akira Kakuto , 17 Apr 2010 23:30:15. - Added #include for prototypes. - - * convert.c (kp_dict): Move extern declaration from here ... - * styfile.c (kp_ist): ... and here ... - * kp.h (kp_ist, kp_dict): ... to here. - -2010-04-16 Peter Breitenlohner - - * exvar.h, var.h (atama, page_compositor, page_precedence): - Change types from 'char' back to 'unsigned char' as they - originally were in exvar.h. From Sadayuki Tanaka - , 16 Apr 2010 16:30:22. - -2010-04-15 Peter Breitenlohner - - * pageread.c: #include "mendex.h" for prototype. - * kana.h: #include "exkana.h" for type checking. - * var.h: #include "exvar.h" for type checking. - * sort.c (wcomp): Initialize local variable prechar. - * kp.c (KP_init): Use kpse_set_program_name() because - kpse_set_progname() is deprecated since ages and no longer - exported from kpathsea. - - FIXME: Is this correct? - * exvar.h (atama, page_compositor, page_precedence): Change type - from 'unsigned char' to 'char' as defined in var.h. - - * convert.c (dicread): Add 'return 0' at end. - - Avoid compiler warnings. - * ANSI C function prototypes and definitions. - * Declare functions as static, skip compilation of unused ones. - * Declare various function param or result, struct member, and - local or global var strings as const. - -2010-04-12 Peter Breitenlohner - - * Makefile.am (EXTRA_DIST): Add indexsty, mendex.doc. - Add rule to rebuild kpathsea. diff --git a/Build/source/texk/mendexk/ChangeLog.jis b/Build/source/texk/mendexk/ChangeLog.jis new file mode 100644 index 00000000000..e3218d5e158 --- /dev/null +++ b/Build/source/texk/mendexk/ChangeLog.jis @@ -0,0 +1,105 @@ +mendex 変更履歴 + +2.3c->2.3e +・同じ索引語が64個までしか処理できなかった制限をなくした。また、EUCのコンパイラ + でSJIS対応のバイナリを作れるように修正。 + +2.3e->2.3f +・preamble,postambleが複数行にわたるとおかしくなるバグを修正。また、索引項目中 + の"\"の処理がおかしかった箇所を修正。 + +2.3f->2.3g +・同じ索引項目の上限が128個であったのを2147483648個(int型の上限)まで拡張。 +・*.indファイル生成用の文字列領域を拡張。 + +2.3g->2.3h +・全索引項目数が4096個までになっていたのでこの制限をなくした。 +・ページ範囲の処理にバグがあったので修正。 + +2.3h->2.4a +・ページのソート処理にバグがあったので修正。 +・ページ範囲の処理にまだ問題があったので修正。 +・kpathsea-3.0へ対応(kpathsea-2.6, kpathseaなしでも可)。 +・makeindexに合わせるために環境変数名を変更。 + INDEXSTYLE -> INDEXDEFAULTSTYLE + INDEXSTYLES -> INDEXSTYLE + MENDEX_DICTIONARY -> INDEXDEFAULTDICTIONARY + INDEXDICTS -> INDEXDICTIONARY + +2.4a->2.4b +・ページ範囲の始めと終わりが同じ場合には範囲表現をしないように修正。 +・ページ番号にコマンドを付ける場合の動作についてmakeindexとの互換性を向上。 + +2.4b->2.4c +・「ぬ」の後の音引きの変換に失敗するバグを修正。 + +2.4c->2.4d +・ページ番号のソート処理にバグがあったので修正。 + +2.4d->2.4e +・主索引項目の下に2つ以上の副索引項目がある場合に、副索引間のコマンド文字列が + おかしい場合があったので修正。 + +2.4e->2.4f +・主索引項目の下に2つ以上の副索引項目がある場合に、副索引間のコマンド文字列が + おかしい場合があったので修正。 +・Shift-JIS処理時に、ページ番号に付加するコマンドに2バイト文字が使用された場合に + 動作がおかしくなるので修正。 + +2.4f->2.5 +・-s オプション使用時にスタイルパラメータ escape の値がおかしくなっていたので + 修正。 +・makeindexに合わせるため、以下ように仕様を変更。 + 1. -c オプション時の動作を修正。makeindex では索引語の前後の空きを削除するが、 + mendex では空きが残っていたので、削除するようにした。 + 2. makeindex で使用されているスタイルパラメータのうち、mendexでサポートされて + いなかったものを追加サポート。 + delim_t + suffix_2p + suffix_3p + suffix_mp + heading_flag + heading_prefix + symhead_positive + symhead_negative + ただし、以下の makeindex 用パラメータは無視される。 + numhead_positive + numhead_negative + 3. escape の仕様を変更。arg_open, arg_close をエスケープ可能にした。このため、 + escape が1つだけの項目は受け付けられなくなった。 + 4. エントリ中で actual の後に項目が無い場合に、actual の前の文字列を項目とする + ように変更。 + 5. エントリ中で level の後に項目が無い場合、level を無視するように変更。 + +2.5->2.5a +・引数の入力ファイル名から拡張子(.idx)を省略した場合にエラーが発生するバグを + 修正。 + +2.5a->2.6 +・不正な索引行の読み込みを禁止するよう修正。 +・インストールにconfigureを使用するように変更。 +・漢字コードオプションを追加。 + +2.6->2.6a +・kana.h, ktable.h中の漢字コード記述をEUCに変更。 +・usageおよび読み込みエラー表示時の漢字コードを修正。 + +2.6a->2.6b +・読み展開時のエラー表示の漢字コードを修正。 +・非漢字部の範囲を厳密化。 + +2.6b->2.6c +・SJISモード時の出力の文字化けを修正。 +・出力メッセージ中のaccept、rejectの数値を修正。 +・teTeXのconfigureで指定されたコンパイラを使用するようにMakefile.inを修正。 + +2.6c->2.6d +・非GNU環境でのインストールのためにMakefile.inを修正。 +・ページ番号部に漢字がある場合の文字化けを修正(ただしページ番号としては処理 + されない)。 + +2.6d->2.6e +・行長制限を1024バイトから65536バイトへ変更。 + +2.6e->2.6f +・2階層以上の索引の親階層の読みが直前の索引と同じ場合、親階層が出力されない不具合を修正。 diff --git a/Build/source/texk/mendexk/Makefile.am b/Build/source/texk/mendexk/Makefile.am index dfc830704bd..7696f057b4b 100644 --- a/Build/source/texk/mendexk/Makefile.am +++ b/Build/source/texk/mendexk/Makefile.am @@ -42,7 +42,7 @@ dist_man1_MANS = mendex.1 EXTRA_DIST = \ COPYRIGHT \ COPYRIGHT.jis \ - ChangeLog.TL + ChangeLog.jis ## Eventually delete these files ## diff --git a/Build/source/texk/mendexk/Makefile.in b/Build/source/texk/mendexk/Makefile.in index d3941d89ab4..0e8a39a1f1c 100644 --- a/Build/source/texk/mendexk/Makefile.in +++ b/Build/source/texk/mendexk/Makefile.in @@ -274,7 +274,7 @@ mendex_SOURCES = \ LDADD = $(PTEXENC_LIBS) $(KPATHSEA_LIBS) dist_man1_MANS = mendex.1 -EXTRA_DIST = COPYRIGHT COPYRIGHT.jis ChangeLog.TL indexsty mendex.doc +EXTRA_DIST = COPYRIGHT COPYRIGHT.jis ChangeLog.jis indexsty mendex.doc all: c-auto.h $(MAKE) $(AM_MAKEFLAGS) all-am diff --git a/Build/source/texk/mendexk/convert.c b/Build/source/texk/mendexk/convert.c index dec092ac65b..3341cccad05 100644 --- a/Build/source/texk/mendexk/convert.c +++ b/Build/source/texk/mendexk/convert.c @@ -72,7 +72,7 @@ int dicread(const char *filename) filename = KP_find_file(&kp_dict,filename); #endif if(kpse_in_name_ok(filename)) - fp=nkf_open(filename,"r"); + fp=nkf_open(filename,"rb"); else fp = NULL; if (fp==NULL) { @@ -105,7 +105,7 @@ ENV: envfile = KP_find_file(&kp_dict,envfile); #endif if(kpse_in_name_ok(envfile)) - fp=nkf_open(envfile,"r"); + fp=nkf_open(envfile,"rb"); else fp = NULL; if (fp==NULL) { @@ -140,7 +140,7 @@ static int dicvalread(const char *filename, struct dictionary *dicval, int line) FILE *fp; if(kpse_in_name_ok(filename)) - fp=nkf_open(filename,"r"); + fp=nkf_open(filename,"rb"); else { fprintf(stderr, "mendex: %s is forbidden to open for reading.\n",filename); exit(-1); diff --git a/Build/source/texk/mendexk/fread.c b/Build/source/texk/mendexk/fread.c index 4d04940380c..74a0c5e19fa 100644 --- a/Build/source/texk/mendexk/fread.c +++ b/Build/source/texk/mendexk/fread.c @@ -31,13 +31,13 @@ int idxread(char *filename, int start) } else { if(kpse_in_name_ok(filename)) - fp=nkf_open(filename,"r"); + fp=nkf_open(filename,"rb"); else fp=NULL; if (fp==NULL) { sprintf(buff,"%s.idx",filename); if(kpse_in_name_ok(buff)) - fp=nkf_open(buff,"r"); + fp=nkf_open(buff,"rb"); else fp=NULL; if (fp==NULL) { diff --git a/Build/source/texk/mendexk/mendex.h b/Build/source/texk/mendexk/mendex.h index 81a7ecd8e33..f8a48758cb0 100644 --- a/Build/source/texk/mendexk/mendex.h +++ b/Build/source/texk/mendexk/mendex.h @@ -1,3 +1,8 @@ +#ifdef WIN32 +#define nkf_open fopen +#define nkf_close fclose +#endif + struct page { char *page; char *enc; diff --git a/Build/source/texk/mendexk/styfile.c b/Build/source/texk/mendexk/styfile.c index f7d990e2790..07f3f4601a7 100644 --- a/Build/source/texk/mendexk/styfile.c +++ b/Build/source/texk/mendexk/styfile.c @@ -33,7 +33,7 @@ void styread(const char *filename) filename = KP_find_file(&kp_ist,filename); #endif if(kpse_in_name_ok(filename)) - fp=nkf_open(filename,"r"); + fp=nkf_open(filename,"rb"); else fp=NULL; if (fp==NULL) { -- cgit v1.2.3