Mercurial > hg > xemacs-beta
annotate src/console-x.h @ 5041:efaa6cd845e5
add regexp-debugging
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-15 Ben Wing <ben@xemacs.org>
* regex.c:
* regex.c (DEBUG_FAIL_PRINT1):
* regex.c (PUSH_FAILURE_POINT):
* regex.c (POP_FAILURE_POINT):
* regex.c (regex_compile):
* regex.c (re_match_2_internal):
* regex.h:
* search.c:
* search.c (search_buffer):
* search.c (debug_regexps_changed):
* search.c (vars_of_search):
Add an internal variable debug_regexps and a corresponding Lisp
variable `debug-regexps' that takes a list of areas in which to
display debugging info about regex compilation and matching
(currently three areas exist). Use existing debugging code
already in regex.c and modify it so that it recognizes the
debug_regexps variable and the flags in it.
Rename variable `debug-xemacs-searches' to just `debug-searches',
consistent with other debug vars.
tests/ChangeLog addition:
2010-02-15 Ben Wing <ben@xemacs.org>
* automated/search-tests.el (let):
* automated/search-tests.el (boundp):
debug-xemacs-searches renamed to debug-searches.
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Mon, 15 Feb 2010 21:51:22 -0600 |
| parents | 2ade80e8c640 |
| children | 8b2f75cecb89 |
| rev | line source |
|---|---|
| 428 | 1 /* Define X specific console, device, and frame object for XEmacs. |
| 2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. | |
| 3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. | |
| 1318 | 4 Copyright (C) 1996, 2002, 2003 Ben Wing. |
| 428 | 5 |
| 6 This file is part of XEmacs. | |
| 7 | |
| 8 XEmacs is free software; you can redistribute it and/or modify it | |
| 9 under the terms of the GNU General Public License as published by the | |
| 10 Free Software Foundation; either version 2, or (at your option) any | |
| 11 later version. | |
| 12 | |
| 13 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 16 for more details. | |
| 17 | |
| 18 You should have received a copy of the GNU General Public License | |
| 19 along with XEmacs; see the file COPYING. If not, write to | |
| 20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 21 Boston, MA 02111-1307, USA. */ | |
| 22 | |
| 23 /* Synched up with: Not in FSF. */ | |
| 24 | |
| 25 | |
| 26 /* Authorship: | |
| 27 | |
| 28 Ultimately based on FSF, then later on JWZ work for Lemacs. | |
| 29 Rewritten over time by Ben Wing and Chuck Thompson (original | |
| 30 multi-device work by Chuck Thompson). | |
| 31 */ | |
| 32 | |
| 440 | 33 #ifndef INCLUDED_console_x_h_ |
| 34 #define INCLUDED_console_x_h_ | |
| 428 | 35 |
| 36 #ifdef HAVE_X_WINDOWS | |
| 37 | |
| 38 #include "console.h" | |
| 2484 | 39 /* must come before Xutil.h, which is included indirectly from xintrinsic.h, |
| 40 to avoid breakage in keysym-parsing macros from X11R6, at least X.org as | |
| 41 of 2005-01-17, and probably XFree86 too from reports on c.e.x */ | |
| 42 #include <X11/keysym.h> | |
| 428 | 43 #include "xintrinsic.h" |
| 1346 | 44 #include "../lwlib/lwlib.h" |
| 428 | 45 |
| 46 #include <X11/cursorfont.h> | |
| 47 #include <X11/Xatom.h> | |
| 48 #include <X11/StringDefs.h> | |
| 49 | |
| 50 #ifdef HAVE_XPM | |
| 51 #include <X11/xpm.h> | |
| 52 #endif | |
| 53 | |
|
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
4908
diff
changeset
|
54 #ifdef HAVE_XFT |
| 3094 | 55 /* shut up GCC */ |
| 56 #define face_index face_index_arg | |
| 57 #define glyph_index glyph_index_arg | |
| 58 #include <X11/Xft/Xft.h> | |
| 59 #undef glyph_index | |
| 60 #undef face_index | |
| 61 #endif | |
| 62 | |
| 428 | 63 /* R5 defines the XPointer type, but R4 doesn't. |
| 64 R4 also doesn't define a version number, but R5 does. */ | |
| 65 #if (XlibSpecificationRelease < 5) | |
| 66 # define XPointer char * | |
| 67 #endif | |
| 68 | |
| 1204 | 69 #ifdef __cplusplus |
| 70 #define X_CLASSFIELD c_class | |
| 71 #else | |
| 72 #define X_CLASSFIELD class | |
| 73 #endif | |
| 74 | |
| 428 | 75 /* Variables associated with the X display frame this emacs is using. */ |
| 76 extern XtAppContext Xt_app_con; | |
| 77 | |
| 78 extern Lisp_Object Vx_gc_pointer_shape; | |
| 79 extern Lisp_Object Vx_scrollbar_pointer_shape; | |
| 80 extern Lisp_Object Qx_error; | |
| 81 | |
| 82 /* Number of pixels below each line. */ | |
| 83 extern int x_interline_space; /* #### implement me */ | |
| 84 | |
| 458 | 85 extern Fixnum x_selection_timeout; |
| 428 | 86 |
| 87 struct frame *x_any_window_to_frame (struct device *d, Window); | |
| 88 struct frame *x_any_widget_or_parent_to_frame (struct device *d, | |
| 89 Widget widget); | |
| 90 struct frame *decode_x_frame (Lisp_Object); | |
| 91 struct frame *x_window_to_frame (struct device *d, Window); | |
| 92 struct device *get_device_from_display (Display *dpy); | |
| 93 struct device *decode_x_device (Lisp_Object); | |
| 94 | |
| 95 void x_handle_selection_notify (XSelectionEvent *event); | |
| 96 void x_handle_selection_request (XSelectionRequestEvent *event); | |
| 97 void x_handle_selection_clear (XSelectionClearEvent *event); | |
| 98 void x_handle_property_notify (XPropertyEvent *event); | |
| 99 | |
| 440 | 100 void Xatoms_of_select_x (struct device *d); |
| 428 | 101 void Xatoms_of_objects_x (struct device *d); |
| 102 | |
| 103 void x_wm_set_shell_iconic_p (Widget shell, int iconic_p); | |
| 104 void x_wm_set_cell_size (Widget wmshell, int cw, int ch); | |
| 105 void x_wm_set_variable_size (Widget wmshell, int width, int height); | |
| 106 | |
|
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4528
diff
changeset
|
107 const Ascbyte *x_event_name (int event_type); |
| 1204 | 108 int check_if_pending_expose_event (struct device *d); |
| 428 | 109 int x_error_handler (Display *disp, XErrorEvent *event); |
| 110 void expect_x_error (Display *dpy); | |
| 111 int x_error_occurred_p (Display *dpy); | |
| 112 int signal_if_x_error (Display *dpy, int resumable_p); | |
| 113 int x_IO_error_handler (Display *disp); | |
| 114 | |
| 1346 | 115 widget_value *xmalloc_widget_value (void); |
| 116 | |
| 117 LWLIB_ID new_lwlib_id (void); | |
| 118 | |
| 119 void gcpro_popup_callbacks (LWLIB_ID id); | |
| 120 void ungcpro_popup_callbacks (LWLIB_ID id); | |
| 121 int popup_handled_p (LWLIB_ID id); | |
| 122 void free_popup_widget_value_tree (widget_value *wv); | |
| 123 void popup_selection_callback (Widget widget, LWLIB_ID ignored_id, | |
| 124 XtPointer client_data); | |
| 125 Extbyte *add_accel_and_to_external (Lisp_Object string); | |
| 126 int button_item_to_widget_value (Lisp_Object gui_object_instance, | |
| 127 Lisp_Object gui_item, widget_value *wv, | |
| 128 int allow_text_field_p, int no_keys_p, | |
| 129 int menu_entry_p, int accel_p); | |
| 130 widget_value * gui_items_to_widget_values (Lisp_Object gui_object_instance, | |
| 131 Lisp_Object items, int accel_p); | |
| 132 Extbyte *menu_separator_style_and_to_external (const Ibyte *s); | |
| 133 Lisp_Object widget_value_unwind (Lisp_Object closure); | |
| 134 | |
| 428 | 135 void x_output_string (struct window *w, struct display_line *dl, |
| 867 | 136 Ichar_dynarr *buf, int xpos, int xoffset, |
| 428 | 137 int start_pixpos, int width, face_index findex, |
| 138 int cursor, int cursor_start, int cursor_width, | |
| 139 int cursor_height); | |
| 140 void x_generate_shadow_pixels (struct frame *f, | |
| 141 unsigned long *top_shadow, | |
| 142 unsigned long *bottom_shadow, | |
| 143 unsigned long background, | |
| 144 unsigned long core_background); | |
| 145 | |
| 146 int x_initialize_frame_menubar (struct frame *f); | |
| 147 void x_init_modifier_mapping (struct device *d); | |
|
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
148 void x_has_keysym (KeySym, Lisp_Object, int); |
| 428 | 149 |
| 593 | 150 int x_frame_window_state (struct frame *f); |
| 151 | |
| 428 | 152 #define X_ERROR_OCCURRED(dpy, body) \ |
| 153 (expect_x_error (dpy), body, x_error_occurred_p (dpy)) | |
| 154 | |
| 155 #define HANDLING_X_ERROR(dpy, body) \ | |
| 156 (expect_x_error (dpy), body, signal_if_x_error (dpy, 0)) | |
| 157 | |
| 158 void Initialize_Locale (void); | |
| 159 | |
| 160 #ifdef HAVE_XIM | |
| 161 | |
| 162 /* X Input Method `methods' */ | |
| 163 void XIM_init_device (struct device *d); | |
| 164 void XIM_init_frame (struct frame *f); | |
| 165 void XIM_SetSpotLocation (struct frame *f, int x, int y); | |
| 166 void XIM_SetGeometry (struct frame *f); | |
| 167 void XIM_focus_event (struct frame *f, int in_p); | |
| 168 | |
| 169 #ifdef XIM_XLIB | |
| 170 /* XtTypeConverter */ | |
| 171 Boolean EmacsXtCvtStringToXIMStyles ( | |
| 172 Display *dpy, | |
| 173 XrmValuePtr args, | |
| 174 Cardinal *num_args, | |
| 175 XrmValuePtr from, | |
| 176 XrmValuePtr to_in_out, | |
| 177 XtPointer *converter_data); | |
| 178 | |
| 179 /* XtDestructor */ | |
| 180 void EmacsFreeXIMStyles ( | |
| 181 XtAppContext app, | |
| 182 XrmValuePtr to, | |
| 183 XtPointer converter_data, | |
| 184 XrmValuePtr args, | |
| 185 Cardinal *num_args); | |
| 186 | |
| 187 #ifdef DEBUG_XEMACS | |
| 188 void describe_Window (Window win); | |
| 189 void describe_XFontSet (XFontSet font_set); | |
| 190 void describe_XIM (XIM im); | |
| 191 void describe_XIMStyle (XIMStyle style); | |
| 192 void describe_XIMStyles (XIMStyles *styles); | |
| 193 void describe_XIC (XIC ic); | |
| 194 void describe_event_mask (unsigned long mask); | |
|
4528
726060ee587c
First draft of g++ 4.3 warning removal patch. Builds. *Needs ChangeLogs.*
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4522
diff
changeset
|
195 void describe_XRectangle (const char *name, XRectangle *rect); |
| 428 | 196 void describe_Status (Status status); |
| 197 #endif /* DEBUG_XEMACS */ | |
| 198 #endif /* XIM_XLIB */ | |
| 199 #endif /* HAVE_XIM */ | |
| 200 | |
| 771 | 201 extern Lisp_Object Qxintl; |
| 202 | |
| 428 | 203 extern int in_resource_setting; |
| 204 extern int in_specifier_change_function; | |
| 205 | |
| 206 extern Lisp_Object Vx_initial_argv_list; /* #### ugh! */ | |
| 207 | |
| 208 #endif /* HAVE_X_WINDOWS */ | |
| 440 | 209 |
| 210 #endif /* INCLUDED_console_x_h_ */ |
