Allow word wrap together with whitespace-mode (bug #11341)
src/xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded display element, check also the underlying string or buffer character.
This commit is contained in:
parent
1c6900d923
commit
4c3fa1d9ad
2 changed files with 18 additions and 4 deletions
|
@ -1,5 +1,9 @@
|
|||
2012-04-26 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded
|
||||
display element, check also the underlying string or buffer
|
||||
character. (Bug#11341)
|
||||
|
||||
* w32menu.c: Include w32heap.h.
|
||||
(add_menu_item): If the call to AppendMenuW (via
|
||||
unicode_append_menu) fails, disable Unicode menus only if we are
|
||||
|
|
18
src/xdisp.c
18
src/xdisp.c
|
@ -383,11 +383,21 @@ static Lisp_Object Qline_height;
|
|||
#define IT_OVERFLOW_NEWLINE_INTO_FRINGE(it) 0
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
|
||||
/* Test if the display element loaded in IT is a space or tab
|
||||
character. This is used to determine word wrapping. */
|
||||
/* Test if the display element loaded in IT, or the underlying buffer
|
||||
or string character, is a space or a TAB character. This is used
|
||||
to determine where word wrapping can occur. */
|
||||
|
||||
#define IT_DISPLAYING_WHITESPACE(it) \
|
||||
(it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t'))
|
||||
#define IT_DISPLAYING_WHITESPACE(it) \
|
||||
((it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t')) \
|
||||
|| ((STRINGP (it->string) \
|
||||
&& (SREF (it->string, IT_STRING_BYTEPOS (*it)) == ' ' \
|
||||
|| SREF (it->string, IT_STRING_BYTEPOS (*it)) == '\t')) \
|
||||
|| (it->s \
|
||||
&& (it->s[IT_BYTEPOS (*it)] == ' ' \
|
||||
|| it->s[IT_BYTEPOS (*it)] == '\t')) \
|
||||
|| (IT_BYTEPOS (*it) < ZV_BYTE \
|
||||
&& (*BYTE_POS_ADDR (IT_BYTEPOS (*it)) == ' ' \
|
||||
|| *BYTE_POS_ADDR (IT_BYTEPOS (*it)) == '\t')))) \
|
||||
|
||||
/* Name of the face used to highlight trailing whitespace. */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue