}
else if (SUBRP (obj))
{
- strout ("#<subr ", -1, -1, printcharfun);
- strout (XSUBR (obj)->symbol_name, -1, -1, printcharfun);
- PRINTCHAR ('>');
+ print_c_string ("#<subr ", printcharfun);
+ print_c_string (XSUBR (obj)->symbol_name, printcharfun);
+ printchar ('>', printcharfun);
}
+#ifdef HAVE_XWIDGETS
+ else if (XWIDGETP (obj))
+ {
+ strout ("#<xwidget ", -1, -1, printcharfun);
+ PRINTCHAR ('>');
+ }
+ else if (XWIDGET_VIEW_P (obj))
+ {
+ strout ("#<xwidget-view ", -1, -1, printcharfun);
+ PRINTCHAR ('>');
+ }
+#endif
else if (WINDOWP (obj))
{
- int len;
- strout ("#<window ", -1, -1, printcharfun);
- len = sprintf (buf, "%d", XWINDOW (obj)->sequence_number);
+ int len = sprintf (buf, "#<window %"pI"d",
+ XWINDOW (obj)->sequence_number);
strout (buf, len, len, printcharfun);
if (BUFFERP (XWINDOW (obj)->contents))
{
#ifdef MSDOS
#include "msdos.h"
#endif
+#ifdef HAVE_XWIDGETS
+# include "xwidget.h"
+#endif
- static int displayed_window_lines (struct window *);
- static int count_windows (struct window *);
- static int get_leaf_windows (struct window *, struct window **, int);
- static void window_scroll (Lisp_Object, EMACS_INT, bool, int);
- static void window_scroll_pixel_based (Lisp_Object, int, bool, int);
- static void window_scroll_line_based (Lisp_Object, int, bool, int);
- static int add_window_to_list (struct window *, void *);
- static Lisp_Object next_window (Lisp_Object, Lisp_Object,
- Lisp_Object, int);
- static void decode_next_window_args (Lisp_Object *, Lisp_Object *,
- Lisp_Object *);
+ static ptrdiff_t count_windows (struct window *);
+ static ptrdiff_t get_leaf_windows (struct window *, struct window **,
+ ptrdiff_t);
+ static void window_scroll_pixel_based (Lisp_Object, int, bool, bool);
+ static void window_scroll_line_based (Lisp_Object, int, bool, bool);
static void foreach_window (struct frame *,
- int (* fn) (struct window *, void *),
+ bool (* fn) (struct window *, void *),
void *);
- static int foreach_window_1 (struct window *,
- int (* fn) (struct window *, void *),
- void *);
- static Lisp_Object window_list_1 (Lisp_Object, Lisp_Object, Lisp_Object);
- static int window_resize_check (struct window *, bool);
+ static bool foreach_window_1 (struct window *,
+ bool (* fn) (struct window *, void *),
+ void *);
+ static bool window_resize_check (struct window *, bool);
static void window_resize_apply (struct window *, bool);
- static void window_resize_apply_total (struct window *, bool);
- static Lisp_Object select_window (Lisp_Object, Lisp_Object, int);
static void select_window_1 (Lisp_Object, bool);
static struct window *set_window_fringes (struct window *, Lisp_Object,