annotate src/keymap.h @ 94938:5752d7154afc

Throughout the file, delete all USE_FONT_BACKEND conditionals. Don't check enable_font_backend. Delete all codes used only when USE_FONT_BACKEND is not defined. Use FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx. (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth) (Qp): Extern them. (clear_font_table, load_face_font, xlfd_lookup_field_contents): Deleted. (struct font_name): Deleted. (xlfd_numeric_value, xlfd_symbolic_value): Deleted. (compare_fonts_by_sort_order): New function. (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight) (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth): Deleted. (Fx_family_fonts): Use font_list_entities, and sort fonts by compare_fonts_by_sort_order. (Fx_font_family_list): Call Ffont_family_list. (face_numeric_value, face_numeric_weight, face_numeric_slant) (face_numeric_swidth, face_symbolic_value, face_symbolic_weight) (face_symbolic_slant, face_symbolic_swidth) (split_font_name_into_vector, build_font_name_from_vector) (xlfd_fixed_p, xlfd_point_size, pixel_point_size) (font_rescale_ratio, split_font_name, build_font_name) (free_font_names, sort_fonts, x_face_list_fonts) (face_font_available_p, sorted_font_list, cmp_font_names) (font_list_1, concat_font_list, font_list, remove_duplicates): Deleted. (Fx_list_fonts): Use Ffont_list. (LFACE_AVGWIDTH): Deleted. (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT by FONTP. (lface_fully_specified_p): Don't check LFACE_AVGWIDTH. (set_lface_from_font_name): Delete it. (set_lface_from_font): Renamed from set_lface_from_font_and_fontset. Caller changed. Don't set LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable for face. (merge_face_vectors): Copy font-spec if necessary. Clear properties of the font-spec if necessary. (merge_face_ref): Clear properties of the font-spec if necessary. (Finternal_set_lisp_face_attribute): Likewise. (set_font_frame_param): Use font_load_for_lface to load a font-object, and call Fmodify_frame_parameters with it. (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD font name by Ffont_xlfd_name. (Finternal_lisp_face_attribute_values): Don't check QCweight, QCslant, and QCwidth. (Fface_font): Get a font name from font->props[FONT_NAME_INDEX]. (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH. Compare fonts by EQ. (lookup_non_ascii_face): Deleted. (face_for_font): The 2nd argument changed. (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH. Check atomic font properties by case insensitive. (realize_non_ascii_face): Set face->overstrike correctly. (realize_x_face): Likewise. Check if LFACE_FONT is a font_object. (dump_realized_face): Get font name from font->props[FONT_NAME_INDEX]. Don't print font_info_id.
author Kenichi Handa <handa@m17n.org>
date Wed, 14 May 2008 01:41:52 +0000
parents d3bf833831d6
children 29adfc9354e7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1 /* Functions to manipulate keymaps.
68651
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
2 Copyright (C) 2001, 2002, 2003, 2004, 2005,
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
3 2006, 2007, 2008 Free Software Foundation, Inc.
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
4
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
5 This file is part of GNU Emacs.
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
6
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
78260
922696f363b0 Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 76885
diff changeset
9 the Free Software Foundation; either version 3, or (at your option)
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
10 any later version.
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
11
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
15 GNU General Public License for more details.
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
16
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 60192
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 60192
diff changeset
20 Boston, MA 02110-1301, USA. */
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
21
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
22 #ifndef KEYMAP_H
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
23 #define KEYMAP_H
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
24
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
25 #define KEYMAPP(m) (!NILP (get_keymap (m, 0, 0)))
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
26 extern Lisp_Object Qkeymap, Qmenu_bar;
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
27 extern Lisp_Object current_global_map;
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
28 EXFUN (Fmake_sparse_keymap, 1);
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
29 EXFUN (Fkeymap_prompt, 1);
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
30 EXFUN (Fdefine_key, 3);
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
31 EXFUN (Flookup_key, 3);
76885
fcaf9518268a (Fcommand_remapping): New optional argument.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
32 EXFUN (Fcommand_remapping, 3);
72889
25c755416160 * NEWS: explain new behavior and arguments of `key-binding' and
David Kastrup <dak@gnu.org>
parents: 68651
diff changeset
33 EXFUN (Fkey_binding, 4);
54926
9d9ed20a61d2 (Fkey_description): Fix prototype.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
34 EXFUN (Fkey_description, 2);
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
35 EXFUN (Fsingle_key_description, 2);
43153
d6162a8dc872 (Fkey_binding, Fwhere_is_internal): Update prototype.
Kim F. Storm <storm@cua.dk>
parents: 41292
diff changeset
36 EXFUN (Fwhere_is_internal, 5);
81609
7e640eac2dcb * keymaps.texi (Active Keymaps): Document new POSITION argument of
David Kastrup <dak@gnu.org>
parents: 76885
diff changeset
37 EXFUN (Fcurrent_active_maps, 2);
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
38 extern Lisp_Object access_keymap P_ ((Lisp_Object, Lisp_Object, int, int, int));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
39 extern Lisp_Object get_keyelt P_ ((Lisp_Object, int));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
40 extern Lisp_Object get_keymap P_ ((Lisp_Object, int, int));
83420
521d3f18b3d1 Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents: 64770
diff changeset
41 EXFUN (Fset_keymap_parent, 2);
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
42 extern void describe_map_tree P_ ((Lisp_Object, int, Lisp_Object, Lisp_Object,
60068
3e2faa2a85ed (describe_map_tree): Change decl.
Richard M. Stallman <rms@gnu.org>
parents: 54926
diff changeset
43 char *, int, int, int, int));
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
44 extern int current_minor_maps P_ ((Lisp_Object **, Lisp_Object **));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
45 extern void initial_define_key P_ ((Lisp_Object, int, char *));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
46 extern void initial_define_lispy_key P_ ((Lisp_Object, char *, char *));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
47 extern void syms_of_keymap P_ ((void));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
48 extern void keys_of_keymap P_ ((void));
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
49
50797
5b0873c0b734 (map_keymap_function_t): New type.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 49757
diff changeset
50 typedef void (*map_keymap_function_t)
81791
98732c4676bc (map_keymap_function_t): More informative prototype.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 81609
diff changeset
51 P_ ((Lisp_Object key, Lisp_Object val, Lisp_Object args, void* data));
50797
5b0873c0b734 (map_keymap_function_t): New type.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 49757
diff changeset
52 extern void map_keymap P_ ((Lisp_Object map, map_keymap_function_t fun, Lisp_Object largs, void* cargs, int autoload));
94005
d3bf833831d6 * keymap.h (map_keymap_canonical): Declare.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
53 extern void map_keymap_canonical (Lisp_Object map,
d3bf833831d6 * keymap.h (map_keymap_canonical): Declare.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
54 map_keymap_function_t fun,
d3bf833831d6 * keymap.h (map_keymap_canonical): Declare.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
55 Lisp_Object args, void *data);
39691
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
56
27fe3d5767ed New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
57 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50797
diff changeset
58
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50797
diff changeset
59 /* arch-tag: 7400d5a1-ef0b-43d0-b366-f4d678bf3ba2
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50797
diff changeset
60 (do not change this comment) */