Mercurial > hg > xemacs-beta
annotate lisp/gtk-init.el @ 5169:6c6d78781d59
cleanup of code related to xfree(), better KKCC backtrace capabilities, document XD_INLINE_LISP_OBJECT_BLOCK_PTR, fix some memory leaks, other code cleanup
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-03-24 Ben Wing <ben@xemacs.org>
* array.h:
* array.h (XD_LISP_DYNARR_DESC):
* dumper.c (pdump_register_sub):
* dumper.c (pdump_store_new_pointer_offsets):
* dumper.c (pdump_reloc_one_mc):
* elhash.c:
* gc.c (lispdesc_one_description_line_size):
* gc.c (kkcc_marking):
* lrecord.h:
* lrecord.h (IF_NEW_GC):
* lrecord.h (enum memory_description_type):
* lrecord.h (enum data_description_entry_flags):
* lrecord.h (struct opaque_convert_functions):
Rename XD_LISP_OBJECT_BLOCK_PTR to XD_INLINE_LISP_OBJECT_BLOCK_PTR
and document it in lrecord.h.
* data.c:
* data.c (finish_marking_weak_lists):
* data.c (continue_marking_ephemerons):
* data.c (finish_marking_ephemerons):
* elhash.c (MARK_OBJ):
* gc.c:
* gc.c (lispdesc_indirect_count_1):
* gc.c (struct):
* gc.c (kkcc_bt_push):
* gc.c (kkcc_gc_stack_push):
* gc.c (kkcc_gc_stack_push_lisp_object):
* gc.c (kkcc_gc_stack_repush_dirty_object):
* gc.c (KKCC_DO_CHECK_FREE):
* gc.c (mark_object_maybe_checking_free):
* gc.c (mark_struct_contents):
* gc.c (mark_lisp_object_block_contents):
* gc.c (register_for_finalization):
* gc.c (mark_object):
* gc.h:
* lisp.h:
* profile.c:
* profile.c (mark_profiling_info_maphash):
Clean up KKCC code related to DEBUG_XEMACS. Rename
kkcc_backtrace() to kkcc_backtrace_1() and add two params: a
`size' arg to control how many stack elements to print and a
`detailed' arg to control whether Lisp objects are printed using
`debug_print()'. Create front-ends to kkcc_backtrace_1() --
kkcc_detailed_backtrace(), kkcc_short_backtrace(),
kkcc_detailed_backtrace_full(), kkcc_short_backtrace_full(), as
well as shortened versions kbt(), kbts(), kbtf(), kbtsf() -- to
call it with various parameter values. Add an `is_lisp' field to
the stack and backtrace structures and use it to keep track of
whether an object pushed onto the stack is a Lisp object or a
non-Lisp structure; in kkcc_backtrace_1(), don't try to print a
non-Lisp structure as a Lisp object.
* elhash.c:
* extents.c:
* file-coding.c:
* lrecord.h:
* lrecord.h (IF_NEW_GC):
* marker.c:
* marker.c (Fmarker_buffer):
* mule-coding.c:
* number.c:
* rangetab.c:
* specifier.c:
New macros IF_OLD_GC(), IF_NEW_GC() to simplify declaration of
Lisp objects when a finalizer may exist in one but not the other.
Use them appropriately.
* extents.c (finalize_extent_info):
Don't zero out data->soe and data->extents before trying to free,
else we get memory leaks.
* lrecord.h (enum lrecord_type):
Make the first lrecord type have value 1 not 0 so that 0 remains
without implementation and attempts to interpret zeroed memory
as a Lisp object will be more obvious.
* array.c (Dynarr_free):
* device-msw.c (msprinter_delete_device):
* device-tty.c (free_tty_device_struct):
* device-tty.c (tty_delete_device):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-x.c:
* emacs.c (free_argc_argv):
* emodules.c (attempt_module_delete):
* file-coding.c (chain_finalize_coding_stream_1):
* file-coding.c (chain_finalize_coding_stream):
* glyphs-eimage.c:
* glyphs-eimage.c (jpeg_instantiate_unwind):
* glyphs-eimage.c (gif_instantiate_unwind):
* glyphs-eimage.c (png_instantiate_unwind):
* glyphs-eimage.c (tiff_instantiate_unwind):
* imgproc.c:
* imgproc.c (build_EImage_quantable):
* insdel.c (uninit_buffer_text):
* mule-coding.c (iso2022_finalize_detection_state):
* objects-tty.c (tty_finalize_color_instance):
* objects-tty.c (tty_finalize_font_instance):
* objects-tty.c (tty_font_list):
* process.c:
* process.c (finalize_process):
* redisplay.c (add_propagation_runes):
* scrollbar-gtk.c:
* scrollbar-gtk.c (gtk_free_scrollbar_instance):
* scrollbar-gtk.c (gtk_release_scrollbar_instance):
* scrollbar-msw.c:
* scrollbar-msw.c (mswindows_free_scrollbar_instance):
* scrollbar-msw.c (unshow_that_mofo):
* scrollbar-x.c (x_free_scrollbar_instance):
* scrollbar-x.c (x_release_scrollbar_instance):
* select-x.c:
* select-x.c (x_handle_selection_request):
* syntax.c:
* syntax.c (uninit_buffer_syntax_cache):
* text.h (eifree):
If possible, whenever we call xfree() on a field in a structure,
set the field to 0 afterwards. A lot of code is written so that
it checks the value being freed to see if it is non-zero before
freeing it -- doing this and setting the value to 0 afterwards
ensures (a) we won't try to free twice if the cleanup code is
called twice; (b) if the object itself stays around, KKCC won't
crash when attempting to mark the freed field.
* rangetab.c:
Add a finalization method when not NEW_GC to avoid memory leaks.
(#### We still get memory leaks when NEW_GC; need to convert gap
array to Lisp object).
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 24 Mar 2010 01:22:51 -0500 |
parents | e34711681f30 |
children | 308d34e9f07d |
rev | line source |
---|---|
462 | 1 ;;; gtk-init.el --- initialization code for mswindows |
2 ;; Copyright (C) 1990, 1993, 1994 Free Software Foundation, Inc. | |
3 ;; Copyright (C) 1995 Board of Trustees, University of Illinois. | |
4 ;; Copyright (C) 1995, 1996 Ben Wing. | |
5 | |
6 ;; Author: various | |
7 ;; Rewritten for Gtk by: William Perry | |
8 | |
9 ;; This file is part of XEmacs. | |
10 | |
11 ;; XEmacs is free software; you can redistribute it and/or modify it | |
12 ;; under the terms of the GNU General Public License as published by | |
13 ;; the Free Software Foundation; either version 2, or (at your option) | |
14 ;; any later version. | |
15 | |
16 ;; XEmacs is distributed in the hope that it will be useful, but | |
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
19 ;; General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
22 ;; along with XEmacs; see the file COPYING. If not, write to the | |
23 ;; Free Software Foundation, 59 Temple Place - Suite 330, | |
24 ;; Boston, MA 02111-1307, USA. | |
25 | |
502 | 26 (globally-declare-boundp |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
27 '(gtk-initial-argv-list gtk-initial-geometry)) |
506 | 28 |
29 (globally-declare-fboundp | |
30 '(gtk-keysym-on-keyboard-p)) | |
502 | 31 |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
32 (defvar gtk-early-lisp-options-file "~/.xemacs/gtk-options.el" |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
33 "Path where GTK-specific early options should be stored. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
34 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
35 This allows the user to set initial geometry without using GNOME and session |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
36 management, and, since it is read before GTK is initialized, it avoids |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
37 window flicker on resizing. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
38 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
39 It is normally not useful to change without recompiling XEmacs.") |
462 | 40 |
41 (defvar gtk-command-switch-alist | |
42 '( | |
43 ;; GNOME Options | |
44 ("--disable-sound" . nil) | |
45 ("--enable-sound" . nil) | |
46 ("--espeaker" . t) | |
47 | |
48 ;; GTK Options | |
49 ("--gdk-debug" . t) | |
50 ("--gdk-no-debug" . t) | |
51 ("--display" . t) | |
52 ("--sync" . nil) | |
53 ("--no-xshm" . nil) | |
54 ("--name" . t) | |
55 ("--class" . t) | |
56 ("--gxid_host" . t) | |
57 ("--gxid_port" . t) | |
58 ("--xim-preedit" . t) | |
59 ("--xim-status" . t) | |
60 ("--gtk-debug" . t) | |
61 ("--gtk-no-debug" . t) | |
62 ("--gtk-module" . t) | |
63 | |
64 ;; Glib options | |
65 ("--g-fatal-warnings" . nil) | |
66 | |
67 ;; Session management options | |
68 ("--sm-client-id" . t) | |
69 ("--sm-config-prefix" . t) | |
70 ("--sm-disable" . t) | |
71 ) | |
72 | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
73 "An assoc list of command line args that should be in gtk-initial-argv-list. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
74 This is necessary because GTK and GNOME consider it a fatal error if they |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
75 receive unknown command line arguments (perfectly reasonable). But this |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
76 means that if the user specifies a file name on the command line they will |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
77 be unable to start. So we filter the command line and allow only items in |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
78 this list in. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
79 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
80 The CDR of the assoc list is whether it accepts an argument. For the |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
81 moment, all options are in GNU long form.") |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
82 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
83 (defvar make-device-early-gtk-entry-point-called-p nil |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
84 "Whether `make-device-early-gtk-entry-point' has been called, at least once. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
85 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
86 Much of the GTK-specific Lisp init code should only be called the first time |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
87 a GTK device is created; this variable allows for that.") |
462 | 88 |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
89 (defvar make-device-late-gtk-entry-point-called-p nil |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
90 "Whether `make-device-late-gtk-entry-point' has been called, at least once. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
91 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
92 Much of the GTK-specific Lisp init code should only be called the first time |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
93 a GTK device is created; this variable allows for that.") |
462 | 94 |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
95 (defun make-device-early-gtk-entry-point () |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
96 "Entry point to set up the Lisp environment before GTK device creation." |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
97 (unless make-device-early-gtk-entry-point-called-p |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
98 (setq initial-frame-plist |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
99 (and initial-frame-unmapped-p '(initially-unmapped t)) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
100 gtk-initial-argv-list |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
101 (cons (car command-line-args) (gtk-filter-arguments)) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
102 gtk-initial-geometry |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
103 (nth 1 (member "-geometry" command-line-args-left)) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
104 make-device-early-gtk-entry-point-called-p t) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
105 (unless vanilla-inhibiting |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
106 (load gtk-early-lisp-options-file t t t)))) |
462 | 107 |
108 (defun gtk-init-handle-geometry (arg) | |
109 "Set up initial geometry info for GTK devices." | |
110 (setq gtk-initial-geometry (pop command-line-args-left))) | |
111 | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
112 (defun make-device-late-gtk-entry-point (device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
113 "Entry-Point to do any Lisp-level GTK device-specific initialization." |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
114 (gtk-initialize-compose device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
115 (unless make-device-late-gtk-entry-point-called-p |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
116 (setq make-device-late-gtk-entry-point-called-p t))) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
117 |
462 | 118 (defun gtk-filter-arguments () |
119 (let ((accepted nil) | |
120 (rejected nil) | |
121 (todo nil)) | |
122 (setq todo (mapcar (lambda (argdesc) | |
123 (if (cdr argdesc) | |
124 ;; Need to look for --foo=bar | |
125 (concat "^" (car argdesc) "=") | |
126 ;; Just a simple arg | |
127 (concat "^" (regexp-quote (car argdesc)) "$"))) | |
128 gtk-command-switch-alist)) | |
129 | |
130 (while command-line-args-left | |
131 (if (catch 'found | |
132 (mapc (lambda (r) | |
133 (if (string-match r (car command-line-args-left)) | |
134 (throw 'found t))) todo) | |
135 (mapc (lambda (argdesc) | |
136 (if (cdr argdesc) | |
137 ;; This time we only care about argument items | |
138 ;; that take an argument. We'll check to see if | |
139 ;; someone used --foo bar instead of --foo=bar | |
140 (if (string-match (concat "^" (car argdesc) "$") (car command-line-args-left)) | |
141 ;; Yup! Need to push | |
142 (progn | |
143 (push (pop command-line-args-left) accepted) | |
144 (throw 'found t))))) | |
145 gtk-command-switch-alist) | |
146 nil) | |
147 (push (pop command-line-args-left) accepted) | |
148 (push (pop command-line-args-left) rejected))) | |
149 (setq command-line-args-left (nreverse rejected)) | |
150 (nreverse accepted))) | |
151 | |
152 (push '("-geometry" . gtk-init-handle-geometry) command-switch-alist) | |
153 | |
154 ;;; Stuff to get compose keys working on GTK | |
155 (eval-when-compile | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
156 (defmacro gtk-define-dead-key (key map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
157 `(when (gtk-keysym-on-keyboard-p ',key device) |
462 | 158 (define-key function-key-map [,key] ',map)))) |
159 | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
160 (defun gtk-initialize-compose (device) |
462 | 161 "Enable compose processing" |
162 (autoload 'compose-map "gtk-compose" nil t 'keymap) | |
163 (autoload 'compose-acute-map "gtk-compose" nil t 'keymap) | |
164 (autoload 'compose-grave-map "gtk-compose" nil t 'keymap) | |
165 (autoload 'compose-cedilla-map "gtk-compose" nil t 'keymap) | |
166 (autoload 'compose-diaeresis-map "gtk-compose" nil t 'keymap) | |
167 (autoload 'compose-circumflex-map "gtk-compose" nil t 'keymap) | |
168 (autoload 'compose-tilde-map "gtk-compose" nil t 'keymap) | |
169 | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
170 (when (gtk-keysym-on-keyboard-p 'multi-key device) |
462 | 171 (define-key function-key-map [multi-key] 'compose-map)) |
172 | |
173 ;; The dead keys might really be called just about anything, depending | |
174 ;; on the vendor. MIT thinks that the prefixes are "SunFA_", "D", and | |
175 ;; "hpmute_" for Sun, DEC, and HP respectively. However, OpenWindows 3 | |
176 ;; thinks that the prefixes are "SunXK_FA_", "DXK_", and "hpXK_mute_". | |
177 ;; And HP (who don't mention Sun and DEC at all) use "XK_mute_". | |
178 ;; Go figure. | |
179 | |
180 ;; Presumably if someone is running OpenWindows, they won't be using | |
181 ;; the DEC or HP keysyms, but if they are defined then that is possible, | |
182 ;; so in that case we accept them all. | |
183 | |
184 ;; If things seem not to be working, you might want to check your | |
185 ;; /usr/lib/X11/XKeysymDB file to see if your vendor has an equally | |
186 ;; mixed up view of what these keys should be called. | |
187 | |
188 ;; Canonical names: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
189 (gtk-define-dead-key acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
190 (gtk-define-dead-key grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
191 (gtk-define-dead-key cedilla compose-cedilla-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
192 (gtk-define-dead-key diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
193 (gtk-define-dead-key circumflex compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
194 (gtk-define-dead-key tilde compose-tilde-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
195 (gtk-define-dead-key degree compose-ring-map device) |
462 | 196 |
197 ;; Sun according to MIT: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
198 (gtk-define-dead-key SunFA_Acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
199 (gtk-define-dead-key SunFA_Grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
200 (gtk-define-dead-key SunFA_Cedilla compose-cedilla-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
201 (gtk-define-dead-key SunFA_Diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
202 (gtk-define-dead-key SunFA_Circum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
203 (gtk-define-dead-key SunFA_Tilde compose-tilde-map device) |
462 | 204 |
205 ;; Sun according to OpenWindows 2: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
206 (gtk-define-dead-key Dead_Grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
207 (gtk-define-dead-key Dead_Circum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
208 (gtk-define-dead-key Dead_Tilde compose-tilde-map device) |
462 | 209 |
210 ;; Sun according to OpenWindows 3: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
211 (gtk-define-dead-key SunXK_FA_Acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
212 (gtk-define-dead-key SunXK_FA_Grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
213 (gtk-define-dead-key SunXK_FA_Cedilla compose-cedilla-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
214 (gtk-define-dead-key SunXK_FA_Diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
215 (gtk-define-dead-key SunXK_FA_Circum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
216 (gtk-define-dead-key SunXK_FA_Tilde compose-tilde-map device) |
462 | 217 |
218 ;; DEC according to MIT: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
219 (gtk-define-dead-key Dacute_accent compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
220 (gtk-define-dead-key Dgrave_accent compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
221 (gtk-define-dead-key Dcedilla_accent compose-cedilla-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
222 (gtk-define-dead-key Dcircumflex_accent compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
223 (gtk-define-dead-key Dtilde compose-tilde-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
224 (gtk-define-dead-key Dring_accent compose-ring-map device) |
462 | 225 |
226 ;; DEC according to OpenWindows 3: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
227 (gtk-define-dead-key DXK_acute_accent compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
228 (gtk-define-dead-key DXK_grave_accent compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
229 (gtk-define-dead-key DXK_cedilla_accent compose-cedilla-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
230 (gtk-define-dead-key DXK_circumflex_accent compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
231 (gtk-define-dead-key DXK_tilde compose-tilde-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
232 (gtk-define-dead-key DXK_ring_accent compose-ring-map device) |
462 | 233 |
234 ;; HP according to MIT: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
235 (gtk-define-dead-key hpmute_acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
236 (gtk-define-dead-key hpmute_grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
237 (gtk-define-dead-key hpmute_diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
238 (gtk-define-dead-key hpmute_asciicircum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
239 (gtk-define-dead-key hpmute_asciitilde compose-tilde-map device) |
462 | 240 |
241 ;; Empirically discovered on Linux XFree86 MetroX: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
242 (gtk-define-dead-key usldead_acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
243 (gtk-define-dead-key usldead_grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
244 (gtk-define-dead-key usldead_diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
245 (gtk-define-dead-key usldead_asciicircum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
246 (gtk-define-dead-key usldead_asciitilde compose-tilde-map device) |
462 | 247 |
248 ;; HP according to OpenWindows 3: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
249 (gtk-define-dead-key hpXK_mute_acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
250 (gtk-define-dead-key hpXK_mute_grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
251 (gtk-define-dead-key hpXK_mute_diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
252 (gtk-define-dead-key hpXK_mute_asciicircum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
253 (gtk-define-dead-key hpXK_mute_asciitilde compose-tilde-map device) |
462 | 254 |
255 ;; HP according to HP-UX 8.0: | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
256 (gtk-define-dead-key XK_mute_acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
257 (gtk-define-dead-key XK_mute_grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
258 (gtk-define-dead-key XK_mute_diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
259 (gtk-define-dead-key XK_mute_asciicircum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
260 (gtk-define-dead-key XK_mute_asciitilde compose-tilde-map device) |
462 | 261 |
262 ;; Xfree86 seems to use lower case and a hyphen | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
263 (gtk-define-dead-key dead-acute compose-acute-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
264 (gtk-define-dead-key dead-grave compose-grave-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
265 (gtk-define-dead-key dead-cedilla compose-cedilla-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
266 (gtk-define-dead-key dead-diaeresis compose-diaeresis-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
267 (gtk-define-dead-key dead-circum compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
268 (gtk-define-dead-key dead-circumflex compose-circumflex-map device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4380
diff
changeset
|
269 (gtk-define-dead-key dead-tilde compose-tilde-map device)) |
462 | 270 |