From 08ab3a852d01cd7a1530657d099cd5066d747dd5 Mon Sep 17 00:00:00 2001 From: Joakim Verona Date: Sun, 8 Jul 2012 17:42:57 +0200 Subject: [PATCH] fixes so xwidgets doesnt pollute a non xwidget build --- lisp/xwidget.el | 3 ++- src/xdisp.c | 24 +++++++++++++++++++----- src/xwidget.c | 2 ++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/lisp/xwidget.el b/lisp/xwidget.el index d90dca3f755..38b404586e6 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -5,7 +5,8 @@ ;;; Commentary: ;; -(require 'xwidget-internal) +;;TODO this breaks compilation when we dont have xwidgets +;;(require 'xwidget-internal) ;;TODO model after make-text-button instead! ;;; Code: diff --git a/src/xdisp.c b/src/xdisp.c index 87e079f8ab1..c06d822de2f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -23264,7 +23264,7 @@ compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p) to allocate glyph strings (because draw_glyphs can be called asynchronously). */ -#define BUILD_GLYPH_STRINGS(START, END, HEAD, TAIL, HL, X, LAST_X) \ +#define BUILD_GLYPH_STRINGS_1(START, END, HEAD, TAIL, HL, X, LAST_X) \ do \ { \ HEAD = TAIL = NULL; \ @@ -23295,13 +23295,15 @@ compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p) case IMAGE_GLYPH: \ BUILD_IMAGE_GLYPH_STRING (START, END, HEAD, TAIL, \ HL, X, LAST_X); \ - break; \ + break; + +#define BUILD_GLYPH_STRINGS_XW(START, END, HEAD, TAIL, HL, X, LAST_X) \ case XWIDGET_GLYPH: \ BUILD_XWIDGET_GLYPH_STRING (START, END, HEAD, TAIL, \ HL, X, LAST_X); \ - break; \ - \ - \ + break; + +#define BUILD_GLYPH_STRINGS_2(START, END, HEAD, TAIL, HL, X, LAST_X) \ case GLYPHLESS_GLYPH: \ BUILD_GLYPHLESS_GLYPH_STRING (START, END, HEAD, TAIL, \ HL, X, LAST_X); \ @@ -23320,6 +23322,18 @@ compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p) } while (0) +#ifdef HAVE_XWIDGETS +#define BUILD_GLYPH_STRINGS(START, END, HEAD, TAIL, HL, X, LAST_X) \ +BUILD_GLYPH_STRINGS_1(START, END, HEAD, TAIL, HL, X, LAST_X) \ +BUILD_GLYPH_STRINGS_XW(START, END, HEAD, TAIL, HL, X, LAST_X) \ +BUILD_GLYPH_STRINGS_2(START, END, HEAD, TAIL, HL, X, LAST_X) +#else +#define BUILD_GLYPH_STRINGS(START, END, HEAD, TAIL, HL, X, LAST_X) \ +BUILD_GLYPH_STRINGS_1(START, END, HEAD, TAIL, HL, X, LAST_X) \ +BUILD_GLYPH_STRINGS_2(START, END, HEAD, TAIL, HL, X, LAST_X) +#endif + + /* Draw glyphs between START and END in AREA of ROW on window W, starting at x-position X. X is relative to AREA in W. HL is a face-override with the following meaning: diff --git a/src/xwidget.c b/src/xwidget.c index b43cc14a791..6718f4a14c7 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -1,3 +1,4 @@ +#ifdef HAVE_XWIDGETS #include #include @@ -1451,3 +1452,4 @@ xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix) } } } +#endif -- 2.39.5