summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/composite.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e19d60dbbb0..6dc57c60af7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-17 Kenichi Handa <handa@m17n.org>
+
+ * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
+ if necessary.
+
2008-09-16 Kenichi Handa <handa@m17n.org>
* coding.c (make_conversion_work_buffer): Avoid calling
diff --git a/src/composite.c b/src/composite.c
index 97524297988..576e0c8a402 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -1496,6 +1496,8 @@ must be ignore. */)
gstring = gstring_lookup_cache (header);
if (! NILP (gstring))
return gstring;
+ if (LGSTRING_GLYPH_LEN (gstring_work) < to - from)
+ gstring_work = Fmake_vector (make_number (to - from + 2), Qnil);
LGSTRING_SET_HEADER (gstring_work, header);
LGSTRING_SET_ID (gstring_work, Qnil);
fill_gstring_body (gstring_work);