aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog85
-rw-r--r--src/ccl.c2
-rw-r--r--src/coding.c95
-rw-r--r--src/coding.h2
-rw-r--r--src/editfns.c2
-rw-r--r--src/fileio.c2
-rw-r--r--src/ftfont.c4
-rw-r--r--src/keyboard.c223
-rw-r--r--src/lisp.h8
-rw-r--r--src/print.c23
-rw-r--r--src/process.c245
-rw-r--r--src/search.c28
-rw-r--r--src/term.c3
-rw-r--r--src/window.c3
-rw-r--r--src/xdisp.c22
-rw-r--r--src/xmenu.c34
-rw-r--r--src/xml.c2
-rw-r--r--src/xselect.c76
-rw-r--r--src/xterm.c7
19 files changed, 302 insertions, 564 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 68f3dbdedcb..cd1b74b75f1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
12011-04-08 Paul Eggert <eggert@cs.ucla.edu> 12011-04-09 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 * eval.c: Port to Windows vsnprintf (Bug#8435). 3 * eval.c: Port to Windows vsnprintf (Bug#8435).
4 Include <limits.h>. 4 Include <limits.h>.
@@ -9,8 +9,6 @@
9 Also, simplify the allocation scheme, by avoiding the need for 9 Also, simplify the allocation scheme, by avoiding the need for
10 calling realloc, and removing the ALLOCATED variable. 10 calling realloc, and removing the ALLOCATED variable.
11 11
122011-04-07 Paul Eggert <eggert@cs.ucla.edu>
13
14 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes. 12 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
15 13
16 Remove the doprnt implementation, as Emacs now uses vsnprintf. 14 Remove the doprnt implementation, as Emacs now uses vsnprintf.
@@ -45,8 +43,6 @@
45 43
46 * keyboard.c (access_keymap_keyremap): Print func name, not garbage. 44 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
47 45
482011-04-06 Paul Eggert <eggert@cs.ucla.edu>
49
50 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int. 46 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
51 47
52 * xterm.c (x_catch_errors): Remove duplicate declaration. 48 * xterm.c (x_catch_errors): Remove duplicate declaration.
@@ -55,6 +51,85 @@
55 51
56 * xdisp.c, lisp.h (message_nolog): Remove; unused. 52 * xdisp.c, lisp.h (message_nolog): Remove; unused.
57 53
542011-04-09 Chong Yidong <cyd@stupidchicken.com>
55
56 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
57 unsigned char, to match FcChar8 type definition.
58
59 * xterm.c (handle_one_xevent):
60 * xmenu.c (create_and_show_popup_menu):
61 * xselect.c (x_decline_selection_request)
62 (x_reply_selection_request): Avoid type-punned deref of X events.
63
642011-04-09 Eli Zaretskii <eliz@emacstest.gnu.org>
65
66 Fix some uses of `int' instead of EMACS_INT.
67 * search.c (string_match_1, fast_string_match)
68 (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
69 (scan_buffer, find_next_newline_no_quit)
70 (find_before_next_newline, search_command, Freplace_match)
71 (Fmatch_data): Make some `int' variables be EMACS_INT.
72
73 * xdisp.c (display_count_lines): 3rd argument and return value now
74 EMACS_INT. All callers changed.
75 (pint2hrstr): Last argument is now EMACS_INT.
76
77 * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
78 (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
79 (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
80 (decode_coding_utf_16, decode_coding_emacs_mule)
81 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
82 (decode_coding_ccl, decode_coding_charset)
83 <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
84 (decode_coding_iso_2022, decode_coding_emacs_mule)
85 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
86 <char_offset, last_offset>: Declare EMACS_INT.
87 (encode_coding_utf_8, encode_coding_utf_16)
88 (encode_coding_emacs_mule, encode_invocation_designation)
89 (encode_designation_at_bol, encode_coding_iso_2022)
90 (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
91 (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
92 Declare EMACS_INT.
93 (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
94 (encode_invocation_designation): Last argument P_NCHARS is now
95 EMACS_INT.
96 (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
97 (produce_chars): from_nchars and to_nchars are now EMACS_INT.
98
99 * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
100 All users changed.
101
102 * ccl.c (Fccl_execute_on_string): Declare some variables
103 EMACS_INT.
104
1052011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
106
107 * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
108
1092011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
110
111 * process.c (Fformat_network_address): Doc fix.
112
1132011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
114
115 * xml.c (parse_region): Avoid creating spurious whiespace nodes.
116
1172011-04-08 Chong Yidong <cyd@stupidchicken.com>
118
119 * keyboard.c (read_char): Call Lisp function help-form-show,
120 instead of using internal_with_output_to_temp_buffer.
121 (Qhelp_form_show): New var.
122 (syms_of_keyboard): Use DEFSYM macro.
123
124 * print.c (internal_with_output_to_temp_buffer): Function deleted.
125
126 * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
127
1282011-04-06 Chong Yidong <cyd@stupidchicken.com>
129
130 * process.c (Flist_processes): Removed to Lisp.
131 (list_processes_1): Deleted.
132
582011-04-06 Eli Zaretskii <eliz@gnu.org> 1332011-04-06 Eli Zaretskii <eliz@gnu.org>
59 134
60 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements. 135 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
diff --git a/src/ccl.c b/src/ccl.c
index 5428e94c69a..39b9bc32f09 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -2049,7 +2049,7 @@ usage: (ccl-execute-on-string CCL-PROGRAM STATUS STRING &optional CONTINUE UNIBY
2049 Lisp_Object val; 2049 Lisp_Object val;
2050 struct ccl_program ccl; 2050 struct ccl_program ccl;
2051 int i; 2051 int i;
2052 int outbufsize; 2052 EMACS_INT outbufsize;
2053 unsigned char *outbuf, *outp; 2053 unsigned char *outbuf, *outp;
2054 EMACS_INT str_chars, str_bytes; 2054 EMACS_INT str_chars, str_bytes;
2055#define CCL_EXECUTE_BUF_SIZE 1024 2055#define CCL_EXECUTE_BUF_SIZE 1024
diff --git a/src/coding.c b/src/coding.c
index f099605c774..711ada59c85 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -159,7 +159,7 @@ detect_coding_XXX (struct coding_system *coding,
159 const unsigned char *src = coding->source; 159 const unsigned char *src = coding->source;
160 const unsigned char *src_end = coding->source + coding->src_bytes; 160 const unsigned char *src_end = coding->source + coding->src_bytes;
161 int multibytep = coding->src_multibyte; 161 int multibytep = coding->src_multibyte;
162 int consumed_chars = 0; 162 EMACS_INT consumed_chars = 0;
163 int found = 0; 163 int found = 0;
164 ...; 164 ...;
165 165
@@ -266,7 +266,7 @@ encode_coding_XXX (struct coding_system *coding)
266 unsigned char *dst = coding->destination + coding->produced; 266 unsigned char *dst = coding->destination + coding->produced;
267 unsigned char *dst_end = coding->destination + coding->dst_bytes; 267 unsigned char *dst_end = coding->destination + coding->dst_bytes;
268 unsigned char *adjusted_dst_end = dst_end - _MAX_BYTES_PRODUCED_IN_LOOP_; 268 unsigned char *adjusted_dst_end = dst_end - _MAX_BYTES_PRODUCED_IN_LOOP_;
269 int produced_chars = 0; 269 EMACS_INT produced_chars = 0;
270 270
271 for (; charbuf < charbuf_end && dst < adjusted_dst_end; charbuf++) 271 for (; charbuf < charbuf_end && dst < adjusted_dst_end; charbuf++)
272 { 272 {
@@ -943,7 +943,7 @@ record_conversion_result (struct coding_system *coding,
943 do { \ 943 do { \
944 if (dst + (bytes) >= dst_end) \ 944 if (dst + (bytes) >= dst_end) \
945 { \ 945 { \
946 int more_bytes = charbuf_end - charbuf + (bytes); \ 946 EMACS_INT more_bytes = charbuf_end - charbuf + (bytes); \
947 \ 947 \
948 dst = alloc_destination (coding, more_bytes, dst); \ 948 dst = alloc_destination (coding, more_bytes, dst); \
949 dst_end = coding->destination + coding->dst_bytes; \ 949 dst_end = coding->destination + coding->dst_bytes; \
@@ -1208,7 +1208,7 @@ detect_coding_utf_8 (struct coding_system *coding,
1208 const unsigned char *src = coding->source, *src_base; 1208 const unsigned char *src = coding->source, *src_base;
1209 const unsigned char *src_end = coding->source + coding->src_bytes; 1209 const unsigned char *src_end = coding->source + coding->src_bytes;
1210 int multibytep = coding->src_multibyte; 1210 int multibytep = coding->src_multibyte;
1211 int consumed_chars = 0; 1211 EMACS_INT consumed_chars = 0;
1212 int bom_found = 0; 1212 int bom_found = 0;
1213 int found = 0; 1213 int found = 0;
1214 1214
@@ -1293,7 +1293,7 @@ decode_coding_utf_8 (struct coding_system *coding)
1293 const unsigned char *src_base; 1293 const unsigned char *src_base;
1294 int *charbuf = coding->charbuf + coding->charbuf_used; 1294 int *charbuf = coding->charbuf + coding->charbuf_used;
1295 int *charbuf_end = coding->charbuf + coding->charbuf_size; 1295 int *charbuf_end = coding->charbuf + coding->charbuf_size;
1296 int consumed_chars = 0, consumed_chars_base = 0; 1296 EMACS_INT consumed_chars = 0, consumed_chars_base = 0;
1297 int multibytep = coding->src_multibyte; 1297 int multibytep = coding->src_multibyte;
1298 enum utf_bom_type bom = CODING_UTF_8_BOM (coding); 1298 enum utf_bom_type bom = CODING_UTF_8_BOM (coding);
1299 int eol_dos = 1299 int eol_dos =
@@ -1444,7 +1444,7 @@ encode_coding_utf_8 (struct coding_system *coding)
1444 int *charbuf_end = charbuf + coding->charbuf_used; 1444 int *charbuf_end = charbuf + coding->charbuf_used;
1445 unsigned char *dst = coding->destination + coding->produced; 1445 unsigned char *dst = coding->destination + coding->produced;
1446 unsigned char *dst_end = coding->destination + coding->dst_bytes; 1446 unsigned char *dst_end = coding->destination + coding->dst_bytes;
1447 int produced_chars = 0; 1447 EMACS_INT produced_chars = 0;
1448 int c; 1448 int c;
1449 1449
1450 if (CODING_UTF_8_BOM (coding) == utf_with_bom) 1450 if (CODING_UTF_8_BOM (coding) == utf_with_bom)
@@ -1602,7 +1602,7 @@ decode_coding_utf_16 (struct coding_system *coding)
1602 int *charbuf = coding->charbuf + coding->charbuf_used; 1602 int *charbuf = coding->charbuf + coding->charbuf_used;
1603 /* We may produces at most 3 chars in one loop. */ 1603 /* We may produces at most 3 chars in one loop. */
1604 int *charbuf_end = coding->charbuf + coding->charbuf_size - 2; 1604 int *charbuf_end = coding->charbuf + coding->charbuf_size - 2;
1605 int consumed_chars = 0, consumed_chars_base = 0; 1605 EMACS_INT consumed_chars = 0, consumed_chars_base = 0;
1606 int multibytep = coding->src_multibyte; 1606 int multibytep = coding->src_multibyte;
1607 enum utf_bom_type bom = CODING_UTF_16_BOM (coding); 1607 enum utf_bom_type bom = CODING_UTF_16_BOM (coding);
1608 enum utf_16_endian_type endian = CODING_UTF_16_ENDIAN (coding); 1608 enum utf_16_endian_type endian = CODING_UTF_16_ENDIAN (coding);
@@ -1729,7 +1729,7 @@ encode_coding_utf_16 (struct coding_system *coding)
1729 int safe_room = 8; 1729 int safe_room = 8;
1730 enum utf_bom_type bom = CODING_UTF_16_BOM (coding); 1730 enum utf_bom_type bom = CODING_UTF_16_BOM (coding);
1731 int big_endian = CODING_UTF_16_ENDIAN (coding) == utf_16_big_endian; 1731 int big_endian = CODING_UTF_16_ENDIAN (coding) == utf_16_big_endian;
1732 int produced_chars = 0; 1732 EMACS_INT produced_chars = 0;
1733 int c; 1733 int c;
1734 1734
1735 if (bom != utf_without_bom) 1735 if (bom != utf_without_bom)
@@ -1863,7 +1863,7 @@ detect_coding_emacs_mule (struct coding_system *coding,
1863 const unsigned char *src = coding->source, *src_base; 1863 const unsigned char *src = coding->source, *src_base;
1864 const unsigned char *src_end = coding->source + coding->src_bytes; 1864 const unsigned char *src_end = coding->source + coding->src_bytes;
1865 int multibytep = coding->src_multibyte; 1865 int multibytep = coding->src_multibyte;
1866 int consumed_chars = 0; 1866 EMACS_INT consumed_chars = 0;
1867 int c; 1867 int c;
1868 int found = 0; 1868 int found = 0;
1869 1869
@@ -2331,10 +2331,10 @@ decode_coding_emacs_mule (struct coding_system *coding)
2331 loop and one more charset annotation at the end. */ 2331 loop and one more charset annotation at the end. */
2332 int *charbuf_end 2332 int *charbuf_end
2333 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3); 2333 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3);
2334 int consumed_chars = 0, consumed_chars_base; 2334 EMACS_INT consumed_chars = 0, consumed_chars_base;
2335 int multibytep = coding->src_multibyte; 2335 int multibytep = coding->src_multibyte;
2336 int char_offset = coding->produced_char; 2336 EMACS_INT char_offset = coding->produced_char;
2337 int last_offset = char_offset; 2337 EMACS_INT last_offset = char_offset;
2338 int last_id = charset_ascii; 2338 int last_id = charset_ascii;
2339 int eol_dos = 2339 int eol_dos =
2340 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos); 2340 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos);
@@ -2585,7 +2585,7 @@ encode_coding_emacs_mule (struct coding_system *coding)
2585 unsigned char *dst = coding->destination + coding->produced; 2585 unsigned char *dst = coding->destination + coding->produced;
2586 unsigned char *dst_end = coding->destination + coding->dst_bytes; 2586 unsigned char *dst_end = coding->destination + coding->dst_bytes;
2587 int safe_room = 8; 2587 int safe_room = 8;
2588 int produced_chars = 0; 2588 EMACS_INT produced_chars = 0;
2589 Lisp_Object attrs, charset_list; 2589 Lisp_Object attrs, charset_list;
2590 int c; 2590 int c;
2591 int preferred_charset_id = -1; 2591 int preferred_charset_id = -1;
@@ -2943,7 +2943,7 @@ detect_coding_iso_2022 (struct coding_system *coding,
2943 int single_shifting = 0; 2943 int single_shifting = 0;
2944 int id; 2944 int id;
2945 int c, c1; 2945 int c, c1;
2946 int consumed_chars = 0; 2946 EMACS_INT consumed_chars = 0;
2947 int i; 2947 int i;
2948 int rejected = 0; 2948 int rejected = 0;
2949 int found = 0; 2949 int found = 0;
@@ -3453,7 +3453,7 @@ decode_coding_iso_2022 (struct coding_system *coding)
3453 loop and one more charset annotation at the end. */ 3453 loop and one more charset annotation at the end. */
3454 int *charbuf_end 3454 int *charbuf_end
3455 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3); 3455 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3);
3456 int consumed_chars = 0, consumed_chars_base; 3456 EMACS_INT consumed_chars = 0, consumed_chars_base;
3457 int multibytep = coding->src_multibyte; 3457 int multibytep = coding->src_multibyte;
3458 /* Charsets invoked to graphic plane 0 and 1 respectively. */ 3458 /* Charsets invoked to graphic plane 0 and 1 respectively. */
3459 int charset_id_0 = CODING_ISO_INVOKED_CHARSET (coding, 0); 3459 int charset_id_0 = CODING_ISO_INVOKED_CHARSET (coding, 0);
@@ -3463,8 +3463,8 @@ decode_coding_iso_2022 (struct coding_system *coding)
3463 int c; 3463 int c;
3464 struct composition_status *cmp_status = CODING_ISO_CMP_STATUS (coding); 3464 struct composition_status *cmp_status = CODING_ISO_CMP_STATUS (coding);
3465 Lisp_Object attrs = CODING_ID_ATTRS (coding->id); 3465 Lisp_Object attrs = CODING_ID_ATTRS (coding->id);
3466 int char_offset = coding->produced_char; 3466 EMACS_INT char_offset = coding->produced_char;
3467 int last_offset = char_offset; 3467 EMACS_INT last_offset = char_offset;
3468 int last_id = charset_ascii; 3468 int last_id = charset_ascii;
3469 int eol_dos = 3469 int eol_dos =
3470 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos); 3470 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos);
@@ -4190,10 +4190,10 @@ decode_coding_iso_2022 (struct coding_system *coding)
4190static unsigned char * 4190static unsigned char *
4191encode_invocation_designation (struct charset *charset, 4191encode_invocation_designation (struct charset *charset,
4192 struct coding_system *coding, 4192 struct coding_system *coding,
4193 unsigned char *dst, int *p_nchars) 4193 unsigned char *dst, EMACS_INT *p_nchars)
4194{ 4194{
4195 int multibytep = coding->dst_multibyte; 4195 int multibytep = coding->dst_multibyte;
4196 int produced_chars = *p_nchars; 4196 EMACS_INT produced_chars = *p_nchars;
4197 int reg; /* graphic register number */ 4197 int reg; /* graphic register number */
4198 int id = CHARSET_ID (charset); 4198 int id = CHARSET_ID (charset);
4199 4199
@@ -4285,7 +4285,7 @@ encode_designation_at_bol (struct coding_system *coding, int *charbuf,
4285 /* Table of charsets to be designated to each graphic register. */ 4285 /* Table of charsets to be designated to each graphic register. */
4286 int r[4]; 4286 int r[4];
4287 int c, found = 0, reg; 4287 int c, found = 0, reg;
4288 int produced_chars = 0; 4288 EMACS_INT produced_chars = 0;
4289 int multibytep = coding->dst_multibyte; 4289 int multibytep = coding->dst_multibyte;
4290 Lisp_Object attrs; 4290 Lisp_Object attrs;
4291 Lisp_Object charset_list; 4291 Lisp_Object charset_list;
@@ -4340,7 +4340,7 @@ encode_coding_iso_2022 (struct coding_system *coding)
4340 int bol_designation 4340 int bol_designation
4341 = (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_DESIGNATE_AT_BOL 4341 = (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_DESIGNATE_AT_BOL
4342 && CODING_ISO_BOL (coding)); 4342 && CODING_ISO_BOL (coding));
4343 int produced_chars = 0; 4343 EMACS_INT produced_chars = 0;
4344 Lisp_Object attrs, eol_type, charset_list; 4344 Lisp_Object attrs, eol_type, charset_list;
4345 int ascii_compatible; 4345 int ascii_compatible;
4346 int c; 4346 int c;
@@ -4528,7 +4528,7 @@ detect_coding_sjis (struct coding_system *coding,
4528 const unsigned char *src = coding->source, *src_base; 4528 const unsigned char *src = coding->source, *src_base;
4529 const unsigned char *src_end = coding->source + coding->src_bytes; 4529 const unsigned char *src_end = coding->source + coding->src_bytes;
4530 int multibytep = coding->src_multibyte; 4530 int multibytep = coding->src_multibyte;
4531 int consumed_chars = 0; 4531 EMACS_INT consumed_chars = 0;
4532 int found = 0; 4532 int found = 0;
4533 int c; 4533 int c;
4534 Lisp_Object attrs, charset_list; 4534 Lisp_Object attrs, charset_list;
@@ -4585,7 +4585,7 @@ detect_coding_big5 (struct coding_system *coding,
4585 const unsigned char *src = coding->source, *src_base; 4585 const unsigned char *src = coding->source, *src_base;
4586 const unsigned char *src_end = coding->source + coding->src_bytes; 4586 const unsigned char *src_end = coding->source + coding->src_bytes;
4587 int multibytep = coding->src_multibyte; 4587 int multibytep = coding->src_multibyte;
4588 int consumed_chars = 0; 4588 EMACS_INT consumed_chars = 0;
4589 int found = 0; 4589 int found = 0;
4590 int c; 4590 int c;
4591 4591
@@ -4636,13 +4636,13 @@ decode_coding_sjis (struct coding_system *coding)
4636 the end. */ 4636 the end. */
4637 int *charbuf_end 4637 int *charbuf_end
4638 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 4638 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
4639 int consumed_chars = 0, consumed_chars_base; 4639 EMACS_INT consumed_chars = 0, consumed_chars_base;
4640 int multibytep = coding->src_multibyte; 4640 int multibytep = coding->src_multibyte;
4641 struct charset *charset_roman, *charset_kanji, *charset_kana; 4641 struct charset *charset_roman, *charset_kanji, *charset_kana;
4642 struct charset *charset_kanji2; 4642 struct charset *charset_kanji2;
4643 Lisp_Object attrs, charset_list, val; 4643 Lisp_Object attrs, charset_list, val;
4644 int char_offset = coding->produced_char; 4644 EMACS_INT char_offset = coding->produced_char;
4645 int last_offset = char_offset; 4645 EMACS_INT last_offset = char_offset;
4646 int last_id = charset_ascii; 4646 int last_id = charset_ascii;
4647 int eol_dos = 4647 int eol_dos =
4648 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos); 4648 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos);
@@ -4754,12 +4754,12 @@ decode_coding_big5 (struct coding_system *coding)
4754 the end. */ 4754 the end. */
4755 int *charbuf_end 4755 int *charbuf_end
4756 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 4756 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
4757 int consumed_chars = 0, consumed_chars_base; 4757 EMACS_INT consumed_chars = 0, consumed_chars_base;
4758 int multibytep = coding->src_multibyte; 4758 int multibytep = coding->src_multibyte;
4759 struct charset *charset_roman, *charset_big5; 4759 struct charset *charset_roman, *charset_big5;
4760 Lisp_Object attrs, charset_list, val; 4760 Lisp_Object attrs, charset_list, val;
4761 int char_offset = coding->produced_char; 4761 EMACS_INT char_offset = coding->produced_char;
4762 int last_offset = char_offset; 4762 EMACS_INT last_offset = char_offset;
4763 int last_id = charset_ascii; 4763 int last_id = charset_ascii;
4764 int eol_dos = 4764 int eol_dos =
4765 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos); 4765 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos);
@@ -4856,7 +4856,7 @@ encode_coding_sjis (struct coding_system *coding)
4856 unsigned char *dst = coding->destination + coding->produced; 4856 unsigned char *dst = coding->destination + coding->produced;
4857 unsigned char *dst_end = coding->destination + coding->dst_bytes; 4857 unsigned char *dst_end = coding->destination + coding->dst_bytes;
4858 int safe_room = 4; 4858 int safe_room = 4;
4859 int produced_chars = 0; 4859 EMACS_INT produced_chars = 0;
4860 Lisp_Object attrs, charset_list, val; 4860 Lisp_Object attrs, charset_list, val;
4861 int ascii_compatible; 4861 int ascii_compatible;
4862 struct charset *charset_kanji, *charset_kana; 4862 struct charset *charset_kanji, *charset_kana;
@@ -4947,7 +4947,7 @@ encode_coding_big5 (struct coding_system *coding)
4947 unsigned char *dst = coding->destination + coding->produced; 4947 unsigned char *dst = coding->destination + coding->produced;
4948 unsigned char *dst_end = coding->destination + coding->dst_bytes; 4948 unsigned char *dst_end = coding->destination + coding->dst_bytes;
4949 int safe_room = 4; 4949 int safe_room = 4;
4950 int produced_chars = 0; 4950 EMACS_INT produced_chars = 0;
4951 Lisp_Object attrs, charset_list, val; 4951 Lisp_Object attrs, charset_list, val;
4952 int ascii_compatible; 4952 int ascii_compatible;
4953 struct charset *charset_big5; 4953 struct charset *charset_big5;
@@ -5022,10 +5022,10 @@ detect_coding_ccl (struct coding_system *coding,
5022 const unsigned char *src = coding->source, *src_base; 5022 const unsigned char *src = coding->source, *src_base;
5023 const unsigned char *src_end = coding->source + coding->src_bytes; 5023 const unsigned char *src_end = coding->source + coding->src_bytes;
5024 int multibytep = coding->src_multibyte; 5024 int multibytep = coding->src_multibyte;
5025 int consumed_chars = 0; 5025 EMACS_INT consumed_chars = 0;
5026 int found = 0; 5026 int found = 0;
5027 unsigned char *valids; 5027 unsigned char *valids;
5028 int head_ascii = coding->head_ascii; 5028 EMACS_INT head_ascii = coding->head_ascii;
5029 Lisp_Object attrs; 5029 Lisp_Object attrs;
5030 5030
5031 detect_info->checked |= CATEGORY_MASK_CCL; 5031 detect_info->checked |= CATEGORY_MASK_CCL;
@@ -5062,7 +5062,7 @@ decode_coding_ccl (struct coding_system *coding)
5062 const unsigned char *src_end = coding->source + coding->src_bytes; 5062 const unsigned char *src_end = coding->source + coding->src_bytes;
5063 int *charbuf = coding->charbuf + coding->charbuf_used; 5063 int *charbuf = coding->charbuf + coding->charbuf_used;
5064 int *charbuf_end = coding->charbuf + coding->charbuf_size; 5064 int *charbuf_end = coding->charbuf + coding->charbuf_size;
5065 int consumed_chars = 0; 5065 EMACS_INT consumed_chars = 0;
5066 int multibytep = coding->src_multibyte; 5066 int multibytep = coding->src_multibyte;
5067 struct ccl_program *ccl = &coding->spec.ccl->ccl; 5067 struct ccl_program *ccl = &coding->spec.ccl->ccl;
5068 int source_charbuf[1024]; 5068 int source_charbuf[1024];
@@ -5134,7 +5134,8 @@ encode_coding_ccl (struct coding_system *coding)
5134 unsigned char *dst = coding->destination + coding->produced; 5134 unsigned char *dst = coding->destination + coding->produced;
5135 unsigned char *dst_end = coding->destination + coding->dst_bytes; 5135 unsigned char *dst_end = coding->destination + coding->dst_bytes;
5136 int destination_charbuf[1024]; 5136 int destination_charbuf[1024];
5137 int i, produced_chars = 0; 5137 EMACS_INT produced_chars = 0;
5138 int i;
5138 Lisp_Object attrs, charset_list; 5139 Lisp_Object attrs, charset_list;
5139 5140
5140 CODING_GET_INFO (coding, attrs, charset_list); 5141 CODING_GET_INFO (coding, attrs, charset_list);
@@ -5220,7 +5221,7 @@ encode_coding_raw_text (struct coding_system *coding)
5220 int *charbuf_end = coding->charbuf + coding->charbuf_used; 5221 int *charbuf_end = coding->charbuf + coding->charbuf_used;
5221 unsigned char *dst = coding->destination + coding->produced; 5222 unsigned char *dst = coding->destination + coding->produced;
5222 unsigned char *dst_end = coding->destination + coding->dst_bytes; 5223 unsigned char *dst_end = coding->destination + coding->dst_bytes;
5223 int produced_chars = 0; 5224 EMACS_INT produced_chars = 0;
5224 int c; 5225 int c;
5225 5226
5226 if (multibytep) 5227 if (multibytep)
@@ -5303,10 +5304,10 @@ detect_coding_charset (struct coding_system *coding,
5303 const unsigned char *src = coding->source, *src_base; 5304 const unsigned char *src = coding->source, *src_base;
5304 const unsigned char *src_end = coding->source + coding->src_bytes; 5305 const unsigned char *src_end = coding->source + coding->src_bytes;
5305 int multibytep = coding->src_multibyte; 5306 int multibytep = coding->src_multibyte;
5306 int consumed_chars = 0; 5307 EMACS_INT consumed_chars = 0;
5307 Lisp_Object attrs, valids, name; 5308 Lisp_Object attrs, valids, name;
5308 int found = 0; 5309 int found = 0;
5309 int head_ascii = coding->head_ascii; 5310 EMACS_INT head_ascii = coding->head_ascii;
5310 int check_latin_extra = 0; 5311 int check_latin_extra = 0;
5311 5312
5312 detect_info->checked |= CATEGORY_MASK_CHARSET; 5313 detect_info->checked |= CATEGORY_MASK_CHARSET;
@@ -5410,12 +5411,12 @@ decode_coding_charset (struct coding_system *coding)
5410 the end. */ 5411 the end. */
5411 int *charbuf_end 5412 int *charbuf_end
5412 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 5413 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
5413 int consumed_chars = 0, consumed_chars_base; 5414 EMACS_INT consumed_chars = 0, consumed_chars_base;
5414 int multibytep = coding->src_multibyte; 5415 int multibytep = coding->src_multibyte;
5415 Lisp_Object attrs = CODING_ID_ATTRS (coding->id); 5416 Lisp_Object attrs = CODING_ID_ATTRS (coding->id);
5416 Lisp_Object valids; 5417 Lisp_Object valids;
5417 int char_offset = coding->produced_char; 5418 EMACS_INT char_offset = coding->produced_char;
5418 int last_offset = char_offset; 5419 EMACS_INT last_offset = char_offset;
5419 int last_id = charset_ascii; 5420 int last_id = charset_ascii;
5420 int eol_dos = 5421 int eol_dos =
5421 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos); 5422 !inhibit_eol_conversion && EQ (CODING_ID_EOL_TYPE (coding->id), Qdos);
@@ -5536,7 +5537,7 @@ encode_coding_charset (struct coding_system *coding)
5536 unsigned char *dst = coding->destination + coding->produced; 5537 unsigned char *dst = coding->destination + coding->produced;
5537 unsigned char *dst_end = coding->destination + coding->dst_bytes; 5538 unsigned char *dst_end = coding->destination + coding->dst_bytes;
5538 int safe_room = MAX_MULTIBYTE_LENGTH; 5539 int safe_room = MAX_MULTIBYTE_LENGTH;
5539 int produced_chars = 0; 5540 EMACS_INT produced_chars = 0;
5540 Lisp_Object attrs, charset_list; 5541 Lisp_Object attrs, charset_list;
5541 int ascii_compatible; 5542 int ascii_compatible;
5542 int c; 5543 int c;
@@ -6444,7 +6445,7 @@ decode_eol (struct coding_system *coding)
6444 } 6445 }
6445 else if (EQ (eol_type, Qdos)) 6446 else if (EQ (eol_type, Qdos))
6446 { 6447 {
6447 int n = 0; 6448 EMACS_INT n = 0;
6448 6449
6449 if (NILP (coding->dst_object)) 6450 if (NILP (coding->dst_object))
6450 { 6451 {
@@ -6459,9 +6460,9 @@ decode_eol (struct coding_system *coding)
6459 } 6460 }
6460 else 6461 else
6461 { 6462 {
6462 int pos_byte = coding->dst_pos_byte; 6463 EMACS_INT pos_byte = coding->dst_pos_byte;
6463 int pos = coding->dst_pos; 6464 EMACS_INT pos = coding->dst_pos;
6464 int pos_end = pos + coding->produced_char - 1; 6465 EMACS_INT pos_end = pos + coding->produced_char - 1;
6465 6466
6466 while (pos < pos_end) 6467 while (pos < pos_end)
6467 { 6468 {
@@ -6646,7 +6647,7 @@ produce_chars (struct coding_system *coding, Lisp_Object translation_table,
6646 6647
6647 if (c >= 0) 6648 if (c >= 0)
6648 { 6649 {
6649 int from_nchars = 1, to_nchars = 1; 6650 EMACS_INT from_nchars = 1, to_nchars = 1;
6650 Lisp_Object trans = Qnil; 6651 Lisp_Object trans = Qnil;
6651 6652
6652 LOOKUP_TRANSLATION_TABLE (translation_table, c, trans); 6653 LOOKUP_TRANSLATION_TABLE (translation_table, c, trans);
diff --git a/src/coding.h b/src/coding.h
index 6238a708e76..8414a2fe133 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -449,7 +449,7 @@ struct coding_system
449 -1 in setup_coding_system, and updated by detect_coding. So, 449 -1 in setup_coding_system, and updated by detect_coding. So,
450 when this is equal to the byte length of the text being 450 when this is equal to the byte length of the text being
451 converted, we can skip the actual conversion process. */ 451 converted, we can skip the actual conversion process. */
452 int head_ascii; 452 EMACS_INT head_ascii;
453 453
454 /* The following members are set by encoding/decoding routine. */ 454 /* The following members are set by encoding/decoding routine. */
455 EMACS_INT produced, produced_char, consumed, consumed_char; 455 EMACS_INT produced, produced_char, consumed, consumed_char;
diff --git a/src/editfns.c b/src/editfns.c
index d0f1df694d5..cd424f277bf 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -750,7 +750,7 @@ Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. */)
750 /* It is possible that NEW_POS is not within the same field as 750 /* It is possible that NEW_POS is not within the same field as
751 OLD_POS; try to move NEW_POS so that it is. */ 751 OLD_POS; try to move NEW_POS so that it is. */
752 { 752 {
753 int shortage; 753 EMACS_INT shortage;
754 Lisp_Object field_bound; 754 Lisp_Object field_bound;
755 755
756 if (fwd) 756 if (fwd)
diff --git a/src/fileio.c b/src/fileio.c
index dec53968947..f9923c420a3 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -271,7 +271,7 @@ use the standard functions without calling themselves recursively. */)
271 if (CONSP (elt)) 271 if (CONSP (elt))
272 { 272 {
273 Lisp_Object string = XCAR (elt); 273 Lisp_Object string = XCAR (elt);
274 int match_pos; 274 EMACS_INT match_pos;
275 Lisp_Object handler = XCDR (elt); 275 Lisp_Object handler = XCDR (elt);
276 Lisp_Object operations = Qnil; 276 Lisp_Object operations = Qnil;
277 277
diff --git a/src/ftfont.c b/src/ftfont.c
index ad01149106e..06ba6d7fe25 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -160,7 +160,7 @@ static struct
160static Lisp_Object 160static Lisp_Object
161get_adstyle_property (FcPattern *p) 161get_adstyle_property (FcPattern *p)
162{ 162{
163 char *str, *end; 163 unsigned char *str, *end;
164 Lisp_Object adstyle; 164 Lisp_Object adstyle;
165 165
166 if (FcPatternGetString (p, FC_STYLE, 0, (FcChar8 **) &str) != FcResultMatch) 166 if (FcPatternGetString (p, FC_STYLE, 0, (FcChar8 **) &str) != FcResultMatch)
@@ -189,7 +189,7 @@ static Lisp_Object
189ftfont_pattern_entity (FcPattern *p, Lisp_Object extra) 189ftfont_pattern_entity (FcPattern *p, Lisp_Object extra)
190{ 190{
191 Lisp_Object key, cache, entity; 191 Lisp_Object key, cache, entity;
192 char *file, *str; 192 unsigned char *file, *str;
193 int idx; 193 int idx;
194 int numeric; 194 int numeric;
195 double dbl; 195 double dbl;
diff --git a/src/keyboard.c b/src/keyboard.c
index 7a8451d8375..e9992ceb365 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -260,6 +260,8 @@ Lisp_Object Qdeferred_action_function;
260Lisp_Object Qinput_method_exit_on_first_char; 260Lisp_Object Qinput_method_exit_on_first_char;
261Lisp_Object Qinput_method_use_echo_area; 261Lisp_Object Qinput_method_use_echo_area;
262 262
263Lisp_Object Qhelp_form_show;
264
263/* File in which we write all commands we read. */ 265/* File in which we write all commands we read. */
264FILE *dribble; 266FILE *dribble;
265 267
@@ -3095,10 +3097,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event
3095 = Fcons (Fcurrent_window_configuration (Qnil), 3097 = Fcons (Fcurrent_window_configuration (Qnil),
3096 help_form_saved_window_configs); 3098 help_form_saved_window_configs);
3097 record_unwind_protect (read_char_help_form_unwind, Qnil); 3099 record_unwind_protect (read_char_help_form_unwind, Qnil);
3098 3100 call0 (Qhelp_form_show);
3099 tem0 = Feval (Vhelp_form, Qnil);
3100 if (STRINGP (tem0))
3101 internal_with_output_to_temp_buffer ("*Help*", print_help, tem0);
3102 3101
3103 cancel_echoing (); 3102 cancel_echoing ();
3104 do 3103 do
@@ -11441,14 +11440,9 @@ syms_of_keyboard (void)
11441 staticpro (&Vlispy_mouse_stem); 11440 staticpro (&Vlispy_mouse_stem);
11442 11441
11443 /* Tool-bars. */ 11442 /* Tool-bars. */
11444 QCimage = intern_c_string (":image"); 11443 DEFSYM (QCimage, ":image");
11445 staticpro (&QCimage); 11444 DEFSYM (Qhelp_echo, "help-echo");
11446 11445 DEFSYM (Qrtl, ":rtl");
11447 staticpro (&Qhelp_echo);
11448 Qhelp_echo = intern_c_string ("help-echo");
11449
11450 staticpro (&Qrtl);
11451 Qrtl = intern_c_string (":rtl");
11452 11446
11453 staticpro (&item_properties); 11447 staticpro (&item_properties);
11454 item_properties = Qnil; 11448 item_properties = Qnil;
@@ -11461,147 +11455,81 @@ syms_of_keyboard (void)
11461 staticpro (&real_this_command); 11455 staticpro (&real_this_command);
11462 real_this_command = Qnil; 11456 real_this_command = Qnil;
11463 11457
11464 Qtimer_event_handler = intern_c_string ("timer-event-handler"); 11458 DEFSYM (Qtimer_event_handler, "timer-event-handler");
11465 staticpro (&Qtimer_event_handler); 11459 DEFSYM (Qdisabled_command_function, "disabled-command-function");
11460 DEFSYM (Qself_insert_command, "self-insert-command");
11461 DEFSYM (Qforward_char, "forward-char");
11462 DEFSYM (Qbackward_char, "backward-char");
11463 DEFSYM (Qdisabled, "disabled");
11464 DEFSYM (Qundefined, "undefined");
11465 DEFSYM (Qpre_command_hook, "pre-command-hook");
11466 DEFSYM (Qpost_command_hook, "post-command-hook");
11467 DEFSYM (Qdeferred_action_function, "deferred-action-function");
11468 DEFSYM (Qfunction_key, "function-key");
11469 DEFSYM (Qmouse_click, "mouse-click");
11470 DEFSYM (Qdrag_n_drop, "drag-n-drop");
11471 DEFSYM (Qsave_session, "save-session");
11472 DEFSYM (Qconfig_changed_event, "config-changed-event");
11473 DEFSYM (Qmenu_enable, "menu-enable");
11466 11474
11467 Qdisabled_command_function = intern_c_string ("disabled-command-function"); 11475#if defined (WINDOWSNT)
11468 staticpro (&Qdisabled_command_function); 11476 DEFSYM (Qlanguage_change, "language-change");
11469 11477#endif
11470 Qself_insert_command = intern_c_string ("self-insert-command");
11471 staticpro (&Qself_insert_command);
11472
11473 Qforward_char = intern_c_string ("forward-char");
11474 staticpro (&Qforward_char);
11475
11476 Qbackward_char = intern_c_string ("backward-char");
11477 staticpro (&Qbackward_char);
11478 11478
11479 Qdisabled = intern_c_string ("disabled"); 11479#ifdef HAVE_DBUS
11480 staticpro (&Qdisabled); 11480 DEFSYM (Qdbus_event, "dbus-event");
11481#endif
11482
11483 DEFSYM (QCenable, ":enable");
11484 DEFSYM (QCvisible, ":visible");
11485 DEFSYM (QChelp, ":help");
11486 DEFSYM (QCfilter, ":filter");
11487 DEFSYM (QCbutton, ":button");
11488 DEFSYM (QCkeys, ":keys");
11489 DEFSYM (QCkey_sequence, ":key-sequence");
11490 DEFSYM (QCtoggle, ":toggle");
11491 DEFSYM (QCradio, ":radio");
11492 DEFSYM (QClabel, ":label");
11493 DEFSYM (QCvert_only, ":vert-only");
11494
11495 DEFSYM (Qmode_line, "mode-line");
11496 DEFSYM (Qvertical_line, "vertical-line");
11497 DEFSYM (Qvertical_scroll_bar, "vertical-scroll-bar");
11498 DEFSYM (Qmenu_bar, "menu-bar");
11481 11499
11482 Qundefined = intern_c_string ("undefined"); 11500#if defined (HAVE_MOUSE) || defined (HAVE_GPM)
11483 staticpro (&Qundefined); 11501 DEFSYM (Qmouse_fixup_help_message, "mouse-fixup-help-message");
11502#endif
11484 11503
11485 Qpre_command_hook = intern_c_string ("pre-command-hook"); 11504 DEFSYM (Qabove_handle, "above-handle");
11486 staticpro (&Qpre_command_hook); 11505 DEFSYM (Qhandle, "handle");
11506 DEFSYM (Qbelow_handle, "below-handle");
11507 DEFSYM (Qup, "up");
11508 DEFSYM (Qdown, "down");
11509 DEFSYM (Qtop, "top");
11510 DEFSYM (Qbottom, "bottom");
11511 DEFSYM (Qend_scroll, "end-scroll");
11512 DEFSYM (Qratio, "ratio");
11487 11513
11488 Qpost_command_hook = intern_c_string ("post-command-hook"); 11514 DEFSYM (Qevent_kind, "event-kind");
11489 staticpro (&Qpost_command_hook); 11515 DEFSYM (Qevent_symbol_elements, "event-symbol-elements");
11516 DEFSYM (Qevent_symbol_element_mask, "event-symbol-element-mask");
11517 DEFSYM (Qmodifier_cache, "modifier-cache");
11490 11518
11491 Qdeferred_action_function = intern_c_string ("deferred-action-function"); 11519 DEFSYM (Qrecompute_lucid_menubar, "recompute-lucid-menubar");
11492 staticpro (&Qdeferred_action_function); 11520 DEFSYM (Qactivate_menubar_hook, "activate-menubar-hook");
11493 11521
11494 Qfunction_key = intern_c_string ("function-key"); 11522 DEFSYM (Qpolling_period, "polling-period");
11495 staticpro (&Qfunction_key);
11496 Qmouse_click = intern_c_string ("mouse-click");
11497 staticpro (&Qmouse_click);
11498#if defined (WINDOWSNT)
11499 Qlanguage_change = intern_c_string ("language-change");
11500 staticpro (&Qlanguage_change);
11501#endif
11502 Qdrag_n_drop = intern_c_string ("drag-n-drop");
11503 staticpro (&Qdrag_n_drop);
11504 11523
11505 Qsave_session = intern_c_string ("save-session"); 11524 DEFSYM (Qx_set_selection, "x-set-selection");
11506 staticpro (&Qsave_session); 11525 DEFSYM (QPRIMARY, "PRIMARY");
11526 DEFSYM (Qhandle_switch_frame, "handle-switch-frame");
11507 11527
11508#ifdef HAVE_DBUS 11528 DEFSYM (Qinput_method_function, "input-method-function");
11509 Qdbus_event = intern_c_string ("dbus-event"); 11529 DEFSYM (Qinput_method_exit_on_first_char, "input-method-exit-on-first-char");
11510 staticpro (&Qdbus_event); 11530 DEFSYM (Qinput_method_use_echo_area, "input-method-use-echo-area");
11511#endif
11512
11513 Qconfig_changed_event = intern_c_string ("config-changed-event");
11514 staticpro (&Qconfig_changed_event);
11515
11516 Qmenu_enable = intern_c_string ("menu-enable");
11517 staticpro (&Qmenu_enable);
11518 QCenable = intern_c_string (":enable");
11519 staticpro (&QCenable);
11520 QCvisible = intern_c_string (":visible");
11521 staticpro (&QCvisible);
11522 QChelp = intern_c_string (":help");
11523 staticpro (&QChelp);
11524 QCfilter = intern_c_string (":filter");
11525 staticpro (&QCfilter);
11526 QCbutton = intern_c_string (":button");
11527 staticpro (&QCbutton);
11528 QCkeys = intern_c_string (":keys");
11529 staticpro (&QCkeys);
11530 QCkey_sequence = intern_c_string (":key-sequence");
11531 staticpro (&QCkey_sequence);
11532 QCtoggle = intern_c_string (":toggle");
11533 staticpro (&QCtoggle);
11534 QCradio = intern_c_string (":radio");
11535 staticpro (&QCradio);
11536 QClabel = intern_c_string (":label");
11537 staticpro (&QClabel);
11538 QCvert_only = intern_c_string (":vert-only");
11539 staticpro (&QCvert_only);
11540
11541 Qmode_line = intern_c_string ("mode-line");
11542 staticpro (&Qmode_line);
11543 Qvertical_line = intern_c_string ("vertical-line");
11544 staticpro (&Qvertical_line);
11545 Qvertical_scroll_bar = intern_c_string ("vertical-scroll-bar");
11546 staticpro (&Qvertical_scroll_bar);
11547 Qmenu_bar = intern_c_string ("menu-bar");
11548 staticpro (&Qmenu_bar);
11549 11531
11550#if defined (HAVE_MOUSE) || defined (HAVE_GPM) 11532 DEFSYM (Qhelp_form_show, "help-form-show");
11551 Qmouse_fixup_help_message = intern_c_string ("mouse-fixup-help-message");
11552 staticpro (&Qmouse_fixup_help_message);
11553#endif
11554
11555 Qabove_handle = intern_c_string ("above-handle");
11556 staticpro (&Qabove_handle);
11557 Qhandle = intern_c_string ("handle");
11558 staticpro (&Qhandle);
11559 Qbelow_handle = intern_c_string ("below-handle");
11560 staticpro (&Qbelow_handle);
11561 Qup = intern_c_string ("up");
11562 staticpro (&Qup);
11563 Qdown = intern_c_string ("down");
11564 staticpro (&Qdown);
11565 Qtop = intern_c_string ("top");
11566 staticpro (&Qtop);
11567 Qbottom = intern_c_string ("bottom");
11568 staticpro (&Qbottom);
11569 Qend_scroll = intern_c_string ("end-scroll");
11570 staticpro (&Qend_scroll);
11571 Qratio = intern_c_string ("ratio");
11572 staticpro (&Qratio);
11573
11574 Qevent_kind = intern_c_string ("event-kind");
11575 staticpro (&Qevent_kind);
11576 Qevent_symbol_elements = intern_c_string ("event-symbol-elements");
11577 staticpro (&Qevent_symbol_elements);
11578 Qevent_symbol_element_mask = intern_c_string ("event-symbol-element-mask");
11579 staticpro (&Qevent_symbol_element_mask);
11580 Qmodifier_cache = intern_c_string ("modifier-cache");
11581 staticpro (&Qmodifier_cache);
11582
11583 Qrecompute_lucid_menubar = intern_c_string ("recompute-lucid-menubar");
11584 staticpro (&Qrecompute_lucid_menubar);
11585 Qactivate_menubar_hook = intern_c_string ("activate-menubar-hook");
11586 staticpro (&Qactivate_menubar_hook);
11587
11588 Qpolling_period = intern_c_string ("polling-period");
11589 staticpro (&Qpolling_period);
11590
11591 Qinput_method_function = intern_c_string ("input-method-function");
11592 staticpro (&Qinput_method_function);
11593
11594 Qx_set_selection = intern_c_string ("x-set-selection");
11595 staticpro (&Qx_set_selection);
11596 QPRIMARY = intern_c_string ("PRIMARY");
11597 staticpro (&QPRIMARY);
11598 Qhandle_switch_frame = intern_c_string ("handle-switch-frame");
11599 staticpro (&Qhandle_switch_frame);
11600
11601 Qinput_method_exit_on_first_char = intern_c_string ("input-method-exit-on-first-char");
11602 staticpro (&Qinput_method_exit_on_first_char);
11603 Qinput_method_use_echo_area = intern_c_string ("input-method-use-echo-area");
11604 staticpro (&Qinput_method_use_echo_area);
11605 11533
11606 Fset (Qinput_method_exit_on_first_char, Qnil); 11534 Fset (Qinput_method_exit_on_first_char, Qnil);
11607 Fset (Qinput_method_use_echo_area, Qnil); 11535 Fset (Qinput_method_use_echo_area, Qnil);
@@ -11652,9 +11580,8 @@ syms_of_keyboard (void)
11652 raw_keybuf = Fmake_vector (make_number (30), Qnil); 11580 raw_keybuf = Fmake_vector (make_number (30), Qnil);
11653 staticpro (&raw_keybuf); 11581 staticpro (&raw_keybuf);
11654 11582
11655 Qextended_command_history = intern_c_string ("extended-command-history"); 11583 DEFSYM (Qextended_command_history, "extended-command-history");
11656 Fset (Qextended_command_history, Qnil); 11584 Fset (Qextended_command_history, Qnil);
11657 staticpro (&Qextended_command_history);
11658 11585
11659 accent_key_syms = Qnil; 11586 accent_key_syms = Qnil;
11660 staticpro (&accent_key_syms); 11587 staticpro (&accent_key_syms);
@@ -11955,8 +11882,7 @@ The command loop sets this to nil before each command,
11955and tests the value when the command returns. 11882and tests the value when the command returns.
11956Buffer modification stores t in this variable. */); 11883Buffer modification stores t in this variable. */);
11957 Vdeactivate_mark = Qnil; 11884 Vdeactivate_mark = Qnil;
11958 Qdeactivate_mark = intern_c_string ("deactivate-mark"); 11885 DEFSYM (Qdeactivate_mark, "deactivate-mark");
11959 staticpro (&Qdeactivate_mark);
11960 11886
11961 DEFVAR_LISP ("pre-command-hook", Vpre_command_hook, 11887 DEFVAR_LISP ("pre-command-hook", Vpre_command_hook,
11962 doc: /* Normal hook run before each command is executed. 11888 doc: /* Normal hook run before each command is executed.
@@ -11976,8 +11902,7 @@ otherwise the error might happen repeatedly and make Emacs nonfunctional. */);
11976 DEFVAR_LISP ("echo-area-clear-hook", ..., 11902 DEFVAR_LISP ("echo-area-clear-hook", ...,
11977 doc: /* Normal hook run when clearing the echo area. */); 11903 doc: /* Normal hook run when clearing the echo area. */);
11978#endif 11904#endif
11979 Qecho_area_clear_hook = intern_c_string ("echo-area-clear-hook"); 11905 DEFSYM (Qecho_area_clear_hook, "echo-area-clear-hook");
11980 staticpro (&Qecho_area_clear_hook);
11981 Fset (Qecho_area_clear_hook, Qnil); 11906 Fset (Qecho_area_clear_hook, Qnil);
11982 11907
11983 DEFVAR_LISP ("lucid-menu-bar-dirty-flag", Vlucid_menu_bar_dirty_flag, 11908 DEFVAR_LISP ("lucid-menu-bar-dirty-flag", Vlucid_menu_bar_dirty_flag,
diff --git a/src/lisp.h b/src/lisp.h
index a6933e70288..4859862c88f 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3046,13 +3046,13 @@ struct re_registers;
3046extern struct re_pattern_buffer *compile_pattern (Lisp_Object, 3046extern struct re_pattern_buffer *compile_pattern (Lisp_Object,
3047 struct re_registers *, 3047 struct re_registers *,
3048 Lisp_Object, int, int); 3048 Lisp_Object, int, int);
3049extern int fast_string_match (Lisp_Object, Lisp_Object); 3049extern EMACS_INT fast_string_match (Lisp_Object, Lisp_Object);
3050extern int fast_c_string_match_ignore_case (Lisp_Object, const char *); 3050extern EMACS_INT fast_c_string_match_ignore_case (Lisp_Object, const char *);
3051extern int fast_string_match_ignore_case (Lisp_Object, Lisp_Object); 3051extern EMACS_INT fast_string_match_ignore_case (Lisp_Object, Lisp_Object);
3052extern EMACS_INT fast_looking_at (Lisp_Object, EMACS_INT, EMACS_INT, 3052extern EMACS_INT fast_looking_at (Lisp_Object, EMACS_INT, EMACS_INT,
3053 EMACS_INT, EMACS_INT, Lisp_Object); 3053 EMACS_INT, EMACS_INT, Lisp_Object);
3054extern EMACS_INT scan_buffer (int, EMACS_INT, EMACS_INT, EMACS_INT, 3054extern EMACS_INT scan_buffer (int, EMACS_INT, EMACS_INT, EMACS_INT,
3055 int *, int); 3055 EMACS_INT *, int);
3056extern EMACS_INT scan_newline (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT, 3056extern EMACS_INT scan_newline (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT,
3057 EMACS_INT, int); 3057 EMACS_INT, int);
3058extern EMACS_INT find_next_newline (EMACS_INT, int); 3058extern EMACS_INT find_next_newline (EMACS_INT, int);
diff --git a/src/print.c b/src/print.c
index c076e1ec973..f68f04ac5fa 100644
--- a/src/print.c
+++ b/src/print.c
@@ -520,29 +520,6 @@ temp_output_buffer_setup (const char *bufname)
520 520
521 specbind (Qstandard_output, buf); 521 specbind (Qstandard_output, buf);
522} 522}
523
524/* FIXME: Use Lisp's with-output-to-temp-buffer instead! */
525Lisp_Object
526internal_with_output_to_temp_buffer (const char *bufname, Lisp_Object (*function) (Lisp_Object), Lisp_Object args)
527{
528 int count = SPECPDL_INDEX ();
529 Lisp_Object buf, val;
530 struct gcpro gcpro1;
531
532 GCPRO1 (args);
533 record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
534 temp_output_buffer_setup (bufname);
535 buf = Vstandard_output;
536 UNGCPRO;
537
538 val = (*function) (args);
539
540 GCPRO1 (val);
541 temp_output_buffer_show (buf);
542 UNGCPRO;
543
544 return unbind_to (count, val);
545}
546 523
547static void print (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag); 524static void print (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag);
548static void print_preprocess (Lisp_Object obj); 525static void print_preprocess (Lisp_Object obj);
diff --git a/src/process.c b/src/process.c
index a9a8eb79ede..6cddbf6d1a9 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1239,244 +1239,6 @@ Returns nil if format of ADDRESS is invalid. */)
1239 1239
1240 return Qnil; 1240 return Qnil;
1241} 1241}
1242
1243static Lisp_Object
1244list_processes_1 (Lisp_Object query_only)
1245{
1246 register Lisp_Object tail;
1247 Lisp_Object proc, minspace;
1248 register struct Lisp_Process *p;
1249 char tembuf[300];
1250 int w_proc, w_buffer, w_tty;
1251 int exited = 0;
1252 Lisp_Object i_status, i_buffer, i_tty, i_command;
1253
1254 w_proc = 4; /* Proc */
1255 w_buffer = 6; /* Buffer */
1256 w_tty = 0; /* Omit if no ttys */
1257
1258 for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
1259 {
1260 int i;
1261
1262 proc = Fcdr (XCAR (tail));
1263 p = XPROCESS (proc);
1264 if (NILP (p->type))
1265 continue;
1266 if (!NILP (query_only) && p->kill_without_query)
1267 continue;
1268 if (STRINGP (p->name)
1269 && ( i = SCHARS (p->name), (i > w_proc)))
1270 w_proc = i;
1271 if (!NILP (p->buffer))
1272 {
1273 if (NILP (BVAR (XBUFFER (p->buffer), name)))
1274 {
1275 if (w_buffer < 8)
1276 w_buffer = 8; /* (Killed) */
1277 }
1278 else if ((i = SCHARS (BVAR (XBUFFER (p->buffer), name)), (i > w_buffer)))
1279 w_buffer = i;
1280 }
1281 if (STRINGP (p->tty_name)
1282 && (i = SCHARS (p->tty_name), (i > w_tty)))
1283 w_tty = i;
1284 }
1285
1286 XSETFASTINT (i_status, w_proc + 1);
1287 XSETFASTINT (i_buffer, XFASTINT (i_status) + 9);
1288 if (w_tty)
1289 {
1290 XSETFASTINT (i_tty, XFASTINT (i_buffer) + w_buffer + 1);
1291 XSETFASTINT (i_command, XFASTINT (i_tty) + w_tty + 1);
1292 }
1293 else
1294 {
1295 i_tty = Qnil;
1296 XSETFASTINT (i_command, XFASTINT (i_buffer) + w_buffer + 1);
1297 }
1298
1299 XSETFASTINT (minspace, 1);
1300
1301 set_buffer_internal (XBUFFER (Vstandard_output));
1302 BVAR (current_buffer, undo_list) = Qt;
1303
1304 BVAR (current_buffer, truncate_lines) = Qt;
1305
1306 write_string ("Proc", -1);
1307 Findent_to (i_status, minspace); write_string ("Status", -1);
1308 Findent_to (i_buffer, minspace); write_string ("Buffer", -1);
1309 if (!NILP (i_tty))
1310 {
1311 Findent_to (i_tty, minspace); write_string ("Tty", -1);
1312 }
1313 Findent_to (i_command, minspace); write_string ("Command", -1);
1314 write_string ("\n", -1);
1315
1316 write_string ("----", -1);
1317 Findent_to (i_status, minspace); write_string ("------", -1);
1318 Findent_to (i_buffer, minspace); write_string ("------", -1);
1319 if (!NILP (i_tty))
1320 {
1321 Findent_to (i_tty, minspace); write_string ("---", -1);
1322 }
1323 Findent_to (i_command, minspace); write_string ("-------", -1);
1324 write_string ("\n", -1);
1325
1326 for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
1327 {
1328 Lisp_Object symbol;
1329
1330 proc = Fcdr (XCAR (tail));
1331 p = XPROCESS (proc);
1332 if (NILP (p->type))
1333 continue;
1334 if (!NILP (query_only) && p->kill_without_query)
1335 continue;
1336
1337 Finsert (1, &p->name);
1338 Findent_to (i_status, minspace);
1339
1340 if (p->raw_status_new)
1341 update_status (p);
1342 symbol = p->status;
1343 if (CONSP (p->status))
1344 symbol = XCAR (p->status);
1345
1346 if (EQ (symbol, Qsignal))
1347 Fprinc (symbol, Qnil);
1348 else if (NETCONN1_P (p) || SERIALCONN1_P (p))
1349 {
1350 if (EQ (symbol, Qexit))
1351 write_string ("closed", -1);
1352 else if (EQ (p->command, Qt))
1353 write_string ("stopped", -1);
1354 else if (EQ (symbol, Qrun))
1355 write_string ("open", -1);
1356 else
1357 Fprinc (symbol, Qnil);
1358 }
1359 else if (SERIALCONN1_P (p))
1360 {
1361 write_string ("running", -1);
1362 }
1363 else
1364 Fprinc (symbol, Qnil);
1365
1366 if (EQ (symbol, Qexit))
1367 {
1368 Lisp_Object tem;
1369 tem = Fcar (Fcdr (p->status));
1370 if (XFASTINT (tem))
1371 {
1372 sprintf (tembuf, " %d", (int) XFASTINT (tem));
1373 write_string (tembuf, -1);
1374 }
1375 }
1376
1377 if (EQ (symbol, Qsignal) || EQ (symbol, Qexit) || EQ (symbol, Qclosed))
1378 exited++;
1379
1380 Findent_to (i_buffer, minspace);
1381 if (NILP (p->buffer))
1382 insert_string ("(none)");
1383 else if (NILP (BVAR (XBUFFER (p->buffer), name)))
1384 insert_string ("(Killed)");
1385 else
1386 Finsert (1, &BVAR (XBUFFER (p->buffer), name));
1387
1388 if (!NILP (i_tty))
1389 {
1390 Findent_to (i_tty, minspace);
1391 if (STRINGP (p->tty_name))
1392 Finsert (1, &p->tty_name);
1393 }
1394
1395 Findent_to (i_command, minspace);
1396
1397 if (EQ (p->status, Qlisten))
1398 {
1399 Lisp_Object port = Fplist_get (p->childp, QCservice);
1400 if (INTEGERP (port))
1401 port = Fnumber_to_string (port);
1402 if (NILP (port))
1403 port = Fformat_network_address (Fplist_get (p->childp, QClocal), Qnil);
1404 sprintf (tembuf, "(network %s server on %s)\n",
1405 (DATAGRAM_CHAN_P (p->infd) ? "datagram" : "stream"),
1406 (STRINGP (port) ? SSDATA (port) : "?"));
1407 insert_string (tembuf);
1408 }
1409 else if (NETCONN1_P (p))
1410 {
1411 /* For a local socket, there is no host name,
1412 so display service instead. */
1413 Lisp_Object host = Fplist_get (p->childp, QChost);
1414 if (!STRINGP (host))
1415 {
1416 host = Fplist_get (p->childp, QCservice);
1417 if (INTEGERP (host))
1418 host = Fnumber_to_string (host);
1419 }
1420 if (NILP (host))
1421 host = Fformat_network_address (Fplist_get (p->childp, QCremote), Qnil);
1422 sprintf (tembuf, "(network %s connection to %s)\n",
1423 (DATAGRAM_CHAN_P (p->infd) ? "datagram" : "stream"),
1424 (STRINGP (host) ? SSDATA (host) : "?"));
1425 insert_string (tembuf);
1426 }
1427 else if (SERIALCONN1_P (p))
1428 {
1429 Lisp_Object port = Fplist_get (p->childp, QCport);
1430 Lisp_Object speed = Fplist_get (p->childp, QCspeed);
1431 insert_string ("(serial port ");
1432 if (STRINGP (port))
1433 insert_string (SSDATA (port));
1434 else
1435 insert_string ("?");
1436 if (INTEGERP (speed))
1437 {
1438 sprintf (tembuf, " at %ld b/s", (long) XINT (speed));
1439 insert_string (tembuf);
1440 }
1441 insert_string (")\n");
1442 }
1443 else
1444 {
1445 Lisp_Object tem = p->command;
1446 while (1)
1447 {
1448 Lisp_Object tem1 = Fcar (tem);
1449 if (NILP (tem1))
1450 break;
1451 Finsert (1, &tem1);
1452 tem = Fcdr (tem);
1453 if (NILP (tem))
1454 break;
1455 insert_string (" ");
1456 }
1457 insert_string ("\n");
1458 }
1459 }
1460 if (exited)
1461 {
1462 status_notify (NULL);
1463 redisplay_preserve_echo_area (13);
1464 }
1465 return Qnil;
1466}
1467
1468DEFUN ("list-processes", Flist_processes, Slist_processes, 0, 1, "P",
1469 doc: /* Display a list of all processes.
1470If optional argument QUERY-ONLY is non-nil, only processes with
1471the query-on-exit flag set will be listed.
1472Any process listed as exited or signaled is actually eliminated
1473after the listing is made. */)
1474 (Lisp_Object query_only)
1475{
1476 internal_with_output_to_temp_buffer ("*Process List*",
1477 list_processes_1, query_only);
1478 return Qnil;
1479}
1480 1242
1481DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0, 1243DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0,
1482 doc: /* Return a list of all processes. */) 1244 doc: /* Return a list of all processes. */)
@@ -1499,9 +1261,9 @@ at end of BUFFER, unless you specify an output stream or filter
1499function to handle the output. BUFFER may also be nil, meaning that 1261function to handle the output. BUFFER may also be nil, meaning that
1500this process is not associated with any buffer. 1262this process is not associated with any buffer.
1501 1263
1502PROGRAM is the program file name. It is searched for in PATH. If 1264PROGRAM is the program file name. It is searched for in `exec-path'
1503nil, just associate a pty with the buffer. Remaining arguments are 1265(which see). If nil, just associate a pty with the buffer. Remaining
1504strings to give program as arguments. 1266arguments are strings to give program as arguments.
1505 1267
1506If you want to separate standard output from standard error, invoke 1268If you want to separate standard output from standard error, invoke
1507the command through a shell and redirect one of them using the shell 1269the command through a shell and redirect one of them using the shell
@@ -7668,7 +7430,6 @@ The variable takes effect when `start-process' is called. */);
7668 defsubr (&Sprocess_contact); 7430 defsubr (&Sprocess_contact);
7669 defsubr (&Sprocess_plist); 7431 defsubr (&Sprocess_plist);
7670 defsubr (&Sset_process_plist); 7432 defsubr (&Sset_process_plist);
7671 defsubr (&Slist_processes);
7672 defsubr (&Sprocess_list); 7433 defsubr (&Sprocess_list);
7673 defsubr (&Sstart_process); 7434 defsubr (&Sstart_process);
7674 defsubr (&Sserial_process_configure); 7435 defsubr (&Sserial_process_configure);
diff --git a/src/search.c b/src/search.c
index fa44e1300d7..d9be8ca0105 100644
--- a/src/search.c
+++ b/src/search.c
@@ -368,7 +368,7 @@ data if you want to preserve them. */)
368static Lisp_Object 368static Lisp_Object
369string_match_1 (Lisp_Object regexp, Lisp_Object string, Lisp_Object start, int posix) 369string_match_1 (Lisp_Object regexp, Lisp_Object string, Lisp_Object start, int posix)
370{ 370{
371 int val; 371 EMACS_INT val;
372 struct re_pattern_buffer *bufp; 372 struct re_pattern_buffer *bufp;
373 EMACS_INT pos, pos_byte; 373 EMACS_INT pos, pos_byte;
374 int i; 374 int i;
@@ -468,10 +468,10 @@ matched by parenthesis constructs in the pattern. */)
468 and return the index of the match, or negative on failure. 468 and return the index of the match, or negative on failure.
469 This does not clobber the match data. */ 469 This does not clobber the match data. */
470 470
471int 471EMACS_INT
472fast_string_match (Lisp_Object regexp, Lisp_Object string) 472fast_string_match (Lisp_Object regexp, Lisp_Object string)
473{ 473{
474 int val; 474 EMACS_INT val;
475 struct re_pattern_buffer *bufp; 475 struct re_pattern_buffer *bufp;
476 476
477 bufp = compile_pattern (regexp, 0, Qnil, 477 bufp = compile_pattern (regexp, 0, Qnil,
@@ -491,10 +491,10 @@ fast_string_match (Lisp_Object regexp, Lisp_Object string)
491 This does not clobber the match data. 491 This does not clobber the match data.
492 We assume that STRING contains single-byte characters. */ 492 We assume that STRING contains single-byte characters. */
493 493
494int 494EMACS_INT
495fast_c_string_match_ignore_case (Lisp_Object regexp, const char *string) 495fast_c_string_match_ignore_case (Lisp_Object regexp, const char *string)
496{ 496{
497 int val; 497 EMACS_INT val;
498 struct re_pattern_buffer *bufp; 498 struct re_pattern_buffer *bufp;
499 size_t len = strlen (string); 499 size_t len = strlen (string);
500 500
@@ -511,10 +511,10 @@ fast_c_string_match_ignore_case (Lisp_Object regexp, const char *string)
511 511
512/* Like fast_string_match but ignore case. */ 512/* Like fast_string_match but ignore case. */
513 513
514int 514EMACS_INT
515fast_string_match_ignore_case (Lisp_Object regexp, Lisp_Object string) 515fast_string_match_ignore_case (Lisp_Object regexp, Lisp_Object string)
516{ 516{
517 int val; 517 EMACS_INT val;
518 struct re_pattern_buffer *bufp; 518 struct re_pattern_buffer *bufp;
519 519
520 bufp = compile_pattern (regexp, 0, Vascii_canon_table, 520 bufp = compile_pattern (regexp, 0, Vascii_canon_table,
@@ -643,7 +643,7 @@ newline_cache_on_off (struct buffer *buf)
643 643
644EMACS_INT 644EMACS_INT
645scan_buffer (register int target, EMACS_INT start, EMACS_INT end, 645scan_buffer (register int target, EMACS_INT start, EMACS_INT end,
646 EMACS_INT count, int *shortage, int allow_quit) 646 EMACS_INT count, EMACS_INT *shortage, int allow_quit)
647{ 647{
648 struct region_cache *newline_cache; 648 struct region_cache *newline_cache;
649 int direction; 649 int direction;
@@ -933,7 +933,7 @@ scan_newline (EMACS_INT start, EMACS_INT start_byte,
933EMACS_INT 933EMACS_INT
934find_next_newline_no_quit (EMACS_INT from, EMACS_INT cnt) 934find_next_newline_no_quit (EMACS_INT from, EMACS_INT cnt)
935{ 935{
936 return scan_buffer ('\n', from, 0, cnt, (int *) 0, 0); 936 return scan_buffer ('\n', from, 0, cnt, (EMACS_INT *) 0, 0);
937} 937}
938 938
939/* Like find_next_newline, but returns position before the newline, 939/* Like find_next_newline, but returns position before the newline,
@@ -943,7 +943,7 @@ find_next_newline_no_quit (EMACS_INT from, EMACS_INT cnt)
943EMACS_INT 943EMACS_INT
944find_before_next_newline (EMACS_INT from, EMACS_INT to, EMACS_INT cnt) 944find_before_next_newline (EMACS_INT from, EMACS_INT to, EMACS_INT cnt)
945{ 945{
946 int shortage; 946 EMACS_INT shortage;
947 EMACS_INT pos = scan_buffer ('\n', from, to, cnt, &shortage, 1); 947 EMACS_INT pos = scan_buffer ('\n', from, to, cnt, &shortage, 1);
948 948
949 if (shortage == 0) 949 if (shortage == 0)
@@ -958,9 +958,9 @@ static Lisp_Object
958search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, 958search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror,
959 Lisp_Object count, int direction, int RE, int posix) 959 Lisp_Object count, int direction, int RE, int posix)
960{ 960{
961 register int np; 961 register EMACS_INT np;
962 EMACS_INT lim, lim_byte; 962 EMACS_INT lim, lim_byte;
963 int n = direction; 963 EMACS_INT n = direction;
964 964
965 if (!NILP (count)) 965 if (!NILP (count))
966 { 966 {
@@ -2524,7 +2524,7 @@ since only regular expressions have distinguished subexpressions. */)
2524 /* We build up the substituted string in ACCUM. */ 2524 /* We build up the substituted string in ACCUM. */
2525 Lisp_Object accum; 2525 Lisp_Object accum;
2526 Lisp_Object middle; 2526 Lisp_Object middle;
2527 int length = SBYTES (newtext); 2527 EMACS_INT length = SBYTES (newtext);
2528 2528
2529 accum = Qnil; 2529 accum = Qnil;
2530 2530
@@ -2880,7 +2880,7 @@ Return value is undefined if the last search failed. */)
2880 len = 0; 2880 len = 0;
2881 for (i = 0; i < search_regs.num_regs; i++) 2881 for (i = 0; i < search_regs.num_regs; i++)
2882 { 2882 {
2883 int start = search_regs.start[i]; 2883 EMACS_INT start = search_regs.start[i];
2884 if (start >= 0) 2884 if (start >= 0)
2885 { 2885 {
2886 if (EQ (last_thing_searched, Qt) 2886 if (EQ (last_thing_searched, Qt)
diff --git a/src/term.c b/src/term.c
index d4e5faf01c8..ea856543a7d 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3155,13 +3155,12 @@ init_tty (const char *name, const char *terminal_type, int must_succeed)
3155 if we don't have one at the moment. */ 3155 if we don't have one at the moment. */
3156 fd = emacs_open (name, O_RDWR | O_IGNORE_CTTY | O_NOCTTY, 0); 3156 fd = emacs_open (name, O_RDWR | O_IGNORE_CTTY | O_NOCTTY, 0);
3157 else 3157 else
3158#else 3158#endif /* O_IGNORE_CTTY */
3159 /* Alas, O_IGNORE_CTTY is a GNU extension that seems to be only 3159 /* Alas, O_IGNORE_CTTY is a GNU extension that seems to be only
3160 defined on Hurd. On other systems, we need to explicitly 3160 defined on Hurd. On other systems, we need to explicitly
3161 dissociate ourselves from the controlling tty when we want to 3161 dissociate ourselves from the controlling tty when we want to
3162 open a frame on the same terminal. */ 3162 open a frame on the same terminal. */
3163 fd = emacs_open (name, O_RDWR | O_NOCTTY, 0); 3163 fd = emacs_open (name, O_RDWR | O_NOCTTY, 0);
3164#endif /* O_IGNORE_CTTY */
3165 3164
3166 tty->name = xstrdup (name); 3165 tty->name = xstrdup (name);
3167 terminal->name = xstrdup (name); 3166 terminal->name = xstrdup (name);
diff --git a/src/window.c b/src/window.c
index ebfd1b0f778..a8a6fceaaee 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3664,9 +3664,6 @@ temp_output_buffer_show (register Lisp_Object buf)
3664 BEGV = BEG; 3664 BEGV = BEG;
3665 ZV = Z; 3665 ZV = Z;
3666 SET_PT (BEG); 3666 SET_PT (BEG);
3667#if 0 /* rms: there should be no reason for this. */
3668 XBUFFER (buf)->prevent_redisplay_optimizations_p = 1;
3669#endif
3670 set_buffer_internal (old); 3667 set_buffer_internal (old);
3671 3668
3672 if (!NILP (Vtemp_buffer_show_function)) 3669 if (!NILP (Vtemp_buffer_show_function))
diff --git a/src/xdisp.c b/src/xdisp.c
index a296fb33a9f..b1209b998e2 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -763,7 +763,7 @@ static Lisp_Object get_it_property (struct it *it, Lisp_Object prop);
763static void handle_line_prefix (struct it *); 763static void handle_line_prefix (struct it *);
764 764
765static void pint2str (char *, int, EMACS_INT); 765static void pint2str (char *, int, EMACS_INT);
766static void pint2hrstr (char *, int, int); 766static void pint2hrstr (char *, int, EMACS_INT);
767static struct text_pos run_window_scroll_functions (Lisp_Object, 767static struct text_pos run_window_scroll_functions (Lisp_Object,
768 struct text_pos); 768 struct text_pos);
769static void reconsider_clip_changes (struct window *, struct buffer *); 769static void reconsider_clip_changes (struct window *, struct buffer *);
@@ -825,7 +825,8 @@ static int display_mode_element (struct it *, int, int, int, Lisp_Object, Lisp_O
825static int store_mode_line_string (const char *, Lisp_Object, int, int, int, Lisp_Object); 825static int store_mode_line_string (const char *, Lisp_Object, int, int, int, Lisp_Object);
826static const char *decode_mode_spec (struct window *, int, int, Lisp_Object *); 826static const char *decode_mode_spec (struct window *, int, int, Lisp_Object *);
827static void display_menu_bar (struct window *); 827static void display_menu_bar (struct window *);
828static int display_count_lines (EMACS_INT, EMACS_INT, int, EMACS_INT *); 828static EMACS_INT display_count_lines (EMACS_INT, EMACS_INT, EMACS_INT,
829 EMACS_INT *);
829static int display_string (const char *, Lisp_Object, Lisp_Object, 830static int display_string (const char *, Lisp_Object, Lisp_Object,
830 EMACS_INT, EMACS_INT, struct it *, int, int, int, int); 831 EMACS_INT, EMACS_INT, struct it *, int, int, int, int);
831static void compute_line_metrics (struct it *); 832static void compute_line_metrics (struct it *);
@@ -19099,11 +19100,11 @@ static const char power_letter[] =
19099 }; 19100 };
19100 19101
19101static void 19102static void
19102pint2hrstr (char *buf, int width, int d) 19103pint2hrstr (char *buf, int width, EMACS_INT d)
19103{ 19104{
19104 /* We aim to represent the nonnegative integer D as 19105 /* We aim to represent the nonnegative integer D as
19105 QUOTIENT.TENTHS * 10 ^ (3 * EXPONENT). */ 19106 QUOTIENT.TENTHS * 10 ^ (3 * EXPONENT). */
19106 int quotient = d; 19107 EMACS_INT quotient = d;
19107 int remainder = 0; 19108 int remainder = 0;
19108 /* -1 means: do not use TENTHS. */ 19109 /* -1 means: do not use TENTHS. */
19109 int tenths = -1; 19110 int tenths = -1;
@@ -19429,7 +19430,7 @@ decode_mode_spec (struct window *w, register int c, int field_width,
19429 case 'l': 19430 case 'l':
19430 { 19431 {
19431 EMACS_INT startpos, startpos_byte, line, linepos, linepos_byte; 19432 EMACS_INT startpos, startpos_byte, line, linepos, linepos_byte;
19432 int topline, nlines, height; 19433 EMACS_INT topline, nlines, height;
19433 EMACS_INT junk; 19434 EMACS_INT junk;
19434 19435
19435 /* %c and %l are ignored in `frame-title-format'. */ 19436 /* %c and %l are ignored in `frame-title-format'. */
@@ -19494,7 +19495,8 @@ decode_mode_spec (struct window *w, register int c, int field_width,
19494 EMACS_INT limit = BUF_BEGV (b); 19495 EMACS_INT limit = BUF_BEGV (b);
19495 EMACS_INT limit_byte = BUF_BEGV_BYTE (b); 19496 EMACS_INT limit_byte = BUF_BEGV_BYTE (b);
19496 EMACS_INT position; 19497 EMACS_INT position;
19497 int distance = (height * 2 + 30) * line_number_display_limit_width; 19498 EMACS_INT distance =
19499 (height * 2 + 30) * line_number_display_limit_width;
19498 19500
19499 if (startpos - distance > limit) 19501 if (startpos - distance > limit)
19500 { 19502 {
@@ -19697,17 +19699,17 @@ decode_mode_spec (struct window *w, register int c, int field_width,
19697 19699
19698 Set *BYTE_POS_PTR to 1 if we found COUNT lines, 0 if we hit LIMIT. */ 19700 Set *BYTE_POS_PTR to 1 if we found COUNT lines, 0 if we hit LIMIT. */
19699 19701
19700static int 19702static EMACS_INT
19701display_count_lines (EMACS_INT start_byte, 19703display_count_lines (EMACS_INT start_byte,
19702 EMACS_INT limit_byte, int count, 19704 EMACS_INT limit_byte, EMACS_INT count,
19703 EMACS_INT *byte_pos_ptr) 19705 EMACS_INT *byte_pos_ptr)
19704{ 19706{
19705 register unsigned char *cursor; 19707 register unsigned char *cursor;
19706 unsigned char *base; 19708 unsigned char *base;
19707 19709
19708 register int ceiling; 19710 register EMACS_INT ceiling;
19709 register unsigned char *ceiling_addr; 19711 register unsigned char *ceiling_addr;
19710 int orig_count = count; 19712 EMACS_INT orig_count = count;
19711 19713
19712 /* If we are not in selective display mode, 19714 /* If we are not in selective display mode,
19713 check only for newlines. */ 19715 check only for newlines. */
diff --git a/src/xmenu.c b/src/xmenu.c
index 6e175e69039..dbf8145f737 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1529,7 +1529,8 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv,
1529 int i; 1529 int i;
1530 Arg av[2]; 1530 Arg av[2];
1531 int ac = 0; 1531 int ac = 0;
1532 XButtonPressedEvent dummy; 1532 XEvent dummy;
1533 XButtonPressedEvent *event = &(dummy.xbutton);
1533 LWLIB_ID menu_id; 1534 LWLIB_ID menu_id;
1534 Widget menu; 1535 Widget menu;
1535 1536
@@ -1547,36 +1548,35 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv,
1547 popup_deactivate_callback, 1548 popup_deactivate_callback,
1548 menu_highlight_callback); 1549 menu_highlight_callback);
1549 1550
1550 dummy.type = ButtonPress; 1551 event->type = ButtonPress;
1551 dummy.serial = 0; 1552 event->serial = 0;
1552 dummy.send_event = 0; 1553 event->send_event = 0;
1553 dummy.display = FRAME_X_DISPLAY (f); 1554 event->display = FRAME_X_DISPLAY (f);
1554 dummy.time = CurrentTime; 1555 event->time = CurrentTime;
1555 dummy.root = FRAME_X_DISPLAY_INFO (f)->root_window; 1556 event->root = FRAME_X_DISPLAY_INFO (f)->root_window;
1556 dummy.window = dummy.root; 1557 event->window = event->subwindow = event->root;
1557 dummy.subwindow = dummy.root; 1558 event->x = x;
1558 dummy.x = x; 1559 event->y = y;
1559 dummy.y = y;
1560 1560
1561 /* Adjust coordinates to be root-window-relative. */ 1561 /* Adjust coordinates to be root-window-relative. */
1562 x += f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f); 1562 x += f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f);
1563 y += f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f); 1563 y += f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f);
1564 1564
1565 dummy.x_root = x; 1565 event->x_root = x;
1566 dummy.y_root = y; 1566 event->y_root = y;
1567 1567
1568 dummy.state = 0; 1568 event->state = 0;
1569 dummy.button = 0; 1569 event->button = 0;
1570 for (i = 0; i < 5; i++) 1570 for (i = 0; i < 5; i++)
1571 if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i)) 1571 if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
1572 dummy.button = i; 1572 event->button = i;
1573 1573
1574 /* Don't allow any geometry request from the user. */ 1574 /* Don't allow any geometry request from the user. */
1575 XtSetArg (av[ac], XtNgeometry, 0); ac++; 1575 XtSetArg (av[ac], XtNgeometry, 0); ac++;
1576 XtSetValues (menu, av, ac); 1576 XtSetValues (menu, av, ac);
1577 1577
1578 /* Display the menu. */ 1578 /* Display the menu. */
1579 lw_popup_menu (menu, (XEvent *) &dummy); 1579 lw_popup_menu (menu, &dummy);
1580 popup_activated_flag = 1; 1580 popup_activated_flag = 1;
1581 x_activate_timeout_atimer (); 1581 x_activate_timeout_atimer ();
1582 1582
diff --git a/src/xml.c b/src/xml.c
index d8e6f8c3faa..63041c96b24 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -113,7 +113,7 @@ parse_region (Lisp_Object start, Lisp_Object end, Lisp_Object base_url, int html
113 doc = xmlReadMemory ((char *) BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), 113 doc = xmlReadMemory ((char *) BYTE_POS_ADDR (CHAR_TO_BYTE (istart)),
114 bytes, burl, "utf-8", 114 bytes, burl, "utf-8",
115 XML_PARSE_NONET|XML_PARSE_NOWARNING| 115 XML_PARSE_NONET|XML_PARSE_NOWARNING|
116 XML_PARSE_NOERROR); 116 XML_PARSE_NOBLANKS |XML_PARSE_NOERROR);
117 117
118 if (doc != NULL) 118 if (doc != NULL)
119 { 119 {
diff --git a/src/xselect.c b/src/xselect.c
index 430b7232659..4f1a452023a 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -499,22 +499,23 @@ x_get_local_selection (Lisp_Object selection_symbol, Lisp_Object target_type, in
499static void 499static void
500x_decline_selection_request (struct input_event *event) 500x_decline_selection_request (struct input_event *event)
501{ 501{
502 XSelectionEvent reply; 502 XEvent reply_base;
503 XSelectionEvent *reply = &(reply_base.xselection);
503 504
504 reply.type = SelectionNotify; 505 reply->type = SelectionNotify;
505 reply.display = SELECTION_EVENT_DISPLAY (event); 506 reply->display = SELECTION_EVENT_DISPLAY (event);
506 reply.requestor = SELECTION_EVENT_REQUESTOR (event); 507 reply->requestor = SELECTION_EVENT_REQUESTOR (event);
507 reply.selection = SELECTION_EVENT_SELECTION (event); 508 reply->selection = SELECTION_EVENT_SELECTION (event);
508 reply.time = SELECTION_EVENT_TIME (event); 509 reply->time = SELECTION_EVENT_TIME (event);
509 reply.target = SELECTION_EVENT_TARGET (event); 510 reply->target = SELECTION_EVENT_TARGET (event);
510 reply.property = None; 511 reply->property = None;
511 512
512 /* The reason for the error may be that the receiver has 513 /* The reason for the error may be that the receiver has
513 died in the meantime. Handle that case. */ 514 died in the meantime. Handle that case. */
514 BLOCK_INPUT; 515 BLOCK_INPUT;
515 x_catch_errors (reply.display); 516 x_catch_errors (reply->display);
516 XSendEvent (reply.display, reply.requestor, False, 0L, (XEvent *) &reply); 517 XSendEvent (reply->display, reply->requestor, False, 0L, &reply_base);
517 XFlush (reply.display); 518 XFlush (reply->display);
518 x_uncatch_errors (); 519 x_uncatch_errors ();
519 UNBLOCK_INPUT; 520 UNBLOCK_INPUT;
520} 521}
@@ -617,7 +618,8 @@ static int x_reply_selection_request_cnt;
617static void 618static void
618x_reply_selection_request (struct input_event *event, int format, unsigned char *data, int size, Atom type) 619x_reply_selection_request (struct input_event *event, int format, unsigned char *data, int size, Atom type)
619{ 620{
620 XSelectionEvent reply; 621 XEvent reply_base;
622 XSelectionEvent *reply = &(reply_base.xselection);
621 Display *display = SELECTION_EVENT_DISPLAY (event); 623 Display *display = SELECTION_EVENT_DISPLAY (event);
622 Window window = SELECTION_EVENT_REQUESTOR (event); 624 Window window = SELECTION_EVENT_REQUESTOR (event);
623 int bytes_remaining; 625 int bytes_remaining;
@@ -629,15 +631,15 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
629 if (max_bytes > MAX_SELECTION_QUANTUM) 631 if (max_bytes > MAX_SELECTION_QUANTUM)
630 max_bytes = MAX_SELECTION_QUANTUM; 632 max_bytes = MAX_SELECTION_QUANTUM;
631 633
632 reply.type = SelectionNotify; 634 reply->type = SelectionNotify;
633 reply.display = display; 635 reply->display = display;
634 reply.requestor = window; 636 reply->requestor = window;
635 reply.selection = SELECTION_EVENT_SELECTION (event); 637 reply->selection = SELECTION_EVENT_SELECTION (event);
636 reply.time = SELECTION_EVENT_TIME (event); 638 reply->time = SELECTION_EVENT_TIME (event);
637 reply.target = SELECTION_EVENT_TARGET (event); 639 reply->target = SELECTION_EVENT_TARGET (event);
638 reply.property = SELECTION_EVENT_PROPERTY (event); 640 reply->property = SELECTION_EVENT_PROPERTY (event);
639 if (reply.property == None) 641 if (reply->property == None)
640 reply.property = reply.target; 642 reply->property = reply->target;
641 643
642 BLOCK_INPUT; 644 BLOCK_INPUT;
643 /* The protected block contains wait_for_property_change, which can 645 /* The protected block contains wait_for_property_change, which can
@@ -648,8 +650,8 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
648 650
649#ifdef TRACE_SELECTION 651#ifdef TRACE_SELECTION
650 { 652 {
651 char *sel = XGetAtomName (display, reply.selection); 653 char *sel = XGetAtomName (display, reply->selection);
652 char *tgt = XGetAtomName (display, reply.target); 654 char *tgt = XGetAtomName (display, reply->target);
653 TRACE3 ("%s, target %s (%d)", sel, tgt, ++x_reply_selection_request_cnt); 655 TRACE3 ("%s, target %s (%d)", sel, tgt, ++x_reply_selection_request_cnt);
654 if (sel) XFree (sel); 656 if (sel) XFree (sel);
655 if (tgt) XFree (tgt); 657 if (tgt) XFree (tgt);
@@ -664,10 +666,10 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
664 { 666 {
665 /* Send all the data at once, with minimal handshaking. */ 667 /* Send all the data at once, with minimal handshaking. */
666 TRACE1 ("Sending all %d bytes", bytes_remaining); 668 TRACE1 ("Sending all %d bytes", bytes_remaining);
667 XChangeProperty (display, window, reply.property, type, format, 669 XChangeProperty (display, window, reply->property, type, format,
668 PropModeReplace, data, size); 670 PropModeReplace, data, size);
669 /* At this point, the selection was successfully stored; ack it. */ 671 /* At this point, the selection was successfully stored; ack it. */
670 XSendEvent (display, window, False, 0L, (XEvent *) &reply); 672 XSendEvent (display, window, False, 0L, &reply_base);
671 } 673 }
672 else 674 else
673 { 675 {
@@ -693,19 +695,19 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
693 error ("Attempt to transfer an INCR to ourself!"); 695 error ("Attempt to transfer an INCR to ourself!");
694 696
695 TRACE2 ("Start sending %d bytes incrementally (%s)", 697 TRACE2 ("Start sending %d bytes incrementally (%s)",
696 bytes_remaining, XGetAtomName (display, reply.property)); 698 bytes_remaining, XGetAtomName (display, reply->property));
697 wait_object = expect_property_change (display, window, reply.property, 699 wait_object = expect_property_change (display, window, reply->property,
698 PropertyDelete); 700 PropertyDelete);
699 701
700 TRACE1 ("Set %s to number of bytes to send", 702 TRACE1 ("Set %s to number of bytes to send",
701 XGetAtomName (display, reply.property)); 703 XGetAtomName (display, reply->property));
702 { 704 {
703 /* XChangeProperty expects an array of long even if long is more than 705 /* XChangeProperty expects an array of long even if long is more than
704 32 bits. */ 706 32 bits. */
705 long value[1]; 707 long value[1];
706 708
707 value[0] = bytes_remaining; 709 value[0] = bytes_remaining;
708 XChangeProperty (display, window, reply.property, dpyinfo->Xatom_INCR, 710 XChangeProperty (display, window, reply->property, dpyinfo->Xatom_INCR,
709 32, PropModeReplace, 711 32, PropModeReplace,
710 (unsigned char *) value, 1); 712 (unsigned char *) value, 1);
711 } 713 }
@@ -714,7 +716,7 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
714 716
715 /* Tell 'em the INCR data is there... */ 717 /* Tell 'em the INCR data is there... */
716 TRACE0 ("Send SelectionNotify event"); 718 TRACE0 ("Send SelectionNotify event");
717 XSendEvent (display, window, False, 0L, (XEvent *) &reply); 719 XSendEvent (display, window, False, 0L, &reply_base);
718 XFlush (display); 720 XFlush (display);
719 721
720 had_errors = x_had_errors_p (display); 722 had_errors = x_had_errors_p (display);
@@ -725,7 +727,7 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
725 if (! had_errors) 727 if (! had_errors)
726 { 728 {
727 TRACE1 ("Waiting for ACK (deletion of %s)", 729 TRACE1 ("Waiting for ACK (deletion of %s)",
728 XGetAtomName (display, reply.property)); 730 XGetAtomName (display, reply->property));
729 wait_for_property_change (wait_object); 731 wait_for_property_change (wait_object);
730 } 732 }
731 else 733 else
@@ -741,15 +743,15 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
741 BLOCK_INPUT; 743 BLOCK_INPUT;
742 744
743 wait_object 745 wait_object
744 = expect_property_change (display, window, reply.property, 746 = expect_property_change (display, window, reply->property,
745 PropertyDelete); 747 PropertyDelete);
746 748
747 TRACE1 ("Sending increment of %d elements", i); 749 TRACE1 ("Sending increment of %d elements", i);
748 TRACE1 ("Set %s to increment data", 750 TRACE1 ("Set %s to increment data",
749 XGetAtomName (display, reply.property)); 751 XGetAtomName (display, reply->property));
750 752
751 /* Append the next chunk of data to the property. */ 753 /* Append the next chunk of data to the property. */
752 XChangeProperty (display, window, reply.property, type, format, 754 XChangeProperty (display, window, reply->property, type, format,
753 PropModeAppend, data, i); 755 PropModeAppend, data, i);
754 bytes_remaining -= i * format_bytes; 756 bytes_remaining -= i * format_bytes;
755 if (format == 32) 757 if (format == 32)
@@ -766,7 +768,7 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
766 /* Now wait for the requester to ack this chunk by deleting the 768 /* Now wait for the requester to ack this chunk by deleting the
767 property. This can run random lisp code or signal. */ 769 property. This can run random lisp code or signal. */
768 TRACE1 ("Waiting for increment ACK (deletion of %s)", 770 TRACE1 ("Waiting for increment ACK (deletion of %s)",
769 XGetAtomName (display, reply.property)); 771 XGetAtomName (display, reply->property));
770 wait_for_property_change (wait_object); 772 wait_for_property_change (wait_object);
771 } 773 }
772 774
@@ -777,8 +779,8 @@ x_reply_selection_request (struct input_event *event, int format, unsigned char
777 XSelectInput (display, window, 0L); 779 XSelectInput (display, window, 0L);
778 780
779 TRACE1 ("Set %s to a 0-length chunk to indicate EOF", 781 TRACE1 ("Set %s to a 0-length chunk to indicate EOF",
780 XGetAtomName (display, reply.property)); 782 XGetAtomName (display, reply->property));
781 XChangeProperty (display, window, reply.property, type, format, 783 XChangeProperty (display, window, reply->property, type, format,
782 PropModeReplace, data, 0); 784 PropModeReplace, data, 0);
783 TRACE0 ("Done sending incrementally"); 785 TRACE0 ("Done sending incrementally");
784 } 786 }
diff --git a/src/xterm.c b/src/xterm.c
index 3fc431c1350..b3e33b7c0bb 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4045,7 +4045,7 @@ x_window_to_scroll_bar (Display *display, Window window_id)
4045 return XSCROLL_BAR (bar); 4045 return XSCROLL_BAR (bar);
4046 } 4046 }
4047 4047
4048 return 0; 4048 return NULL;
4049} 4049}
4050 4050
4051 4051
@@ -6008,7 +6008,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
6008 goto OTHER; 6008 goto OTHER;
6009#endif /* USE_X_TOOLKIT */ 6009#endif /* USE_X_TOOLKIT */
6010 { 6010 {
6011 XSelectionClearEvent *eventp = (XSelectionClearEvent *) &event; 6011 XSelectionClearEvent *eventp = &(event.xselectionclear);
6012 6012
6013 inev.ie.kind = SELECTION_CLEAR_EVENT; 6013 inev.ie.kind = SELECTION_CLEAR_EVENT;
6014 SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display; 6014 SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display;
@@ -6025,8 +6025,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
6025 goto OTHER; 6025 goto OTHER;
6026#endif /* USE_X_TOOLKIT */ 6026#endif /* USE_X_TOOLKIT */
6027 { 6027 {
6028 XSelectionRequestEvent *eventp 6028 XSelectionRequestEvent *eventp = &(event.xselectionrequest);
6029 = (XSelectionRequestEvent *) &event;
6030 6029
6031 inev.ie.kind = SELECTION_REQUEST_EVENT; 6030 inev.ie.kind = SELECTION_REQUEST_EVENT;
6032 SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display; 6031 SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display;