From b16923b096b7678bbaa3cc28b216049d12563528 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 22 Mar 2010 19:46:53 +0000 Subject: 27812: display invalid bytes in multibyte characters specially --- Src/Zle/zle.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Src/Zle/zle.h') diff --git a/Src/Zle/zle.h b/Src/Zle/zle.h index 577a4442f..32f3e59f6 100644 --- a/Src/Zle/zle.h +++ b/Src/Zle/zle.h @@ -419,6 +419,20 @@ typedef struct { typedef REFRESH_ELEMENT *REFRESH_STRING; +#if defined(MULTIBYTE_SUPPORT) && defined(__STDC_ISO_10646__) +#define ZSH_INVALID_WCHAR_BASE (0xe000U) +#define ZSH_INVALID_WCHAR_TEST(x) \ + ((unsigned)(x) >= ZSH_INVALID_WCHAR_BASE && \ + (unsigned)(x) <= (ZSH_INVALID_WCHAR_BASE + 255u)) +#define ZSH_INVALID_WCHAR_TO_CHAR(x) \ + ((char)((unsigned)(x) - ZSH_INVALID_WCHAR_BASE)) +#define ZSH_INVALID_WCHAR_TO_INT(x) \ + ((int)((unsigned)(x) - ZSH_INVALID_WCHAR_BASE)) +#define ZSH_CHAR_TO_INVALID_WCHAR(x) \ + ((wchar_t)(STOUC(x) + ZSH_INVALID_WCHAR_BASE)) +#endif + + #ifdef DEBUG #define METACHECK() \ DPUTS(zlemetaline == NULL, "line not metafied") -- cgit 1.4.1