[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lynx-dev Re: Japanese/LYRawMode & forms-options menu -> FIXED
From: |
Leonid Pauzner |
Subject: |
lynx-dev Re: Japanese/LYRawMode & forms-options menu -> FIXED |
Date: |
Fri, 16 Oct 1998 19:01:44 +0400 (MSD) |
OK, it was my bug.
In forms-options menu, assume_char_set now works correctly for any LYRawMode
value by sinchronizing gen_options() and postoptions() via rawmode memory.
diff -u old/lyoption.c ./lyoption.c
--- old/lyoption.c Thu Oct 15 18:23:46 1998
+++ ./lyoption.c Fri Oct 16 18:39:58 1998
@@ -3422,8 +3422,8 @@
PostPair *data = 0;
int i;
BOOLEAN save_all = FALSE;
- BOOLEAN display_char_set_changed = FALSE;
- BOOLEAN raw_mode_changed = FALSE;
+ int display_char_set_old = current_char_set;
+ BOOLEAN raw_mode_old = LYRawMode;
BOOLEAN assume_char_set_changed = FALSE;
BOOLEAN need_reload = FALSE;
#if defined(USE_SLANG) || defined(COLOR_CURSES)
@@ -3599,7 +3599,11 @@
int newval;
newval = UCGetLYhndl_byMIME(data[i].value);
- if (newval != UCLYhndl_for_unspec) {
+ if ((raw_mode_old &&
+ newval != safeUCGetLYhndl_byMIME(UCAssume_MIMEcharset))
+ || (!raw_mode_old &&
+ newval != UCLYhndl_for_unspec)) {
+
UCLYhndl_for_unspec = newval;
StrAllocCopy(UCAssume_MIMEcharset, data[i].value);
assume_char_set_changed = TRUE;
@@ -3613,7 +3617,6 @@
newval = atoi(data[i].value);
if (newval != current_char_set) {
current_char_set = newval;
- display_char_set_changed = TRUE;
}
}
@@ -3623,7 +3626,6 @@
if (newmode != LYRawMode) {
LYRawMode = newmode;
- raw_mode_changed = TRUE;
}
}
@@ -3677,11 +3679,13 @@
/*
* Process the flags:
*/
- if ( display_char_set_changed || raw_mode_changed ||
assume_char_set_changed ) {
+ if ( display_char_set_old != current_char_set ||
+ raw_mode_old != LYRawMode ||
+ assume_char_set_changed ) {
/*
* charset settings: the order is essential here.
*/
- if (display_char_set_changed) {
+ if (display_char_set_old != current_char_set) {
/*
* Set the LYUseDefaultRawMode value and character
* handling if LYRawMode was changed. - FM
@@ -3692,7 +3696,7 @@
if (assume_char_set_changed) {
LYRawMode = (UCLYhndl_for_unspec == current_char_set);
}
- if (raw_mode_changed || assume_char_set_changed) {
+ if (raw_mode_old != LYRawMode || assume_char_set_changed) {
/*
* Set the raw 8-bit or CJK mode defaults and
* character set if changed. - FM
@@ -3999,11 +4003,9 @@
* string that was displayed. Now, user will never see that. Good
* or bad? I don't know. MRC
*/
- if (curval == current_char_set && UCAssume_MIMEcharset) {
- curval = UCGetLYhndl_byMIME(UCAssume_MIMEcharset);
- }
- if (curval < 0) {
- curval = LYRawMode ? current_char_set : 0;
+ if (curval == current_char_set) {
+ /* ok, LYRawMode, so use UCAssume_MIMEcharset */
+ curval = safeUCGetLYhndl_byMIME(UCAssume_MIMEcharset);
}
PutLabel(fp0, "Assumed document character set");
BeginSelect(fp0, assume_char_set_string);
diff -u old/html.c ./html.c
--- old/html.c Thu Oct 15 18:23:40 1998
+++ ./html.c Fri Oct 16 00:17:58 1998
@@ -4458,7 +4458,7 @@
if (I.type && !strcasecomp(I.type, "hidden")) {
me->HiddenValue = TRUE;
- current_char_set = 0; /* Default ISO-Latin1 */
+ current_char_set = LATIN1; /* Default ISO-Latin1 */
LYUseDefaultRawMode = TRUE;
HTMLSetCharacterHandling(current_char_set);
}
- lynx-dev Re: Japanese/LYRawMode & forms-options menu -> FIXED,
Leonid Pauzner <=