aboutsummaryrefslogtreecommitdiffstats
path: root/src/composite.c
diff options
context:
space:
mode:
authorKenichi Handa2012-08-16 21:25:17 +0900
committerKenichi Handa2012-08-16 21:25:17 +0900
commitd75ffb4ed0b2e72a9361a07d16a5c884a9459728 (patch)
tree8ac5a6a8ae033fef7fbc7fb7b09a703ef4b0ed5b /src/composite.c
parent69c41c4070c86baac11a627e9c3d366420aeb7cc (diff)
parent250c8ab9b8f6322959fa3122db83944c30c3894b (diff)
downloademacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.tar.gz
emacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.zip
merge trunk
Diffstat (limited to 'src/composite.c')
-rw-r--r--src/composite.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/composite.c b/src/composite.c
index bfc8093a87f..4e90e9bb914 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -23,6 +23,9 @@ You should have received a copy of the GNU General Public License
23along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 23along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24 24
25#include <config.h> 25#include <config.h>
26
27#define COMPOSITE_INLINE EXTERN_INLINE
28
26#include <setjmp.h> 29#include <setjmp.h>
27#include "lisp.h" 30#include "lisp.h"
28#include "character.h" 31#include "character.h"
@@ -762,7 +765,7 @@ composition_gstring_width (Lisp_Object gstring, ptrdiff_t from, ptrdiff_t to,
762 } 765 }
763 metrics->width = metrics->lbearing = metrics->rbearing = 0; 766 metrics->width = metrics->lbearing = metrics->rbearing = 0;
764 } 767 }
765 for (glyph = &LGSTRING_GLYPH (gstring, from); from < to; from++, glyph++) 768 for (glyph = lgstring_glyph_addr (gstring, from); from < to; from++, glyph++)
766 { 769 {
767 int x; 770 int x;
768 771
@@ -947,20 +950,12 @@ autocmp_chars (Lisp_Object rule, ptrdiff_t charpos, ptrdiff_t bytepos, ptrdiff_t
947 string); 950 string);
948 if (NILP (LGSTRING_ID (lgstring))) 951 if (NILP (LGSTRING_ID (lgstring)))
949 { 952 {
950 Lisp_Object args[6];
951
952 /* Save point as marker before calling out to lisp. */ 953 /* Save point as marker before calling out to lisp. */
953 if (NILP (string)) 954 if (NILP (string))
954 record_unwind_protect (restore_point_unwind, 955 record_unwind_protect (restore_point_unwind,
955 build_marker (current_buffer, pt, pt_byte)); 956 build_marker (current_buffer, pt, pt_byte));
956 957 lgstring = safe_call (6, Vauto_composition_function, AREF (rule, 2),
957 args[0] = Vauto_composition_function; 958 pos, make_number (to), font_object, string);
958 args[1] = AREF (rule, 2);
959 args[2] = pos;
960 args[3] = make_number (to);
961 args[4] = font_object;
962 args[5] = string;
963 lgstring = safe_call (6, args);
964 } 959 }
965 return unbind_to (count, lgstring); 960 return unbind_to (count, lgstring);
966} 961}