emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/composite.c,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/composite.c,v
Date: Wed, 17 Sep 2008 21:25:33 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/09/17 21:25:32

Index: composite.c
===================================================================
RCS file: /sources/emacs/emacs/src/composite.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- composite.c 17 Sep 2008 19:16:11 -0000      1.64
+++ composite.c 17 Sep 2008 21:25:29 -0000      1.65
@@ -1489,6 +1489,7 @@
      Lisp_Object font_object, from, to, string;
 {
   Lisp_Object gstring, header;
+  EMACS_INT frompos, topos;
 
   if (! NILP (font_object))
     CHECK_FONT_OBJECT (font_object);
@@ -1496,8 +1497,13 @@
   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);
+
+  /* Maybe we should check this at the function's entry.  --Stef  */
+  CHECK_NATNUM (from); frompos = XINT (from);
+  CHECK_NATNUM (to);   topos = XINT (to);
+
+  if (LGSTRING_GLYPH_LEN (gstring_work) < topos - frompos)
+    gstring_work = Fmake_vector (make_number (topos - frompos + 2), Qnil);
   LGSTRING_SET_HEADER (gstring_work, header);
   LGSTRING_SET_ID (gstring_work, Qnil);
   fill_gstring_body (gstring_work);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]