]>
Commit | Line | Data |
---|---|---|
dd714b8a MT |
1 | Submitted By: Alexander E. Patrakov |
2 | Date: 2005-07-12 | |
3 | Initial Package Version: 4.8 | |
4 | Upstream Status: Hack, won't submit | |
5 | Origin: Alexander E. Patrakov | |
6 | Description: Info assumes that a string width in character cells is the | |
7 | same as its length in bytes. This patch avoids cases when this assumption | |
8 | is not true. | |
9 | ||
10 | diff -ur texinfo-4.8/info/info.c texinfo-4.8.hacked/info/info.c | |
11 | --- texinfo-4.8/info/info.c 2004-04-11 23:56:45.000000000 +0600 | |
12 | +++ texinfo-4.8.hacked/info/info.c 2005-07-12 12:11:34.852485776 +0600 | |
13 | @@ -154,6 +154,10 @@ | |
14 | #ifdef HAVE_SETLOCALE | |
15 | /* Set locale via LC_ALL. */ | |
16 | setlocale (LC_ALL, ""); | |
17 | + /* But don't use translated messages in the case when | |
18 | + string width and length can differ */ | |
19 | + if (MB_CUR_MAX > 1) | |
20 | + setlocale(LC_MESSAGES, "C"); | |
21 | #endif | |
22 | ||
23 | #ifdef ENABLE_NLS | |
24 | diff -ur texinfo-4.8/info/man.c texinfo-4.8.hacked/info/man.c | |
25 | --- texinfo-4.8/info/man.c 2004-04-11 23:56:46.000000000 +0600 | |
26 | +++ texinfo-4.8.hacked/info/man.c 2005-07-12 12:08:40.267026800 +0600 | |
27 | @@ -325,6 +325,17 @@ | |
28 | freopen (NULL_DEVICE, "r", stdin); | |
29 | dup2 (pipes[1], fileno (stdout)); | |
30 | ||
31 | + if (MB_CUR_MAX > 1) | |
32 | + { | |
33 | + /* Info has trouble wrapping man output if it contains | |
34 | + multibyte characters */ | |
35 | + setenv("LANGUAGE", "C", 1); | |
36 | + setenv("LANG", "C", 1); | |
37 | + setenv("LC_MESSAGES", "C", 1); | |
38 | + setenv("LC_CTYPE", "C", 1); | |
39 | + setenv("LC_ALL", "C", 1); | |
40 | + } | |
41 | + | |
42 | execv (formatter_args[0], formatter_args); | |
43 | ||
44 | /* If we get here, we couldn't exec, so close out the pipe and |