aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/common.cpp7
-rw-r--r--src/screen.cpp1
2 files changed, 3 insertions, 5 deletions
diff --git a/src/common.cpp b/src/common.cpp
index ea1cc4e3..78d0e238 100644
--- a/src/common.cpp
+++ b/src/common.cpp
@@ -525,13 +525,10 @@ wcstring wsetlocale(int category, const wchar_t *locale)
/*
Use ellipsis if on known unicode system, otherwise use $
*/
- char *ctype = setlocale(LC_CTYPE, NULL);
- bool unicode = (strstr(ctype, ".UTF") || strstr(ctype, ".utf"));
-
- ellipsis_char = unicode ? L'\x2026' : L'$';
+ ellipsis_char = (wcwidth(L'\x2026') > 0) ? L'\x2026' : L'$';
// U+23CE is the "return" character
- omitted_newline_char = unicode ? L'\x23CE' : L'~';
+ omitted_newline_char = (wcwidth(L'\x23CE') > 0) ? L'\x23CE' : L'~';
if (!res)
return wcstring();
diff --git a/src/screen.cpp b/src/screen.cpp
index 1971bb57..e248079a 100644
--- a/src/screen.cpp
+++ b/src/screen.cpp
@@ -1424,6 +1424,7 @@ void s_reset(screen_t *s, screen_reset_mode_t mode)
wcstring abandon_line_string;
abandon_line_string.reserve(screen_width + 32); //should be enough
+ /* Don't need to check for wcwidth errors; this is done when setting up omitted_newline_char in common.cpp */
int non_space_width = wcwidth(omitted_newline_char);
if (screen_width >= non_space_width)
{