aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab2012-06-16 14:24:15 +0200
committerAndreas Schwab2012-06-16 14:24:15 +0200
commite5560ff7d28c684003ed598a9390e17f9fb92d34 (patch)
treef8b34c072e755a8bd4bd0a021815a234d112b331 /src
parent946fdb736dc076e181a3e82cfd4cc307cc061114 (diff)
downloademacs-e5560ff7d28c684003ed598a9390e17f9fb92d34.tar.gz
emacs-e5560ff7d28c684003ed598a9390e17f9fb92d34.zip
* buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
(BUF_FETCH_MULTIBYTE_CHAR): Likewise. * character.c (_fetch_multibyte_char_p): Remove. * alloc.c: Include "character.h" before "buffer.h". * bidi.c: Likewise. * buffer.c: Likewise. * bytecode.c: Likewise. * callint.c: Likewise. * callproc.c: Likewise. * casefiddle.c: Likewise. * casetab.c: Likewise. * category.c: Likewise. * cmds.c: Likewise. * coding.c: Likewise. * composite.c: Likewise. * dired.c: Likewise. * dispnew.c: Likewise. * doc.c: Likewise. * dosfns.c: Likewise. * editfns.c: Likewise. * emacs.c: Likewise. * fileio.c: Likewise. * filelock.c: Likewise. * font.c: Likewise. * fontset.c: Likewise. * fringe.c: Likewise. * indent.c: Likewise. * insdel.c: Likewise. * intervals.c: Likewise. * keyboard.c: Likewise. * keymap.c: Likewise. * lread.c: Likewise. * macros.c: Likewise. * marker.c: Likewise. * minibuf.c: Likewise. * nsfns.m: Likewise. * nsmenu.m: Likewise. * print.c: Likewise. * process.c: Likewise. * regex.c: Likewise. * region-cache.c: Likewise. * search.c: Likewise. * syntax.c: Likewise. * term.c: Likewise. * textprop.c: Likewise. * undo.c: Likewise. * unexsol.c: Likewise. * w16select.c: Likewise. * w32fns.c: Likewise. * w32menu.c: Likewise. * window.c: Likewise. * xdisp.c: Likewise. * xfns.c: Likewise. * xmenu.c: Likewise. * xml.c: Likewise. * xselect.c: Likewise.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog59
-rw-r--r--src/alloc.c2
-rw-r--r--src/bidi.c2
-rw-r--r--src/buffer.c2
-rw-r--r--src/buffer.h66
-rw-r--r--src/bytecode.c2
-rw-r--r--src/callint.c2
-rw-r--r--src/callproc.c2
-rw-r--r--src/casefiddle.c2
-rw-r--r--src/casetab.c2
-rw-r--r--src/category.c2
-rw-r--r--src/character.c3
-rw-r--r--src/cmds.c2
-rw-r--r--src/coding.c2
-rw-r--r--src/composite.c2
-rw-r--r--src/dired.c2
-rw-r--r--src/dispnew.c2
-rw-r--r--src/doc.c2
-rw-r--r--src/dosfns.c2
-rw-r--r--src/editfns.c2
-rw-r--r--src/emacs.c1
-rw-r--r--src/fileio.c2
-rw-r--r--src/filelock.c2
-rw-r--r--src/font.c2
-rw-r--r--src/fontset.c2
-rw-r--r--src/fringe.c1
-rw-r--r--src/indent.c2
-rw-r--r--src/insdel.c2
-rw-r--r--src/intervals.c1
-rw-r--r--src/keyboard.c2
-rw-r--r--src/keymap.c2
-rw-r--r--src/lread.c2
-rw-r--r--src/macros.c1
-rw-r--r--src/marker.c2
-rw-r--r--src/minibuf.c1
-rw-r--r--src/nsfns.m2
-rw-r--r--src/nsmenu.m1
-rw-r--r--src/print.c2
-rw-r--r--src/process.c2
-rw-r--r--src/regex.c2
-rw-r--r--src/region-cache.c1
-rw-r--r--src/search.c2
-rw-r--r--src/syntax.c2
-rw-r--r--src/term.c2
-rw-r--r--src/textprop.c1
-rw-r--r--src/undo.c1
-rw-r--r--src/unexsol.c1
-rw-r--r--src/w16select.c2
-rw-r--r--src/w32fns.c2
-rw-r--r--src/w32menu.c1
-rw-r--r--src/window.c1
-rw-r--r--src/xdisp.c2
-rw-r--r--src/xfns.c2
-rw-r--r--src/xmenu.c1
-rw-r--r--src/xml.c1
-rw-r--r--src/xselect.c2
56 files changed, 146 insertions, 74 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 61a2b3d78f3..ec92eadaa39 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,62 @@
12012-06-16 Andreas Schwab <schwab@linux-m68k.org>
2
3 * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
4 (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
5 * character.c (_fetch_multibyte_char_p): Remove.
6 * alloc.c: Include "character.h" before "buffer.h".
7 * bidi.c: Likewise.
8 * buffer.c: Likewise.
9 * bytecode.c: Likewise.
10 * callint.c: Likewise.
11 * callproc.c: Likewise.
12 * casefiddle.c: Likewise.
13 * casetab.c: Likewise.
14 * category.c: Likewise.
15 * cmds.c: Likewise.
16 * coding.c: Likewise.
17 * composite.c: Likewise.
18 * dired.c: Likewise.
19 * dispnew.c: Likewise.
20 * doc.c: Likewise.
21 * dosfns.c: Likewise.
22 * editfns.c: Likewise.
23 * emacs.c: Likewise.
24 * fileio.c: Likewise.
25 * filelock.c: Likewise.
26 * font.c: Likewise.
27 * fontset.c: Likewise.
28 * fringe.c: Likewise.
29 * indent.c: Likewise.
30 * insdel.c: Likewise.
31 * intervals.c: Likewise.
32 * keyboard.c: Likewise.
33 * keymap.c: Likewise.
34 * lread.c: Likewise.
35 * macros.c: Likewise.
36 * marker.c: Likewise.
37 * minibuf.c: Likewise.
38 * nsfns.m: Likewise.
39 * nsmenu.m: Likewise.
40 * print.c: Likewise.
41 * process.c: Likewise.
42 * regex.c: Likewise.
43 * region-cache.c: Likewise.
44 * search.c: Likewise.
45 * syntax.c: Likewise.
46 * term.c: Likewise.
47 * textprop.c: Likewise.
48 * undo.c: Likewise.
49 * unexsol.c: Likewise.
50 * w16select.c: Likewise.
51 * w32fns.c: Likewise.
52 * w32menu.c: Likewise.
53 * window.c: Likewise.
54 * xdisp.c: Likewise.
55 * xfns.c: Likewise.
56 * xmenu.c: Likewise.
57 * xml.c: Likewise.
58 * xselect.c: Likewise.
59
12012-06-16 Eli Zaretskii <eliz@gnu.org> 602012-06-16 Eli Zaretskii <eliz@gnu.org>
2 61
3 * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end. If 62 * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end. If
diff --git a/src/alloc.c b/src/alloc.c
index 1478ce9ae4e..5c6297faae5 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -38,12 +38,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
38#include "process.h" 38#include "process.h"
39#include "intervals.h" 39#include "intervals.h"
40#include "puresize.h" 40#include "puresize.h"
41#include "character.h"
41#include "buffer.h" 42#include "buffer.h"
42#include "window.h" 43#include "window.h"
43#include "keyboard.h" 44#include "keyboard.h"
44#include "frame.h" 45#include "frame.h"
45#include "blockinput.h" 46#include "blockinput.h"
46#include "character.h"
47#include "syssignal.h" 47#include "syssignal.h"
48#include "termhooks.h" /* For struct terminal. */ 48#include "termhooks.h" /* For struct terminal. */
49#include <setjmp.h> 49#include <setjmp.h>
diff --git a/src/bidi.c b/src/bidi.c
index 7a716d3f0b0..675e2028d92 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -59,8 +59,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
59#include <setjmp.h> 59#include <setjmp.h>
60 60
61#include "lisp.h" 61#include "lisp.h"
62#include "buffer.h"
63#include "character.h" 62#include "character.h"
63#include "buffer.h"
64#include "dispextern.h" 64#include "dispextern.h"
65 65
66static int bidi_initialized = 0; 66static int bidi_initialized = 0;
diff --git a/src/buffer.c b/src/buffer.c
index 504d477494b..c8cbaa25698 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -33,8 +33,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
33#include "intervals.h" 33#include "intervals.h"
34#include "window.h" 34#include "window.h"
35#include "commands.h" 35#include "commands.h"
36#include "buffer.h"
37#include "character.h" 36#include "character.h"
37#include "buffer.h"
38#include "region-cache.h" 38#include "region-cache.h"
39#include "indent.h" 39#include "indent.h"
40#include "blockinput.h" 40#include "blockinput.h"
diff --git a/src/buffer.h b/src/buffer.h
index 3aa4b11c450..8e0604e90c2 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -355,28 +355,6 @@ while (0)
355 355
356#define FETCH_BYTE(n) *(BYTE_POS_ADDR ((n))) 356#define FETCH_BYTE(n) *(BYTE_POS_ADDR ((n)))
357 357
358/* Variables used locally in FETCH_MULTIBYTE_CHAR. */
359extern unsigned char *_fetch_multibyte_char_p;
360
361/* Return character code of multi-byte form at byte position POS. If POS
362 doesn't point the head of valid multi-byte form, only the byte at
363 POS is returned. No range checking.
364
365 WARNING: The character returned by this macro could be "unified"
366 inside STRING_CHAR, if the original character in the buffer belongs
367 to one of the Private Use Areas (PUAs) of codepoints that Emacs
368 uses to support non-unified CJK characters. If that happens,
369 CHAR_BYTES will return a value that is different from the length of
370 the original multibyte sequence stored in the buffer. Therefore,
371 do _not_ use FETCH_MULTIBYTE_CHAR if you need to advance through
372 the buffer to the next character after fetching this one. Instead,
373 use either FETCH_CHAR_ADVANCE or STRING_CHAR_AND_LENGTH. */
374
375#define FETCH_MULTIBYTE_CHAR(pos) \
376 (_fetch_multibyte_char_p = (((pos) >= GPT_BYTE ? GAP_SIZE : 0) \
377 + (pos) + BEG_ADDR - BEG_BYTE), \
378 STRING_CHAR (_fetch_multibyte_char_p))
379
380/* Return character at byte position POS. If the current buffer is unibyte 358/* Return character at byte position POS. If the current buffer is unibyte
381 and the character is not ASCII, make the returning character 359 and the character is not ASCII, make the returning character
382 multibyte. */ 360 multibyte. */
@@ -425,16 +403,6 @@ extern unsigned char *_fetch_multibyte_char_p;
425 403
426#define BUF_FETCH_BYTE(buf, n) \ 404#define BUF_FETCH_BYTE(buf, n) \
427 *(BUF_BYTE_ADDRESS ((buf), (n))) 405 *(BUF_BYTE_ADDRESS ((buf), (n)))
428
429/* Return character code of multi-byte form at byte position POS in BUF.
430 If POS doesn't point the head of valid multi-byte form, only the byte at
431 POS is returned. No range checking. */
432
433#define BUF_FETCH_MULTIBYTE_CHAR(buf, pos) \
434 (_fetch_multibyte_char_p \
435 = (((pos) >= BUF_GPT_BYTE (buf) ? BUF_GAP_SIZE (buf) : 0) \
436 + (pos) + BUF_BEG_ADDR (buf) - BEG_BYTE), \
437 STRING_CHAR (_fetch_multibyte_char_p))
438 406
439/* Define the actual buffer data structures. */ 407/* Define the actual buffer data structures. */
440 408
@@ -945,7 +913,41 @@ EXFUN (Fbuffer_local_value, 2);
945extern Lisp_Object Qbefore_change_functions; 913extern Lisp_Object Qbefore_change_functions;
946extern Lisp_Object Qafter_change_functions; 914extern Lisp_Object Qafter_change_functions;
947extern Lisp_Object Qfirst_change_hook; 915extern Lisp_Object Qfirst_change_hook;
916
917/* Return character code of multi-byte form at byte position POS. If POS
918 doesn't point the head of valid multi-byte form, only the byte at
919 POS is returned. No range checking.
920
921 WARNING: The character returned by this macro could be "unified"
922 inside STRING_CHAR, if the original character in the buffer belongs
923 to one of the Private Use Areas (PUAs) of codepoints that Emacs
924 uses to support non-unified CJK characters. If that happens,
925 CHAR_BYTES will return a value that is different from the length of
926 the original multibyte sequence stored in the buffer. Therefore,
927 do _not_ use FETCH_MULTIBYTE_CHAR if you need to advance through
928 the buffer to the next character after fetching this one. Instead,
929 use either FETCH_CHAR_ADVANCE or STRING_CHAR_AND_LENGTH. */
948 930
931static inline int
932FETCH_MULTIBYTE_CHAR (ptrdiff_t pos)
933{
934 unsigned char *p = ((pos >= GPT_BYTE ? GAP_SIZE : 0)
935 + pos + BEG_ADDR - BEG_BYTE);
936 return STRING_CHAR (p);
937}
938
939/* Return character code of multi-byte form at byte position POS in BUF.
940 If POS doesn't point the head of valid multi-byte form, only the byte at
941 POS is returned. No range checking. */
942
943static inline int
944BUF_FETCH_MULTIBYTE_CHAR (struct buffer *buf, ptrdiff_t pos)
945{
946 unsigned char *p
947 = ((pos >= BUF_GPT_BYTE (buf) ? BUF_GAP_SIZE (buf) : 0)
948 + pos + BUF_BEG_ADDR (buf) - BEG_BYTE);
949 return STRING_CHAR (p);
950}
949 951
950/* Overlays */ 952/* Overlays */
951 953
diff --git a/src/bytecode.c b/src/bytecode.c
index e2370254f36..2e6ee3d4445 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -35,8 +35,8 @@ by Hallvard:
35#include <config.h> 35#include <config.h>
36#include <setjmp.h> 36#include <setjmp.h>
37#include "lisp.h" 37#include "lisp.h"
38#include "buffer.h"
39#include "character.h" 38#include "character.h"
39#include "buffer.h"
40#include "syntax.h" 40#include "syntax.h"
41#include "window.h" 41#include "window.h"
42 42
diff --git a/src/callint.c b/src/callint.c
index bfa981ec65a..e5ff99714c0 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -22,12 +22,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <setjmp.h> 22#include <setjmp.h>
23 23
24#include "lisp.h" 24#include "lisp.h"
25#include "character.h"
25#include "buffer.h" 26#include "buffer.h"
26#include "commands.h" 27#include "commands.h"
27#include "keyboard.h" 28#include "keyboard.h"
28#include "window.h" 29#include "window.h"
29#include "keymap.h" 30#include "keymap.h"
30#include "character.h"
31 31
32Lisp_Object Qminus, Qplus; 32Lisp_Object Qminus, Qplus;
33Lisp_Object Qcall_interactively; 33Lisp_Object Qcall_interactively;
diff --git a/src/callproc.c b/src/callproc.c
index 976d3061c8b..804af1e9abb 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -44,8 +44,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
44#endif /* MSDOS */ 44#endif /* MSDOS */
45 45
46#include "commands.h" 46#include "commands.h"
47#include "buffer.h"
48#include "character.h" 47#include "character.h"
48#include "buffer.h"
49#include "ccl.h" 49#include "ccl.h"
50#include "coding.h" 50#include "coding.h"
51#include "composite.h" 51#include "composite.h"
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 278806b3030..19fbc832288 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -21,8 +21,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <config.h> 21#include <config.h>
22#include <setjmp.h> 22#include <setjmp.h>
23#include "lisp.h" 23#include "lisp.h"
24#include "buffer.h"
25#include "character.h" 24#include "character.h"
25#include "buffer.h"
26#include "commands.h" 26#include "commands.h"
27#include "syntax.h" 27#include "syntax.h"
28#include "composite.h" 28#include "composite.h"
diff --git a/src/casetab.c b/src/casetab.c
index c28f0c08d5e..86dbca4d026 100644
--- a/src/casetab.c
+++ b/src/casetab.c
@@ -21,8 +21,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <config.h> 21#include <config.h>
22#include <setjmp.h> 22#include <setjmp.h>
23#include "lisp.h" 23#include "lisp.h"
24#include "buffer.h"
25#include "character.h" 24#include "character.h"
25#include "buffer.h"
26 26
27static Lisp_Object Qcase_table_p, Qcase_table; 27static Lisp_Object Qcase_table_p, Qcase_table;
28Lisp_Object Vascii_downcase_table; 28Lisp_Object Vascii_downcase_table;
diff --git a/src/category.c b/src/category.c
index 5cb3020a2de..7d0f72d284d 100644
--- a/src/category.c
+++ b/src/category.c
@@ -32,8 +32,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32#include <ctype.h> 32#include <ctype.h>
33#include <setjmp.h> 33#include <setjmp.h>
34#include "lisp.h" 34#include "lisp.h"
35#include "buffer.h"
36#include "character.h" 35#include "character.h"
36#include "buffer.h"
37#include "charset.h" 37#include "charset.h"
38#include "category.h" 38#include "category.h"
39#include "keymap.h" 39#include "keymap.h"
diff --git a/src/character.c b/src/character.c
index b85cedad937..fbd23409d08 100644
--- a/src/character.c
+++ b/src/character.c
@@ -57,9 +57,6 @@ static Lisp_Object Qauto_fill_chars;
57 Unicode character. Mainly used by the macro MAYBE_UNIFY_CHAR. */ 57 Unicode character. Mainly used by the macro MAYBE_UNIFY_CHAR. */
58Lisp_Object Vchar_unify_table; 58Lisp_Object Vchar_unify_table;
59 59
60/* Variable used locally in the macro FETCH_MULTIBYTE_CHAR. */
61unsigned char *_fetch_multibyte_char_p;
62
63static Lisp_Object Qchar_script_table; 60static Lisp_Object Qchar_script_table;
64 61
65 62
diff --git a/src/cmds.c b/src/cmds.c
index 225c26b082c..d617c7f81d9 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -22,8 +22,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <setjmp.h> 22#include <setjmp.h>
23#include "lisp.h" 23#include "lisp.h"
24#include "commands.h" 24#include "commands.h"
25#include "buffer.h"
26#include "character.h" 25#include "character.h"
26#include "buffer.h"
27#include "syntax.h" 27#include "syntax.h"
28#include "window.h" 28#include "window.h"
29#include "keyboard.h" 29#include "keyboard.h"
diff --git a/src/coding.c b/src/coding.c
index 17e342298b9..ab13f0311c0 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -288,8 +288,8 @@ encode_coding_XXX (struct coding_system *coding)
288#include <setjmp.h> 288#include <setjmp.h>
289 289
290#include "lisp.h" 290#include "lisp.h"
291#include "buffer.h"
292#include "character.h" 291#include "character.h"
292#include "buffer.h"
293#include "charset.h" 293#include "charset.h"
294#include "ccl.h" 294#include "ccl.h"
295#include "composite.h" 295#include "composite.h"
diff --git a/src/composite.c b/src/composite.c
index 50aca156ba4..6070e4070f0 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -25,8 +25,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25#include <config.h> 25#include <config.h>
26#include <setjmp.h> 26#include <setjmp.h>
27#include "lisp.h" 27#include "lisp.h"
28#include "buffer.h"
29#include "character.h" 28#include "character.h"
29#include "buffer.h"
30#include "coding.h" 30#include "coding.h"
31#include "intervals.h" 31#include "intervals.h"
32#include "window.h" 32#include "window.h"
diff --git a/src/dired.c b/src/dired.c
index 38dfa23c1bf..1ce236d5674 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -71,9 +71,9 @@ extern struct direct *readdir (DIR *);
71 71
72#include "lisp.h" 72#include "lisp.h"
73#include "systime.h" 73#include "systime.h"
74#include "character.h"
74#include "buffer.h" 75#include "buffer.h"
75#include "commands.h" 76#include "commands.h"
76#include "character.h"
77#include "charset.h" 77#include "charset.h"
78#include "coding.h" 78#include "coding.h"
79#include "regex.h" 79#include "regex.h"
diff --git a/src/dispnew.c b/src/dispnew.c
index a23f2b9a959..ad675f6e098 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -30,8 +30,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30/* cm.h must come after dispextern.h on Windows. */ 30/* cm.h must come after dispextern.h on Windows. */
31#include "dispextern.h" 31#include "dispextern.h"
32#include "cm.h" 32#include "cm.h"
33#include "buffer.h"
34#include "character.h" 33#include "character.h"
34#include "buffer.h"
35#include "keyboard.h" 35#include "keyboard.h"
36#include "frame.h" 36#include "frame.h"
37#include "termhooks.h" 37#include "termhooks.h"
diff --git a/src/doc.c b/src/doc.c
index cd23d9266a2..223741c3bf5 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -28,9 +28,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28#include <unistd.h> 28#include <unistd.h>
29 29
30#include "lisp.h" 30#include "lisp.h"
31#include "character.h"
31#include "buffer.h" 32#include "buffer.h"
32#include "keyboard.h" 33#include "keyboard.h"
33#include "character.h"
34#include "keymap.h" 34#include "keymap.h"
35#include "buildobj.h" 35#include "buildobj.h"
36 36
diff --git a/src/dosfns.c b/src/dosfns.c
index d4b96e9df90..e8c0187172d 100644
--- a/src/dosfns.c
+++ b/src/dosfns.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#include <dos.h> 26#include <dos.h>
27#include <setjmp.h> 27#include <setjmp.h>
28#include "lisp.h" 28#include "lisp.h"
29#include "character.h"
29#include "buffer.h" 30#include "buffer.h"
30#include "termchar.h" 31#include "termchar.h"
31#include "frame.h" 32#include "frame.h"
@@ -35,7 +36,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
35#include "dosfns.h" 36#include "dosfns.h"
36#include "msdos.h" 37#include "msdos.h"
37#include "dispextern.h" 38#include "dispextern.h"
38#include "character.h"
39#include "coding.h" 39#include "coding.h"
40#include "process.h" 40#include "process.h"
41#include <dpmi.h> 41#include <dpmi.h>
diff --git a/src/editfns.c b/src/editfns.c
index 8f7b2aee76c..1fb20b07e70 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -52,8 +52,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
52#include <verify.h> 52#include <verify.h>
53 53
54#include "intervals.h" 54#include "intervals.h"
55#include "buffer.h"
56#include "character.h" 55#include "character.h"
56#include "buffer.h"
57#include "coding.h" 57#include "coding.h"
58#include "frame.h" 58#include "frame.h"
59#include "window.h" 59#include "window.h"
diff --git a/src/emacs.c b/src/emacs.c
index 1d58d25ebfa..8ffbb573f5a 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -45,6 +45,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
45 45
46#include "commands.h" 46#include "commands.h"
47#include "intervals.h" 47#include "intervals.h"
48#include "character.h"
48#include "buffer.h" 49#include "buffer.h"
49#include "window.h" 50#include "window.h"
50 51
diff --git a/src/fileio.c b/src/fileio.c
index 496f9d7efa4..388ae84b6f3 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -40,8 +40,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
40 40
41#include "lisp.h" 41#include "lisp.h"
42#include "intervals.h" 42#include "intervals.h"
43#include "buffer.h"
44#include "character.h" 43#include "character.h"
44#include "buffer.h"
45#include "coding.h" 45#include "coding.h"
46#include "window.h" 46#include "window.h"
47#include "blockinput.h" 47#include "blockinput.h"
diff --git a/src/filelock.c b/src/filelock.c
index d8914c73328..a0ac154a0d2 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -40,8 +40,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
40#include <errno.h> 40#include <errno.h>
41 41
42#include "lisp.h" 42#include "lisp.h"
43#include "buffer.h"
44#include "character.h" 43#include "character.h"
44#include "buffer.h"
45#include "coding.h" 45#include "coding.h"
46#include "systime.h" 46#include "systime.h"
47 47
diff --git a/src/font.c b/src/font.c
index 16d09af01b3..dbea3a3ca3c 100644
--- a/src/font.c
+++ b/src/font.c
@@ -27,12 +27,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27#include <setjmp.h> 27#include <setjmp.h>
28 28
29#include "lisp.h" 29#include "lisp.h"
30#include "character.h"
30#include "buffer.h" 31#include "buffer.h"
31#include "frame.h" 32#include "frame.h"
32#include "window.h" 33#include "window.h"
33#include "dispextern.h" 34#include "dispextern.h"
34#include "charset.h" 35#include "charset.h"
35#include "character.h"
36#include "composite.h" 36#include "composite.h"
37#include "fontset.h" 37#include "fontset.h"
38#include "font.h" 38#include "font.h"
diff --git a/src/fontset.c b/src/fontset.c
index b2c7249625e..1d704a5900e 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -32,8 +32,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 32
33#include "lisp.h" 33#include "lisp.h"
34#include "blockinput.h" 34#include "blockinput.h"
35#include "buffer.h"
36#include "character.h" 35#include "character.h"
36#include "buffer.h"
37#include "charset.h" 37#include "charset.h"
38#include "ccl.h" 38#include "ccl.h"
39#include "keyboard.h" 39#include "keyboard.h"
diff --git a/src/fringe.c b/src/fringe.c
index 39f7e8dbb54..0224ea73e3e 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include "frame.h" 24#include "frame.h"
25#include "window.h" 25#include "window.h"
26#include "dispextern.h" 26#include "dispextern.h"
27#include "character.h"
27#include "buffer.h" 28#include "buffer.h"
28#include "blockinput.h" 29#include "blockinput.h"
29#include "termhooks.h" 30#include "termhooks.h"
diff --git a/src/indent.c b/src/indent.c
index 32533438e2a..88cc0ab4798 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -22,8 +22,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <setjmp.h> 22#include <setjmp.h>
23 23
24#include "lisp.h" 24#include "lisp.h"
25#include "buffer.h"
26#include "character.h" 25#include "character.h"
26#include "buffer.h"
27#include "category.h" 27#include "category.h"
28#include "composite.h" 28#include "composite.h"
29#include "indent.h" 29#include "indent.h"
diff --git a/src/insdel.c b/src/insdel.c
index 148ba221940..060f83f7a2f 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -25,8 +25,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25 25
26#include "lisp.h" 26#include "lisp.h"
27#include "intervals.h" 27#include "intervals.h"
28#include "buffer.h"
29#include "character.h" 28#include "character.h"
29#include "buffer.h"
30#include "window.h" 30#include "window.h"
31#include "blockinput.h" 31#include "blockinput.h"
32#include "region-cache.h" 32#include "region-cache.h"
diff --git a/src/intervals.c b/src/intervals.c
index 0b332caf897..2c652cd9ad9 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -42,6 +42,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
42#include <intprops.h> 42#include <intprops.h>
43#include "lisp.h" 43#include "lisp.h"
44#include "intervals.h" 44#include "intervals.h"
45#include "character.h"
45#include "buffer.h" 46#include "buffer.h"
46#include "puresize.h" 47#include "puresize.h"
47#include "keyboard.h" 48#include "keyboard.h"
diff --git a/src/keyboard.c b/src/keyboard.c
index 093e33ec67c..c0b2ba2f469 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -30,8 +30,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30#include "keyboard.h" 30#include "keyboard.h"
31#include "window.h" 31#include "window.h"
32#include "commands.h" 32#include "commands.h"
33#include "buffer.h"
34#include "character.h" 33#include "character.h"
34#include "buffer.h"
35#include "disptab.h" 35#include "disptab.h"
36#include "dispextern.h" 36#include "dispextern.h"
37#include "syntax.h" 37#include "syntax.h"
diff --git a/src/keymap.c b/src/keymap.c
index 2f5558c171f..6c59a4a78d0 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -43,8 +43,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
43#include <setjmp.h> 43#include <setjmp.h>
44#include "lisp.h" 44#include "lisp.h"
45#include "commands.h" 45#include "commands.h"
46#include "buffer.h"
47#include "character.h" 46#include "character.h"
47#include "buffer.h"
48#include "charset.h" 48#include "charset.h"
49#include "keyboard.h" 49#include "keyboard.h"
50#include "frame.h" 50#include "frame.h"
diff --git a/src/lread.c b/src/lread.c
index 8a9088b8ed2..a6d77204cf8 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -28,8 +28,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28#include <setjmp.h> 28#include <setjmp.h>
29#include "lisp.h" 29#include "lisp.h"
30#include "intervals.h" 30#include "intervals.h"
31#include "buffer.h"
32#include "character.h" 31#include "character.h"
32#include "buffer.h"
33#include "charset.h" 33#include "charset.h"
34#include "coding.h" 34#include "coding.h"
35#include <epaths.h> 35#include <epaths.h>
diff --git a/src/macros.c b/src/macros.c
index 0db7e63d622..7c8bc4c13b8 100644
--- a/src/macros.c
+++ b/src/macros.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include "lisp.h" 23#include "lisp.h"
24#include "macros.h" 24#include "macros.h"
25#include "commands.h" 25#include "commands.h"
26#include "character.h"
26#include "buffer.h" 27#include "buffer.h"
27#include "window.h" 28#include "window.h"
28#include "keyboard.h" 29#include "keyboard.h"
diff --git a/src/marker.c b/src/marker.c
index 37953494459..2c09b8e19a2 100644
--- a/src/marker.c
+++ b/src/marker.c
@@ -20,8 +20,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20#include <config.h> 20#include <config.h>
21#include <setjmp.h> 21#include <setjmp.h>
22#include "lisp.h" 22#include "lisp.h"
23#include "buffer.h"
24#include "character.h" 23#include "character.h"
24#include "buffer.h"
25 25
26/* Record one cached position found recently by 26/* Record one cached position found recently by
27 buf_charpos_to_bytepos or buf_bytepos_to_charpos. */ 27 buf_charpos_to_bytepos or buf_bytepos_to_charpos. */
diff --git a/src/minibuf.c b/src/minibuf.c
index d921e80be48..bed9bb39d31 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -25,6 +25,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25 25
26#include "lisp.h" 26#include "lisp.h"
27#include "commands.h" 27#include "commands.h"
28#include "character.h"
28#include "buffer.h" 29#include "buffer.h"
29#include "dispextern.h" 30#include "dispextern.h"
30#include "keyboard.h" 31#include "keyboard.h"
diff --git a/src/nsfns.m b/src/nsfns.m
index 5cea73c39ca..113fff394c4 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -38,11 +38,11 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu)
38#include "blockinput.h" 38#include "blockinput.h"
39#include "nsterm.h" 39#include "nsterm.h"
40#include "window.h" 40#include "window.h"
41#include "character.h"
41#include "buffer.h" 42#include "buffer.h"
42#include "keyboard.h" 43#include "keyboard.h"
43#include "termhooks.h" 44#include "termhooks.h"
44#include "fontset.h" 45#include "fontset.h"
45#include "character.h"
46#include "font.h" 46#include "font.h"
47 47
48#if 0 48#if 0
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 4bfe0cc003a..1f86417b53a 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -28,6 +28,7 @@ Carbon version by Yamamoto Mitsuharu. */
28 28
29#include "lisp.h" 29#include "lisp.h"
30#include "window.h" 30#include "window.h"
31#include "character.h"
31#include "buffer.h" 32#include "buffer.h"
32#include "keymap.h" 33#include "keymap.h"
33#include "coding.h" 34#include "coding.h"
diff --git a/src/print.c b/src/print.c
index 2158d06dbca..a388832b07b 100644
--- a/src/print.c
+++ b/src/print.c
@@ -23,8 +23,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h> 24#include <setjmp.h>
25#include "lisp.h" 25#include "lisp.h"
26#include "buffer.h"
27#include "character.h" 26#include "character.h"
27#include "buffer.h"
28#include "charset.h" 28#include "charset.h"
29#include "keyboard.h" 29#include "keyboard.h"
30#include "frame.h" 30#include "frame.h"
diff --git a/src/process.c b/src/process.c
index 4d59ff0d452..6e454db6b4c 100644
--- a/src/process.c
+++ b/src/process.c
@@ -93,8 +93,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
93#include "systty.h" 93#include "systty.h"
94 94
95#include "window.h" 95#include "window.h"
96#include "buffer.h"
97#include "character.h" 96#include "character.h"
97#include "buffer.h"
98#include "coding.h" 98#include "coding.h"
99#include "process.h" 99#include "process.h"
100#include "frame.h" 100#include "frame.h"
diff --git a/src/regex.c b/src/regex.c
index 0dd3a187898..7ef53c606c9 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -130,13 +130,13 @@
130 130
131# include <setjmp.h> 131# include <setjmp.h>
132# include "lisp.h" 132# include "lisp.h"
133# include "character.h"
133# include "buffer.h" 134# include "buffer.h"
134 135
135/* Make syntax table lookup grant data in gl_state. */ 136/* Make syntax table lookup grant data in gl_state. */
136# define SYNTAX_ENTRY_VIA_PROPERTY 137# define SYNTAX_ENTRY_VIA_PROPERTY
137 138
138# include "syntax.h" 139# include "syntax.h"
139# include "character.h"
140# include "category.h" 140# include "category.h"
141 141
142# ifdef malloc 142# ifdef malloc
diff --git a/src/region-cache.c b/src/region-cache.c
index 9f4e5921877..2642e824680 100644
--- a/src/region-cache.c
+++ b/src/region-cache.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include <setjmp.h> 24#include <setjmp.h>
25 25
26#include "lisp.h" 26#include "lisp.h"
27#include "character.h"
27#include "buffer.h" 28#include "buffer.h"
28#include "region-cache.h" 29#include "region-cache.h"
29 30
diff --git a/src/search.c b/src/search.c
index 99519b839ef..71ab60d9f85 100644
--- a/src/search.c
+++ b/src/search.c
@@ -24,8 +24,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include "lisp.h" 24#include "lisp.h"
25#include "syntax.h" 25#include "syntax.h"
26#include "category.h" 26#include "category.h"
27#include "buffer.h"
28#include "character.h" 27#include "character.h"
28#include "buffer.h"
29#include "charset.h" 29#include "charset.h"
30#include "region-cache.h" 30#include "region-cache.h"
31#include "commands.h" 31#include "commands.h"
diff --git a/src/syntax.c b/src/syntax.c
index 71da13e7a66..0518a47f92d 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -25,8 +25,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25#include <setjmp.h> 25#include <setjmp.h>
26#include "lisp.h" 26#include "lisp.h"
27#include "commands.h" 27#include "commands.h"
28#include "buffer.h"
29#include "character.h" 28#include "character.h"
29#include "buffer.h"
30#include "keymap.h" 30#include "keymap.h"
31#include "regex.h" 31#include "regex.h"
32 32
diff --git a/src/term.c b/src/term.c
index 8ce2efc0929..3a41552c02e 100644
--- a/src/term.c
+++ b/src/term.c
@@ -32,8 +32,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32#include "termchar.h" 32#include "termchar.h"
33#include "termopts.h" 33#include "termopts.h"
34#include "tparam.h" 34#include "tparam.h"
35#include "buffer.h"
36#include "character.h" 35#include "character.h"
36#include "buffer.h"
37#include "charset.h" 37#include "charset.h"
38#include "coding.h" 38#include "coding.h"
39#include "composite.h" 39#include "composite.h"
diff --git a/src/textprop.c b/src/textprop.c
index 83d07c56f28..afeb0339d5c 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20#include <setjmp.h> 20#include <setjmp.h>
21#include "lisp.h" 21#include "lisp.h"
22#include "intervals.h" 22#include "intervals.h"
23#include "character.h"
23#include "buffer.h" 24#include "buffer.h"
24#include "window.h" 25#include "window.h"
25 26
diff --git a/src/undo.c b/src/undo.c
index 9b763984d7f..1cb048690ba 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20#include <config.h> 20#include <config.h>
21#include <setjmp.h> 21#include <setjmp.h>
22#include "lisp.h" 22#include "lisp.h"
23#include "character.h"
23#include "buffer.h" 24#include "buffer.h"
24#include "commands.h" 25#include "commands.h"
25#include "window.h" 26#include "window.h"
diff --git a/src/unexsol.c b/src/unexsol.c
index ef1e34e6f0f..336f3b4faea 100644
--- a/src/unexsol.c
+++ b/src/unexsol.c
@@ -7,6 +7,7 @@
7#include <setjmp.h> 7#include <setjmp.h>
8 8
9#include "lisp.h" 9#include "lisp.h"
10#include "character.h"
10#include "buffer.h" 11#include "buffer.h"
11#include "charset.h" 12#include "charset.h"
12#include "coding.h" 13#include "coding.h"
diff --git a/src/w16select.c b/src/w16select.c
index 03f63bedf0d..270118358b4 100644
--- a/src/w16select.c
+++ b/src/w16select.c
@@ -36,8 +36,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
36#include "dispextern.h" /* frame.h seems to want this */ 36#include "dispextern.h" /* frame.h seems to want this */
37#include "frame.h" /* Need this to get the X window of selected_frame */ 37#include "frame.h" /* Need this to get the X window of selected_frame */
38#include "blockinput.h" 38#include "blockinput.h"
39#include "buffer.h"
40#include "character.h" 39#include "character.h"
40#include "buffer.h"
41#include "coding.h" 41#include "coding.h"
42#include "composite.h" 42#include "composite.h"
43 43
diff --git a/src/w32fns.c b/src/w32fns.c
index a8becea1b74..915114138d8 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -32,13 +32,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32#include "w32term.h" 32#include "w32term.h"
33#include "frame.h" 33#include "frame.h"
34#include "window.h" 34#include "window.h"
35#include "character.h"
35#include "buffer.h" 36#include "buffer.h"
36#include "intervals.h" 37#include "intervals.h"
37#include "dispextern.h" 38#include "dispextern.h"
38#include "keyboard.h" 39#include "keyboard.h"
39#include "blockinput.h" 40#include "blockinput.h"
40#include "epaths.h" 41#include "epaths.h"
41#include "character.h"
42#include "charset.h" 42#include "charset.h"
43#include "coding.h" 43#include "coding.h"
44#include "ccl.h" 44#include "ccl.h"
diff --git a/src/w32menu.c b/src/w32menu.c
index f5f5c6656c4..b957da67567 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31#include "termhooks.h" 31#include "termhooks.h"
32#include "window.h" 32#include "window.h"
33#include "blockinput.h" 33#include "blockinput.h"
34#include "character.h"
34#include "buffer.h" 35#include "buffer.h"
35#include "charset.h" 36#include "charset.h"
36#include "coding.h" 37#include "coding.h"
diff --git a/src/window.c b/src/window.c
index a3461cef90f..8cdfff04fba 100644
--- a/src/window.c
+++ b/src/window.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <setjmp.h> 23#include <setjmp.h>
24 24
25#include "lisp.h" 25#include "lisp.h"
26#include "character.h"
26#include "buffer.h" 27#include "buffer.h"
27#include "keyboard.h" 28#include "keyboard.h"
28#include "keymap.h" 29#include "keymap.h"
diff --git a/src/xdisp.c b/src/xdisp.c
index 04baeea9706..cd5f03d34ad 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -281,8 +281,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
281#include "window.h" 281#include "window.h"
282#include "termchar.h" 282#include "termchar.h"
283#include "dispextern.h" 283#include "dispextern.h"
284#include "buffer.h"
285#include "character.h" 284#include "character.h"
285#include "buffer.h"
286#include "charset.h" 286#include "charset.h"
287#include "indent.h" 287#include "indent.h"
288#include "commands.h" 288#include "commands.h"
diff --git a/src/xfns.c b/src/xfns.c
index 43ccdfaef1a..d49f0ea1458 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -32,13 +32,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32#include "xterm.h" 32#include "xterm.h"
33#include "frame.h" 33#include "frame.h"
34#include "window.h" 34#include "window.h"
35#include "character.h"
35#include "buffer.h" 36#include "buffer.h"
36#include "intervals.h" 37#include "intervals.h"
37#include "dispextern.h" 38#include "dispextern.h"
38#include "keyboard.h" 39#include "keyboard.h"
39#include "blockinput.h" 40#include "blockinput.h"
40#include <epaths.h> 41#include <epaths.h>
41#include "character.h"
42#include "charset.h" 42#include "charset.h"
43#include "coding.h" 43#include "coding.h"
44#include "fontset.h" 44#include "fontset.h"
diff --git a/src/xmenu.c b/src/xmenu.c
index 79ead5f598c..dc98b980278 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -47,6 +47,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
47#include "termhooks.h" 47#include "termhooks.h"
48#include "window.h" 48#include "window.h"
49#include "blockinput.h" 49#include "blockinput.h"
50#include "character.h"
50#include "buffer.h" 51#include "buffer.h"
51#include "charset.h" 52#include "charset.h"
52#include "coding.h" 53#include "coding.h"
diff --git a/src/xml.c b/src/xml.c
index e462a1adf57..7bc6130b8b1 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#include <libxml/HTMLparser.h> 26#include <libxml/HTMLparser.h>
27 27
28#include "lisp.h" 28#include "lisp.h"
29#include "character.h"
29#include "buffer.h" 30#include "buffer.h"
30 31
31 32
diff --git a/src/xselect.c b/src/xselect.c
index 48baeb32581..f1eda5d7c85 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -35,11 +35,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
35#include "dispextern.h" /* frame.h seems to want this */ 35#include "dispextern.h" /* frame.h seems to want this */
36#include "frame.h" /* Need this to get the X window of selected_frame */ 36#include "frame.h" /* Need this to get the X window of selected_frame */
37#include "blockinput.h" 37#include "blockinput.h"
38#include "character.h"
38#include "buffer.h" 39#include "buffer.h"
39#include "process.h" 40#include "process.h"
40#include "termhooks.h" 41#include "termhooks.h"
41#include "keyboard.h" 42#include "keyboard.h"
42#include "character.h"
43 43
44#include <X11/Xproto.h> 44#include <X11/Xproto.h>
45 45