diff options
Diffstat (limited to 'japanese/oleo/files/patch-aa')
-rw-r--r-- | japanese/oleo/files/patch-aa | 85 |
1 files changed, 64 insertions, 21 deletions
diff --git a/japanese/oleo/files/patch-aa b/japanese/oleo/files/patch-aa index 0756a41d567b..7897302ab25a 100644 --- a/japanese/oleo/files/patch-aa +++ b/japanese/oleo/files/patch-aa @@ -1,26 +1,69 @@ ---- io-utils.c.orig Wed Jun 11 19:48:27 1997 -+++ io-utils.c Wed Jun 11 19:55:10 1997 -@@ -85,12 +85,23 @@ - init_infinity () +--- io-term.c.org Thu Feb 12 16:59:47 1998 ++++ io-term.c Thu Feb 12 17:23:06 1998 +@@ -23,6 +23,10 @@ the Free Software Foundation, 675 Mass A + #else + #include <locale.h> #endif - { ++/* Related to fpsetmask */ +#ifdef __FreeBSD__ -+ /* Imprimentation of 'Divide by 0' on FreeBSD is difference -+ from NetBSD, Solaris, Linux. */ -+ (void)signal (SIGFPE, ignore_sig); -+ __plinf = 1./0.; -+ (void)signal (SIGFPE, ignore_sig); -+ __neinf = -1.0/0.; -+ (void)signal (SIGFPE, ignore_sig); -+ __nan = 0./0.; -+#else - (void)signal (SIGFPE, ignore_sig); - __plinf = divide (1., 0.); - (void)signal (SIGFPE, ignore_sig); - __neinf = divide (-1., 0.); - (void)signal (SIGFPE, ignore_sig); - __nan = __plinf + __neinf; ++#include <floatingpoint.h> +#endif - } + #include "global.h" +@@ -1011,6 +1015,36 @@ main (argc, argv) + volatile int init_fpc = 0; + int command_line_file = 0; /* was there one? */ + ++#ifdef EUC_JP ++ if ((getenv("DISPLAY") != NULL) && ++ ((getenv("LANG") == NULL) || (strcmp(getenv("LANG"), "C") == 0))) { ++ fprintf(stderr, "==============================================\n"); ++ fprintf(stderr, " ja-oleo enviroment problem report \n"); ++ fprintf(stderr, "==============================================\n"); ++ fprintf(stderr, " Sorry, ja-oleo has some locale and X problem.\n"); ++ fprintf(stderr, "\n"); ++ fprintf(stderr, " If you want to use as X client,\n"); ++ fprintf(stderr, " set enviroment variable LANG ja_JP.EUC\n"); ++ fprintf(stderr, " cf) under csh/tcsh\n"); ++ fprintf(stderr, " setenv LANG ja_JP.EUC\n"); ++ fprintf(stderr, " If you want under LANG=C or LANG is not set:\n"); ++ fprintf(stderr, " you can't execute X client program as:\n"); ++ fprintf(stderr, " unset enviroment variable DISPLAY\n"); ++ fprintf(stderr, " cf) under csh/tcsh\n"); ++ fprintf(stderr, " unsetenv DISPLAY\n"); ++ fprintf(stderr, "----------------------------------------------\n"); ++ fprintf(stderr, " If you have a fix or comments, you are welcome\n"); ++ fprintf(stderr, " to mail me <sanpei@yy.cs.keio.ac.jp>\n"); ++ fprintf(stderr, "Thank you.\n"); ++ exit(1); ++ } ++#endif /* EUC_JP */ ++ ++ ++ /* oleo needs IEEE default behaviour under FreeBSD */ ++#ifdef __FreeBSD__ ++ fpsetmask(0); ++#endif + argv_name = argv[0]; + __make_backups = 1; + +@@ -1106,6 +1140,18 @@ main (argc, argv) + FD_ZERO (&exception_pending_fd_set); + + if( setlocale(LC_ALL,"") == NULL ) { ++#ifdef EUC_JP ++ if (strcmp(getenv("LANG"), "ja_JP.EUC") == 0) { ++ fprintf(stderr, "----------------------------------------------\n"); ++ fprintf(stderr, " If you run with ja_JP.EUC LOCALE, you need\n"); ++ fprintf(stderr, " LC_COLLATE and LC_TIME file in\n"); ++ fprintf(stderr, " /usr/share/locale/ja_JP.EUC directory.\n"); ++ fprintf(stderr, " cd /usr/share/locale/ja_JP.EUC\n"); ++ fprintf(stderr, " ln -s /usr/share/locale/lt_LN.ISO_8859-1/LC_COLLATE\n"); ++ fprintf(stderr, " ln -s /usr/share/locale/en_US.ISO_8859-1/LC_TIME\n"); ++ fprintf(stderr, "----------------------------------------------\n"); ++ } ++#endif /* EUC_JP */ + panic("Can not set locale."); + } + #ifdef HAVE_X11_X_H |