diff options
| author | Kenichi Handa | 2012-08-16 21:25:17 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-08-16 21:25:17 +0900 |
| commit | d75ffb4ed0b2e72a9361a07d16a5c884a9459728 (patch) | |
| tree | 8ac5a6a8ae033fef7fbc7fb7b09a703ef4b0ed5b /src/composite.c | |
| parent | 69c41c4070c86baac11a627e9c3d366420aeb7cc (diff) | |
| parent | 250c8ab9b8f6322959fa3122db83944c30c3894b (diff) | |
| download | emacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.tar.gz emacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.zip | |
merge trunk
Diffstat (limited to 'src/composite.c')
| -rw-r--r-- | src/composite.c | 17 |
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 | |||
| 23 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 23 | along 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 | } |