aboutsummaryrefslogtreecommitdiff
path: root/japanese/oleo/files/patch-aa
diff options
context:
space:
mode:
Diffstat (limited to 'japanese/oleo/files/patch-aa')
-rw-r--r--japanese/oleo/files/patch-aa85
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