Mercurial > hg > xemacs-beta
annotate src/console-gtk.h @ 5366:f00192e1cd49
Examining the result of #'length: `eql', not `=', it's better style & cheaper
2011-03-08 Aidan Kehoe <kehoea@parhasard.net>
* buff-menu.el (list-buffers-noselect):
* byte-optimize.el (byte-optimize-identity):
* byte-optimize.el (byte-optimize-if):
* byte-optimize.el (byte-optimize-nth):
* byte-optimize.el (byte-optimize-nthcdr):
* bytecomp.el (byte-compile-warn-wrong-args):
* bytecomp.el (byte-compile-two-args-19->20):
* bytecomp.el (byte-compile-list):
* bytecomp.el (byte-compile-beginning-of-line):
* bytecomp.el (byte-compile-set):
* bytecomp.el (byte-compile-set-default):
* bytecomp.el (byte-compile-values):
* bytecomp.el (byte-compile-values-list):
* bytecomp.el (byte-compile-integerp):
* bytecomp.el (byte-compile-multiple-value-list-internal):
* bytecomp.el (byte-compile-throw):
* cl-macs.el (cl-do-arglist):
* cl-macs.el (cl-parse-loop-clause):
* cl-macs.el (multiple-value-bind):
* cl-macs.el (multiple-value-setq):
* cl-macs.el (get-setf-method):
* cmdloop.el (command-error):
* cmdloop.el (y-or-n-p-minibuf):
* cmdloop.el (yes-or-no-p-minibuf):
* coding.el (unencodable-char-position):
* cus-edit.el (custom-face-prompt):
* cus-edit.el (custom-buffer-create-internal):
* cus-edit.el (widget-face-action):
* cus-edit.el (custom-group-value-create):
* descr-text.el (describe-char-unicode-data):
* dialog-gtk.el (popup-builtin-question-dialog):
* dragdrop.el (experimental-dragdrop-drop-log-function):
* dragdrop.el (experimental-dragdrop-drop-mime-default):
* easymenu.el (easy-menu-add):
* easymenu.el (easy-menu-remove):
* faces.el (read-face-name):
* faces.el (set-face-stipple):
* files.el (file-name-non-special):
* font.el (font-combine-fonts):
* font.el (font-set-face-font):
* font.el (font-parse-rgb-components):
* font.el (font-rgb-color-p):
* font.el (font-color-rgb-components):
* gnuserv.el (gnuserv-edit-files):
* help.el (key-or-menu-binding):
* help.el (function-documentation-1):
* help.el (function-documentation):
* info.el (info):
* isearch-mode.el (isearch-exit):
* isearch-mode.el (isearch-edit-string):
* isearch-mode.el (isearch-*-char):
* isearch-mode.el (isearch-complete1):
* ldap.el (ldap-encode-country-string):
* ldap.el (ldap-decode-string):
* minibuf.el (read-file-name-internal-1):
* minibuf.el (read-non-nil-coding-system):
* minibuf.el (get-user-response):
* mouse.el (drag-window-divider):
* mule/ccl.el:
* mule/ccl.el (ccl-compile-if):
* mule/ccl.el (ccl-compile-break):
* mule/ccl.el (ccl-compile-repeat):
* mule/ccl.el (ccl-compile-write-repeat):
* mule/ccl.el (ccl-compile-call):
* mule/ccl.el (ccl-compile-end):
* mule/ccl.el (ccl-compile-read-multibyte-character):
* mule/ccl.el (ccl-compile-write-multibyte-character):
* mule/ccl.el (ccl-compile-translate-character):
* mule/ccl.el (ccl-compile-mule-to-unicode):
* mule/ccl.el (ccl-compile-unicode-to-mule):
* mule/ccl.el (ccl-compile-lookup-integer):
* mule/ccl.el (ccl-compile-lookup-character):
* mule/ccl.el (ccl-compile-map-multiple):
* mule/ccl.el (ccl-compile-map-single):
* mule/devan-util.el (devanagari-compose-to-one-glyph):
* mule/devan-util.el (devanagari-composition-component):
* mule/mule-cmds.el (finish-set-language-environment):
* mule/viet-util.el:
* mule/viet-util.el (viet-encode-viscii-char):
* multicast.el (open-multicast-group):
* newcomment.el (comment-quote-nested):
* newcomment.el (comment-region):
* newcomment.el (comment-dwim):
* regexp-opt.el (regexp-opt-group):
* replace.el (map-query-replace-regexp):
* specifier.el (derive-device-type-from-tag-set):
* subr.el (skip-chars-quote):
* test-harness.el (test-harness-from-buffer):
* test-harness.el (batch-test-emacs):
* wid-edit.el (widget-choice-action):
* wid-edit.el (widget-symbol-prompt-internal):
* wid-edit.el (widget-color-action):
* window-xemacs.el (push-window-configuration):
* window-xemacs.el (pop-window-configuration):
* window.el (quit-window):
* x-compose.el (electric-diacritic):
It's better style, and cheaper (often one assembler instruction
vs. a C funcall in the byte code), to use `eql' instead of `='
when it's clear what numerical type a given result will be. Change
much of our code to do this, with the help of a byte-compiler
change (not comitted) that looked for calls to #'length (which
always returns an integer) in its args.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Tue, 08 Mar 2011 23:41:52 +0000 |
parents | 8af6a32b170d |
children | 308d34e9f07d |
rev | line source |
---|---|
462 | 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) 2002, 2003 Ben Wing. |
462 | 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 | |
33 #ifndef _XEMACS_CONSOLE_GTK_H_ | |
34 #define _XEMACS_CONSOLE_GTK_H_ | |
35 | |
36 #ifdef HAVE_GTK | |
37 | |
38 #include "console.h" | |
4908
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
39 #include "sysgtk.h" |
462 | 40 |
41 /* Variables associated with the X display frame this emacs is using. */ | |
42 | |
43 extern Lisp_Object Vx_gc_pointer_shape; | |
44 extern Lisp_Object Vx_scrollbar_pointer_shape; | |
45 | |
46 /* Number of pixels below each line. */ | |
47 extern int gtk_interline_space; | |
48 | |
49 extern int gtk_selection_timeout; | |
50 | |
2168 | 51 struct frame *gtk_widget_to_frame (GtkWidget *); |
462 | 52 struct frame *gtk_any_window_to_frame (struct device *d, GdkWindow *); |
53 struct frame *gtk_window_to_frame (struct device *d, GdkWindow *); | |
54 struct frame *gtk_any_widget_or_parent_to_frame (struct device *d, GtkWidget *widget); | |
55 struct frame *decode_gtk_frame (Lisp_Object); | |
56 struct device *gtk_any_window_to_device (GdkWindow *); | |
57 struct device *decode_gtk_device (Lisp_Object); | |
58 void gtk_handle_property_notify (GdkEventProperty *event); | |
59 | |
60 void signal_special_gtk_user_event (Lisp_Object channel, Lisp_Object function, | |
61 Lisp_Object object); | |
62 void gtk_output_string (struct window *w, struct display_line *dl, | |
867 | 63 Ichar_dynarr *buf, int xpos, int xoffset, |
462 | 64 int start_pixpos, int width, face_index findex, |
65 int cursor, int cursor_start, int cursor_width, | |
66 int cursor_height); | |
5074
8af6a32b170d
Modify XLIKE_get_gc's prototype
Didier Verna <didier@lrde.epita.fr>
parents:
4908
diff
changeset
|
67 GdkGC *gtk_get_gc (struct frame *f, |
8af6a32b170d
Modify XLIKE_get_gc's prototype
Didier Verna <didier@lrde.epita.fr>
parents:
4908
diff
changeset
|
68 Lisp_Object font, Lisp_Object fg, Lisp_Object bg, |
714 | 69 Lisp_Object bg_pmap, Lisp_Object lwidth); |
462 | 70 |
71 int gtk_initialize_frame_menubar (struct frame *f); | |
72 void gtk_init_modifier_mapping (struct device *d); | |
73 | |
74 void Initialize_Locale (void); | |
75 | |
76 extern Lisp_Object Vgtk_initial_argv_list; /* #### ugh! */ | |
77 | |
78 const char *gtk_event_name (GdkEventType event_type); | |
778 | 79 |
80 void reinit_console_type_create_gtk (void); | |
81 | |
82 void emacs_gtk_selection_handle (GtkWidget *, | |
83 GtkSelectionData *selection_data, | |
84 guint info, | |
85 guint time_stamp, | |
86 gpointer data); | |
87 void emacs_gtk_selection_clear_event_handle (GtkWidget *widget, | |
88 GdkEventSelection *event, | |
89 gpointer data); | |
90 void emacs_gtk_selection_received (GtkWidget *widget, | |
91 GtkSelectionData *selection_data, | |
92 gpointer user_data); | |
93 | |
1346 | 94 typedef unsigned int GUI_ID; |
95 extern GUI_ID new_gui_id (void); | |
96 | |
97 extern void gcpro_popup_callbacks (GUI_ID id, Lisp_Object data); | |
98 extern void ungcpro_popup_callbacks (GUI_ID id); | |
99 extern Lisp_Object get_gcpro_popup_callbacks (GUI_ID id); | |
100 | |
4908
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
101 int gtk_event_to_emacs_event (struct frame *frame, |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
102 GdkEvent *gdk_event, |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
103 struct Lisp_Event *emacs_event); |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
104 |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
105 gint emacs_gtk_key_event_handler(GtkWidget *widget, GdkEventKey *event); |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
106 gint emacs_gtk_button_event_handler(GtkWidget *widget, GdkEventButton *event); |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
107 gint emacs_gtk_motion_event_handler (GtkWidget *widget, GdkEventMotion *event); |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
108 |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
109 gboolean emacs_shell_event_handler (GtkWidget *wid /* unused */, |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
110 GdkEvent *event, |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
111 gpointer closure); |
b3ce27ca7647
various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents:
2168
diff
changeset
|
112 |
462 | 113 #endif /* HAVE_GTK */ |
114 #endif /* _XEMACS_DEVICE_X_H_ */ |