# HG changeset patch # User Stefan Monnier # Date 1254103312 0 # Node ID 41de8bc6a7beb383d3a153548dbb9f0c02ea7fec # Parent 1308a0fb85e9c42f0e72a24052c5e62ea2df3e2a (get_next_display_element): Use an enum in last change. diff -r 1308a0fb85e9 -r 41de8bc6a7be src/ChangeLog --- a/src/ChangeLog Mon Sep 28 01:57:33 2009 +0000 +++ b/src/ChangeLog Mon Sep 28 02:01:52 2009 +0000 @@ -1,6 +1,10 @@ +2009-09-28 Stefan Monnier + + * xdisp.c (get_next_display_element): Use an enum in last change. + 2009-09-28 Kenichi Handa - * xdisp.c: Pay attention to + * xdisp.c (get_next_display_element): Pay attention to unibyte_display_via_language_environment in handling Vnobreak_char_display. @@ -19,8 +23,8 @@ (ns_set_name_as_filename, x-create-frame, ns-get-resource) (ns-set-resource): Use ns_app_name instead of NSProcessInfo call. - * menu.c (find_and_return_menu_selection) [HAVE_NS]: Remove - double-casting in client_data comparison. + * menu.c (find_and_return_menu_selection) [HAVE_NS]: + Remove double-casting in client_data comparison. 2009-09-27 YAMAMOTO Mitsuharu diff -r 1308a0fb85e9 -r 41de8bc6a7be src/xdisp.c --- a/src/xdisp.c Mon Sep 28 01:57:33 2009 +0000 +++ b/src/xdisp.c Mon Sep 28 02:01:52 2009 +0000 @@ -5684,9 +5684,8 @@ { Lisp_Object dv; struct charset *unibyte = CHARSET_FROM_ID (charset_unibyte); - int nbsp_or_shy = 0; /* 1:NO-BREAK SPACE, 2:SOFT HYPHEN, 0:ELSE */ -#define IS_NBSP (nbsp_or_shy == 1) -#define IS_SHY (nbsp_or_shy == 2) + enum { char_is_other = 0, char_is_nbsp, char_is_soft_hyphen } + nbsp_or_shy = char_is_other; int decoded = it->c; if (it->dp @@ -5723,9 +5722,13 @@ if (it->c >= 0x80 && ! NILP (Vnobreak_char_display)) { if (it->multibyte_p) - nbsp_or_shy = it->c == 0xA0 ? 1 : it->c == 0xAD ? 2 : 0; + nbsp_or_shy = (it->c == 0xA0 ? char_is_nbsp + : it->c == 0xAD ? char_is_soft_hyphen + : char_is_other); else if (unibyte_display_via_language_environment) - nbsp_or_shy = decoded == 0xA0 ? 1 : decoded == 0xAD ? 2 : 0; + nbsp_or_shy = (decoded == 0xA0 ? char_is_nbsp + : decoded == 0xAD ? char_is_soft_hyphen + : char_is_other); } /* Translate control characters into `\003' or `^C' form. @@ -5808,7 +5811,7 @@ highlighting. */ if (EQ (Vnobreak_char_display, Qt) - && IS_NBSP) + && nbsp_or_shy == char_is_nbsp) { /* Merge the no-break-space face into the current face. */ face_id = merge_faces (it->f, Qnobreak_space, 0, @@ -5858,7 +5861,7 @@ highlighting. */ if (EQ (Vnobreak_char_display, Qt) - && IS_SHY) + && nbsp_or_shy == char_is_soft_hyphen) { it->c = '-'; XSETINT (it->ctl_chars[0], '-'); @@ -5872,7 +5875,7 @@ if (nbsp_or_shy) { XSETINT (it->ctl_chars[0], escape_glyph); - it->c = (IS_NBSP ? ' ' : '-'); + it->c = (nbsp_or_shy == char_is_nbsp ? ' ' : '-'); XSETINT (it->ctl_chars[1], it->c); ctl_len = 2; goto display_control;