summaryrefslogtreecommitdiff
path: root/app-editors/emacs/files/emacs-23.3-wide-chars-fix.patch
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2011-06-08 18:47:20 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2011-06-08 18:47:20 +0200
commit69e7ed4b07754ae656094afa26d4c4ab66c85ab8 (patch)
tree5b6956ef9a894fb0d4024d8b0395fa4673d43ff1 /app-editors/emacs/files/emacs-23.3-wide-chars-fix.patch
parent66d074c539a73a79723d7a3507f5a4ae800a45b5 (diff)
downloadoverlay-69e7ed4b07754ae656094afa26d4c4ab66c85ab8.tar.gz
overlay-69e7ed4b07754ae656094afa26d4c4ab66c85ab8.tar.bz2
overlay-69e7ed4b07754ae656094afa26d4c4ab66c85ab8.zip
fixed emacs
Diffstat (limited to '')
-rw-r--r--app-editors/emacs/files/emacs-23.3-wide-chars-fix.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/app-editors/emacs/files/emacs-23.3-wide-chars-fix.patch b/app-editors/emacs/files/emacs-23.3-wide-chars-fix.patch
new file mode 100644
index 0000000..0a4825e
--- /dev/null
+++ b/app-editors/emacs/files/emacs-23.3-wide-chars-fix.patch
@@ -0,0 +1,28 @@
+diff --git a/src/xdisp.c b/src/xdisp.c
+index 1f4c829..0f21c82 100644
+--- a/src/xdisp.c
++++ b/src/xdisp.c
+@@ -5922,9 +5922,21 @@ get_next_display_element (it)
+ int pos = (it->s ? -1
+ : STRINGP (it->string) ? IT_STRING_CHARPOS (*it)
+ : IT_CHARPOS (*it));
++ int c;
++
++ if (it->what == IT_CHARACTER)
++ c = it->char_to_display;
++ else
++ {
++ struct composition *cmp = composition_table[it->cmp_it.id];
++ int i;
+
+- it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, pos,
+- it->string);
++ c = ' ';
++ for (i = 0; i < cmp->glyph_len; i++)
++ if ((c = COMPOSITION_GLYPH (cmp, i)) != '\t')
++ break;
++ }
++ it->face_id = FACE_FOR_CHAR (it->f, face, c, pos, it->string);
+ }
+ }
+ #endif