/* Nonzero means truncate lines in all windows less wide than the frame */
int truncate_partial_width_windows;
+/* A flag to control how to display unibyte 8-bit character. */
+int unibyte_display_via_language_environment;
+
/* Nonzero means we have more than one non-minibuffer-only frame.
Not guaranteed to be accurate except while parsing frame-title-format. */
int multiple_frames;
if (bp.contin && bp.hpos != lmargin)
{
val.hpos = bp.prevhpos - width + lmargin;
- val.tab_offset = bp.tab_offset + bp.prevhpos - width;
+ val.tab_offset = bp.tab_offset + width - bp.prevhpos;
did_motion = 1;
DEC_BOTH (pos, pos_byte);
}
by octal form. */
int remaining_bytes = len;
+ if (unibyte_display_via_language_environment
+ && SINGLE_BYTE_CHAR_P (c)
+ && (c >= 0240
+ || (c >= 0200 && !NILP (Vnonascii_translation_table))))
+ c = unibyte_char_to_multibyte (c);
+
if (c >= 0400 && CHAR_VALID_P (c, 0))
{
/* C is a multibyte character. */
If EOL_FLAG is 1, set also a mnemonic character for end-of-line
type of CODING_SYSTEM. Return updated pointer into BUF. */
-static char invalid_eol_type[] = "(*invalid*)";
+static unsigned char invalid_eol_type[] = "(*invalid*)";
static char *
decode_mode_spec_coding (coding_system, buf, eol_flag)
DEFVAR_INT ("line-number-display-limit", &line_number_display_limit,
"*Maximum buffer size (in characters) for line number display\n\
If the buffer is bigger than this, the line number does not appear\n\
-in the mode line..");
+in the mode line.");
line_number_display_limit = 1000000;
DEFVAR_BOOL ("highlight-nonselected-windows", &highlight_nonselected_windows,
"*Number of characters of overlap when scrolling a one-line window.\n\
This commonly affects the minibuffer window, hence the name of the variable.");
minibuffer_scroll_overlap = 20;
+
+ DEFVAR_BOOL ("unibyte-display-via-language-environment",
+ &unibyte_display_via_language_environment,
+ "*Non-nil means display unibyte text according to language environment.\n\
+Specifically this means that unibyte non-ASCII characters\n\
+are displayed by converting them to the equivalent multibyte characters\n\
+according to the current language environment. As a result, they are\n\
+displayed according to the current fontset.");
+ unibyte_display_via_language_environment = 0;
}
/* initialize the window system */