From 9694740bccafd954b5434c0ee17c97ffc7f4ec8d Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 28 Sep 2009 02:01:52 +0000 Subject: [PATCH] (get_next_display_element): Use an enum in last change. --- src/ChangeLog | 10 +++++++--- src/xdisp.c | 19 +++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 0daec9cff18..8aa3e7b691b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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 --git a/src/xdisp.c b/src/xdisp.c index 0f72a2bd7b6..226a43d7dc5 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5684,9 +5684,8 @@ get_next_display_element (it) { 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 @@ get_next_display_element (it) 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 @@ get_next_display_element (it) 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 @@ get_next_display_element (it) 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 @@ get_next_display_element (it) 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; -- 2.39.2