(fontset-plain-name): Handle the case
[bpt/emacs.git] / src / ChangeLog
CommitLineData
15d143f7
KH
12002-05-10 Yong Lu <lyongu@asia-infonet.com>
2
3 * charset.c (load_charset_map): Fix previous change.
4 (read_hex): Don't treat SPC as a comment starter.
5 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
6 -1.
7 (Fdecode_char): Fix typo.
8
92002-05-10 Kenichi Handa <handa@etl.go.jp>
10
11 * charset.h (struct charset): New member `code_space_mask'.
12
13 * coding.c (coding_set_source): Delete the local variable
14 beg_byte.
15 (encode_coding_charset): Delete the local variable charset.
16 (Fdefine_coding_system_internal): Likewise.
17 (Fdefine_coding_system_internal): Setup
18 attrs[coding_attr_charset_valids] correctly.
19
20 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
21 member to check if CODE is valid or not.
22 (Fdefine_charset_internal): Initialize `code_space_mask' member.
23 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
24 is within the range of charset->min_code and carset->max_code.
25
b74e4686
DL
262002-05-09 Dave Love <fx@gnu.org>
27
28 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
29
30 * dispextern.h (generate_ascii_font): Fix return type.
31
32 * xfaces.c (generate_ascii_font): Fix arg declaration.
33
34 * coding.c (coding_inherit_eol_type)
35 (Fset_terminal_coding_system_internal)
36 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
37
8efbba21
KH
382002-05-08 Kenichi Handa <handa@etl.go.jp>
39
40 * coding.c (decode_coding_charset, encode_coding_charset): Handle
41 multiple charsets correctly.
42
1a0c5ca9
KH
432002-05-07 Kenichi Handa <handa@etl.go.jp>
44
e4ac8240
KH
45 * search.c (boyer_moore): Fix handling of mulitbyte character
46 translation.
47
1a0c5ca9
KH
48 * xdisp.c (display_mode_element): When the variable `elt' is
49 changed, update `this' and `lisp_string'.
50
3d79abfb
KH
512002-05-07 Kenichi Handa <handa@etl.go.jp>
52
53 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
54
55 * callproc.c (Fcall_process): Be sure to give the current buffer
56 to decode_coding_c_string. Update PT and PT_BYTE after the
57 insertion.
58
59 * charset.c (struct charset_map_entries): New struct.
60 (load_charset_map): Renamed from parse_charset_map. New args
61 entries and n_entries. Caller changed.
62 (load_charset_map_from_file): Renamed from load_charset_map.
63 Caller changed. New arg control_flag. Call load_charset_map at
64 the tail.
65 (load_charset_map_from_vector): New function.
66 (Fdefine_charset_internal): Setup charset.compact_codes_p.
67 (encode_char): If the charset is compact, change a character index
68 to a code point.
69
70 * coding.c (coding_alloc_by_making_gap): Check the case that the
71 source and destination are the same correctly.
72 (decode_coding_raw_text): Set coding->consumed_char and
73 coding->consumed to 0.
74 (produce_chars): If coding->chars_at_source is nonzero, update
75 coding->consumed_char and coding->consumed before calling
76 alloc_destination.
77 (Fdefine_coding_system_alias): Register ALIAS in
78 Vcoding_system_alist.
79 (syms_of_coding): Define `no-convesion' coding system at the tail.
80
81 * fileio.c (Finsert_file_contents): Set coding_system instead of
82 val. If the current buffer is multibyte, always call
83 decode_coding_gap.
84
85 * xfaces.c (try_font_list): Give higher priority to fontset's
86 family than face's family.
87
882002-04-18 Kenichi Handa <handa@etl.go.jp>
89
90 * callproc.c (Fcall_process): Be sure to give the current buffer
91 to decode_coding_c_string.
92
93 * xfaces.c (try_font_list): Give a family specified in a fontset
94 higher priority than a family specified in a face.
95
6a709baf
KH
962002-04-09 Kenichi Handa <handa@etl.go.jp>
97
98 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
99 Fix arguments to insert_from_buffer.
100
101 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
102
85779cf5
KH
1032002-03-11 Kenichi Handa <handa@etl.go.jp>
104
105 * coding.c (produce_chars): Set the variable `multibytep' correctly.
106 (decode_coding_gap): Set coding->dst_multibyte correctly.
107
ed9d8bda
KH
1082002-03-07 Kenichi Handa <handa@etl.go.jp>
109
ed9d8bda
KH
110 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
111 (decode_coding_utf_16): Fix converting high and low bytes to
112 code-point.
113 (encode_coding_utf_16): Substitute coding->default_char for
114 non-Unicode characters.
115 (decode_coding): Don't call record_insert here.
116 (setup_coding_system): Initialize `surrogate' of
117 coding->spec.utf_16 to 0.
118 (EMIT_ONE_BYTE): Fix for multibyte case.
119
dd6d5c01
KH
120 * insdel.c (insert_from_gap): Call record_insert.
121
3e4abc9e
KH
1222002-03-04 Kenichi Handa <handa@etl.go.jp>
123
124 * casefiddle.c (casify_region): Fix multibyte case.
125
126 * character.c (c_string_width): Add return type `int'.
127 (char_string_with_unification): Arg ADVANCED deleted.
128
129 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
130 (CHAR_STRING): Adjusted for the change of
131 char_string_with_unification.
132 (CHAR_STRING_ADVANCE): Make it do-while statement.
133
134 * chartab.c (sub_char_table_set_range): Optimized for the case
135 DEPTH == 3. Add workaround code for a GCC optimization bug.
136
85779cf5
KH
137 * charset.c (parse_charset_map): Remove an unused variable.
138
3e4abc9e
KH
139 * coding.c: Delete unused variables.
140
141 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
142 earlier. If inserted is zero and the coding system doesn't
143 require flushing, don't call decode_coding_gap.
144
145 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
146
222b0630
KH
1472002-03-01 Kenichi Handa <handa@etl.go.jp>
148
149 The following changes are for using Unicode as an internal
150 character model, and use UTF-8 format for buffer/string
151 representation.
152
153 * .gdbinit (xchartable): Adjusted for the change of char table
154 structure.
155 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
156
157 * Makefile.in (obj): Add character.o and chartab.o.
158 (lisp, shortlisp): Remove utf-8.elc:
159 (*.o): For many files, change dependency on charset.h to
160 character.h, and add dependency on character.h.
161 (character.o, chartab.o): New targets.
162
163 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
164 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
165 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
166 of "charset.h".
167
168 * dired.c, filelock.c: Include "character.h".
169
170 * alloc.c: Include "character.h" instead of "charset.h".
171 (Fmake_char_table): Moved to chartab.c.
172 (make_sub_char_table): Likewise.
173 (syms_of_alloc): Remove defsubr for Smake_char_table.
174
175 * buffer.c: Include "character.h" instead of "charset.h", don't
176 include "coding.h".
177 (Fset_buffer_multibyte): Adjuted for UTF-8.
178
179 * buffer.h: EXFUN Fbuffer_live_p.
180
181 * callproc.c: Include "character.h" instead of "charset.h".
182 (Fcall_process): Big change for the new code-conversion APIs.
183
184 * casetab.c: Include "character.h" instead of "charset.h".
185 (set_canon, set_identity, shuffle): Adjusted for the new
186 map_char_table spec.
187 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
188 accessing the char table structure.
189
190 * chartab.c: New file that implements char table.
191
192 * category.c: Include "character.h".
193 (copy_category_entry): New function.
194 (copy_category_table): Call map_char_table and copy_category_entry.
195 (Fmake_category_table): Initialize all top-vel slots.
196 (char_category_set): New function.
197 (modify_lower_category_set): Deleted.
198 (Fmodify_category_entry): Call char_table_ref_and_range.
199
200 * category.h (CATEGORY_SET): Just call char_category_set.
201
202 * ccl.c: Include "character.h".
203 (Qccl, Qcclp): New variables.
204 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
205 it's less than 256.
206 (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
207 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
208 and DST type.
209 (ccl_driver): Types of arguments changed. Code adjusted for that.
210 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
211 ccl_driver.
212 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
213
214 * ccl.h (struct ccl_program): Members eol_type and multibyte
215 deleted. New members src_multibyte, dst_multibyte, consumed, and
216 produced.
217 (struct ccl_spec): Members decoder and encoder deleted. New
218 memeber ccl.
219 (CODING_SPEC_CCL_PROGRAM): New macro.
220 (ccl_driver): Prototype updated.
221 (Qccl, Qcclp, Fccl_program_p): Extern them.
222 (CHECK_CCL_PROGRAM): New macro.
223
224 * character.c, character.h, chartab.c: New files.
225
226 * charset.c: Mostly re-written. Character and multibyte sequence
227 handling codes are moved to character.c.
228
229 * charset.h: Mostly re-written. Character and multibyte sequence
230 handling codes are moved to character.h.
231
232 * coding.c, coding.h: Mostly re-written.
233
234 * composite.c: Include "character.h" instead of "charset.h".
235 (CHAR_WIDTH): Moved to character.h.
236 (HASH_KEY, HASH_VALUE): Deleted.
237
238 * composite.h (enum composition_method): Order of enumeration
239 symbols changed.
240
241 * data.c: Include "character.h" instead of "charset.h".
242 (Faref): Call CHAR_TABLE_REF for a char table.
243 (Faset): Call CHAR_TABLE_SET for a char table.
244
245 * dispextern.h (free_realized_face, check_face_attribytes,
246 generate_ascii_font): Extern them.
247 (free_realized_multibyte_face): Extern deleted.
248
249 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
250 table structure.
251
252 * editfns.c: Include "character.h" instead of "charset.h".
253 (Fchar_to_string): Always call CHAR_STRING.
254
255 * emacs.c (main): Call init_charset_once, init_charset,
256 syms_of_chartab, and syms_of_character.
257
258 * fileio.c: Include "character.h" instead of "charset.h".
259 (Finsert_file_contents): Big change for the new code-conversion
260 API.
261 (choose_write_coding_system): Likewise.
262 (Fwrite_region): Likewise.
263 (build_annotations_2): Deleted.
264 (e_write): Big change for the new code-conversion API.
265
266 * fns.c: Include "character.h" instead of "charset.h".
267 (copy_sub_char_table): Moved to chartab.c.
268 (Fcopy_sequence): Call copy_char_table for a char table.
269 (concat): Delete codes calling count_multibyte.
270 (string_char_to_byte): Adjusted for the new multibyte form.
271 (string_byte_to_char): Likewise.
272 (internal_equal): Adjusted for the change of char table structure.
273 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
274 Fchar_table_extra_slot, Fset_char_table_extra_slot,
275 Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
276 char_table_translate, optimize_sub_char_table,
277 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
278 chartab.c.
279 (char_table_ref_and_index): Deleted.
280 (HASH_KEY, HASH_VALUE): Moved to lisp.h.
281 (Fmd5): Call preferred_coding_system instead of accessing
282 Vcoding_category_list. Adjusted for the new code-conversion API.
283 (syms_of_fns): Defsubr for char table related functions moved to
284 chartab.c.
285
286 * fontset.c: Mostly re-written.
287
288 * fontset.h (struct font_info): Type of the member encoding_type
289 changed.
290 (enum FONT_SPEC_INDEX): New enum.
291 (fontset_font_pattern, fs_load_font): Prototype updated.
292 (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
293
294 * indent.c: Include "character.h" instead of "charset.h".
295 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
296 WIDTH_BY_CHAR_HEAD.
297
298 * insdel.c: Include "character.h" instead of "charset.h".
299 (copy_text): Don't refer to Vnonascii_translation_table.
300 (insert_from_gap): New function.
301
302 * keyboard.c: Include "character.h" instead of "charset.h".
303 (command_loop_1): Never call direct_output_forward_char before
304 a non-ASCII character.
305 (read_char): If Vkeyboard_translate_table is a char table, always
306 translated a character.
307
308 * keymap.c: Include "character.h".
309 (store_in_keymap): Handle the case that IDX is a cons.
310 (Fdefine_key): Handle the case that KEY is a cons and the car part
311 is also a cons (range).
312 (push_key_description): Adjusted for the new character code.
313 (describe_vector): Call describe_char_table for a char table.
314 (describe_char_table): New function.
315
316 * keymap.h (describe_char_table): Extern it.
317
318 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
319 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
320 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
321 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
322 Deleted.
323 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
324 structure.
325 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
326 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
327 CHARTAB_SIZE_BITS_3): New macros.
328 (chartab_size): Extern it.
329 (struct Lisp_Char_Table): Re-designed.
330 (struct Lisp_Sub_Char_Table): New structure.
331 (HASH_KEY, HASH_VALUE): Moved from fns.c.
332 (CHARACTERBITS): Defined as 22.
333 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
334 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
335 (GC_SUB_CHAR_TABLE_P): New macro.
336 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
337 (code_convert_string_norecord): Extern deleted.
338 (init_character_once, syms_of_character, init_charset,
339 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
340
341 * lread.c: Include "character.h".
342 (read_multibyte): New arg NBYTES.
343 (read_escape): The meaning of returned *BYTEREP changed.
344 (to_multibyte): Deleted.
345 (read1): Adjuted the handling of char table and string.
346
347 * print.c: Include "character.h" instead of "charset.h".
348 (print_string): Convert 8-bit raw bytes to octal form by
349 string_escape_byte8.
350 (print_object): Adjusted for the new multibyte form. Print 8-bit
351 raw bytes always in octal form. Handle sub char table correctly.
352
353 * process.c: Include "character.h" instead of "charset.h".
354 (read_process_output): Adjusted for the new code-conversion API.
355 (send_process): Likewise.
356
357 * puresize.h (BASE_PURESIZE): Increased.
358
359 * regex.c: Include "character.h" instead of "charset.h".
360 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
361 (regex_compile): Accept a range whose starting and ending
362 character have different leading bytes.
363 (analyse_first): Adjusted for the above change.
364
365 * search.c: Include "character.h" instead of "charset.h".
366 (search_buffer, boyer_moore): Adjusted for the new multibyte form.
367 (Freplace_match): Adjusted for the change of
368 multibyte_char_to_unibyte.
369
370 * syntax.c: Include "character.h" instead of "charset.h".
371 (syntax_parent_lookup): Deleted.
372 (Fmodify_syntax_entry): Accept a cons as CHAR.
373 (skip_chars): Adjusted for the new multibyte form.
374 (init_syntax_once): Call char_table_set_range instead of directly
375 accessing the structure of a char table.
376
377 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
378 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
379 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
380 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
381
382 * term.c: Include "buffer.h" and "character.h".
383 (encode_terminal_code): Adjusted for the new code-conversion API.
384 (write_glyphs): Likewise.
385 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
386
387 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
388
389 * xdisp.c: Include "character.h".
390 (get_next_display_element): Adjusted for the new multibyte form.
391 (disp_char_vector): Adjusted for the new char table structure.
392 (decode_mode_spec_coding): Adjusted for the new structure of
393 coding system.
394 (decode_mode_spec): Adjusted for the new code-conversion API.
395
396 * xfaces.c: Include "character.h" instead of "charset.h".
397 (load_face_font): Adjusted for the change of choose_face_font and
398 FS_LOAD_FONT.
399 (generate_ascii_font): New function.
400 (set_lface_from_font_name): Adjusted for the change of
401 FS_LOAD_FONT.
402 (set_font_frame_param): Adjusted for the change of
403 choose_face_font.
404 (free_realized_face): Make it public.
405 (free_realized_faces_for_fontset): Renamed from
406 free_realized_multibyte_face. Free also faces realized for ASCII.
407 (choose_face_font): Argments changed. Adjusted for the change of
408 fontset_font_pattern and FS_LOAD_FONT.
409
410 * xfns.c: Include "character.h".
411 (x_encode_text): Adjusted for the new code-conversion API.
412
6f337974
KH
413 * xselect.c: Don't include "charset.h".
414 (selection_data_to_lisp_data): Adjusted for the new code
415 covnersion API.
416
8a78c965
KH
417 * xterm.c: Include "character.h".
418 (x_encode_char): New argument CHARSET. Caller changed.
419 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
420 SPLIT_CHAR.
421 (x_get_glyph_face_and_encoding): Likewise.
422 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
423 CHAR_WIDTH instead of CHARSET_WIDTH.
424 (XTread_socket): Adjusted for the new code-conversion API.
425 (x_new_font): Adjusted for the change of FS_LOAD_FONT.
426 (x_load_font): Adjusted for the change of struct font.
427
beb0acdf
KS
4282002-02-26 Kim F. Storm <storm@cua.dk>
429
430 The following changes add a new Vminibuf_selected_window variable
431 which is similar to Vminibuf_scroll_window, but which is only set
432 on entry to the minibuffer (from a non-minibuffer window):
433
434 * window.c: (Vminibuf_selected_window): New variable.
435 (struct save_window_data): New member minibuf_selected_window.
436 (Fset_window_configuration): Restore Vminibuf_selected_window.
437 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
438 Set minibuf_scroll_window member to nil if minibuf_level is 0.
439 (compare_window_configurations): Compare minibuf_selected_window.
440
441 * window.h: (Vminibuf_selected_window): Declare extern.
442
443 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
444 entry to minibuffer or on entry from a non-minibuffer window.
445
446 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
447 Vminibuf_selected_window instead of Vminibuf_scroll_window.
448
449 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
450 instead of Vminibuf_scroll_window when deciding in which window
451 the region should be highlighted. Consequently, the region remains
452 highlighteded even when a completion buffer is also displayed.
453
3dfdc066
EZ
4542002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
455
b135bd4c
EZ
456 * fileio.c (Fsubstitute_in_file_name): Fix the change from
457 2002-02-08.
458
3dfdc066
EZ
459 * xselect.c (Qcompound_text_with_extensions): Renamed from
460 Qcompound_text_no_extensions.
461 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
462
804d894a
JB
4632002-02-26 Juanma Barranquero <lektu@terra.es>
464
465 * w32proc.c (syms_of_ntproc): Doc fix.
466
e4ac8240 4672002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
0277b535
PJ
468
469 * intervals.h: Include "dispextern.h" unconditionally.
470
1f1bce0e
JR
4712002-02-24 Jason Rumney <jasonr@gnu.org>
472
473 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
474 and disp-table.elc.
82a399d2 475 (lisp): Add emacs-lisp/backquote.elc.
1f1bce0e 476
5f245371
KS
4772002-02-24 Kim F. Storm <storm@cua.dk>
478
479 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
480 The validation of the event type was too strict as it didn't
481 allow string events; buffer names are used in bindings for
482 menu-bar-select-buffer (see `menu-bar-update-buffers').
483
b66bc4a4 4842002-02-23 Kim F. Storm <storm@cua.dk>
a34cb674
KS
485
486 The following changes rework my patch of 2002-02-06 which
487 added command remapping by entering the commands directly into
488 the keymaps. Now, command remapping uses an explicit `remap'
489 prefix in the keymaps, i.e. [remap COMMAND].
490
491 * keymap.c (Qremap, remap_command_vector): New variables.
492 (is_command_symbol): Removed function.
493 (Fdefine_key): No longer accept a symbol for KEY. Added
494 validation of [remap COMMAND] argument for KEY. The DEF is no
495 longer required to be a symbol when remapping a command.
496 (Fremap_command): New function to remap command through keymaps.
497 (Flookup_key): Perform command remapping initiated by
498 Fremap_command directly for speed.
499 (Fkey_binding): Use Fremap_command for command remapping.
500 (where_is_internal): Handle new command remapping representation.
501 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
502 staticpro them. Defsubr Fremap_command.
503
504 * keymap.h (Fremap_command): Declare extern.
505 (is_command_symbol): Remove extern.
506
507 * keyboard.c (command_loop_1): Use Fremap_command for command
508 remapping; now try command remapping for all symbols.
509
f227fded
EZ
5102002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
511
512 * coding.h (run_pre_post_conversion_on_str): Add prototype.
513
54a0c8a6
JR
5142002-02-23 Jason Rumney <jasonr@gnu.org>
515
516 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
517 on the string before encoding it.
518 (Fw32_get_clipboard_data): Run post-read-conversion on the string
519 after decoding it.
520
521 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
522
e4ac8240 5232002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
042c33d3
PJ
524
525 * w32term.c (enter_timestamp): Remove unused static variable to
526 prevent warning.
527
528 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
529
b72d9870
EZ
5302002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
531
532 * w16select.c (Fw16_get_clipboard_data): Fix last change.
533
534 * xselect.c (selection_data_to_lisp_data): Fix last change.
535
48094ace
JR
5362002-02-22 Jason Rumney <jasonr@gnu.org>
537
538 * w32term.h (struct w32_output): New member menu_command_in_progress.
539
540 * w32menu.c (menubar_selection_callback): Free the menu and
541 clear the menu_command_in_progress flag.
542
543 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
544 (menu_free_timer): New variable.
545 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
546 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
547 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
548 menu command is in progress.
549 <WM_COMMAND>: Set the menu_command_in_progress flag. Kill
550 any menu_free_timer that is running.
551
552 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
553 Call ExtTextOutA rather than ExtTextOut.
554
9feba281
EZ
5552002-02-22 Eli Zaretskii <eliz@gnu.org>
556
557 * puresize.h (BASE_PURESIZE): Increase to 755000.
558
3276b4fe
EZ
5592002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
560
561 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
562 on the string before encoding it.
563 (Fw16_get_clipboard_data): Run post-read-conversion on the string
564 after decoding it.
565
fbbe0ace
EZ
5662002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
567
568 Support for ICCCM Extended Segments in X selections:
569
23e16093 570 * xselect.c <Qcompound_text_no_extensions>: New variable.
fbbe0ace
EZ
571 (syms_of_xselect): Intern and staticpro it.
572 (selection_data_to_lisp_data): Run post-read-conversion on decoded
573 selection text.
574 (lisp_data_to_selection_data): If next-selection-coding-system is
23e16093 575 compound-text-no-extensions, set the type of selection to be
fbbe0ace
EZ
576 compound-text.
577
578 * xterm.h (x_encode_text): Update prototype.
579
580 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
581 callers changed. If SELECTIONP is non-zero, run the
582 pre-write-conversion function before encoding the selection text.
583
2a28d471
KS
5842002-02-21 Kim F. Storm <storm@cua.dk>
585
586 * frame.c (syms_of_frame): Change mouse-highlight default to t.
15fdc2e3
KS
587
588 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Corrected
589 composing of language-change event.
590
9de46181
KS
5912002-02-20 Kim F. Storm <storm@cua.dk>
592
593 * keyboard.c (menu_bar_items): Don't include keymap or local-map
594 bindings at PT when building menu (the menu is not updated often
595 enough for this to work reliable).
596 (tool_bar_items): Likewise.
597 (current_active_maps): Removed unused (and buggy) function.
598
e4ac8240 5992002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
c7f07c4c
PJ
600
601 * xfns.c (gif_load): Use correct width and height for GIF images.
602
f8565280
EZ
6032002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
604
605 * floatfns.c (Fatan): Accept an optional second arg and call
606 atan2 if passed 2 args.
607
5be86f54
JR
6082002-02-18 Jason Rumney <jasonr@gnu.org>
609
610 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
611
f7b9d4d1
JR
6122002-02-17 Jason Rumney <jasonr@gnu.org>
613
614 * w32term.c (x_autoselect_window_p): New variable.
615 (syms_of_w32term): DEFVAR_BOOL and initialize it.
616 (note_mouse_movement): Use it.
617
618 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
619
620 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
621
622 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
623 New variables.
624 (syms_of_w32fns): Intern and staticpro them.
625 (x_frame_parms) <"fullscreen">: New parameter.
626 (x_fullscreen_move, x_set_fullscreen): New functions.
627 (x_set_frame_parameters): Support Qfullscreen.
628 (x_real_positions): Save x/y_pixels_diff frame params.
629 (x_figure_window_size): Support full-screen frames.
630 (Fx_create_frame): Default the fullscreen parameter.
631
632 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
633 (x_fullscreen_adjust): New functions.
634 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
635 fullscreen. Call x_check_fullscreen_move, and set the
636 want_fullscreen member of output_data.w32
637 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
638
639 * w32term.h: New enum for FULLSCREEN_* constants.
640 (struct w32_output): New members want_fullscreen, x_pixels_diff,
641 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
642 (x-fullscreen-adjust): New prototype.
643
ce16e8d9
KS
6442002-02-17 Kim F. Storm <storm@cua.dk>
645
646 * frame.c: (Vmouse_highlight): New variable.
647 (syms_of_frame): DEFVAR_LISP it.
648
649 * frame.h: (Vmouse_highlight): Declare extern.
650
651 * xterm.h (struct x_display_info): Add mouse_face_hidden.
652
653 * xterm.c (disable_mouse_highlight): Removed variable.
654 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
655 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
656 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
657 and on after keyboard input.
658 (x_term_init): Initialize mouse_face_hidden.
659
660 * msdos.h (struct display_info): Add mouse_face_hidden.
661
662 * msdos.c (disable_mouse_highlight): Removed variable.
663 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
664 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
665 (internal_terminal_init): Initialize mouse_face_hidden.
666 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
667 and on after keyboard input.
668
669 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
670
671 * w32term.c (disable_mouse_highlight): Removed variable.
672 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
673 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
674 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
675 and on after keyboard input.
676 (w32_initialize_display_info): Initialize mouse_face_hidden.
677
386c4076
EZ
6782002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
679
9005a471
EZ
680 * msdos.c (last_mouse_window): New variable.
681 (dos_rawgetc): Fix last change--if the mouse is in the same window
682 as recorded in last_mouse_window, don't select this window.
683
760627fa
EZ
684 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not
685 cus-start.el.
686
4a137db1
EZ
687 * msdos.c (x_autoselect_window_p): New variable.
688 (syms_of_msdos): Defvar it.
689 (dos_rawgetc): If x_autoselect_window_p is set, select the window
690 in which the last mouse movement occured, unless it is already
691 selected.
692
386c4076
EZ
693 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step): New
694 variables.
695 (syms_of_xdisp): DEVFAR them.
696 (hscroll_window_tree): Use automatic_hscroll_margin and
697 Vautomatic_hscroll_step to compute the amount of window scrolling.
698
e4ac8240 6992002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5d2200aa 700
3996d07a
PJ
701 * xterm.c (x-autoselect-window): New variable.
702 (note_mouse_movement): Use it.
703
5d2200aa
PJ
704 * keyboard.c: Do not include "systime.h" twice.
705
bdf67c59
AS
7062002-02-15 Andreas Schwab <schwab@suse.de>
707
5407e8a7
AS
708 * puresize.h (BASE_PURESIZE): Increase to 9/5.
709
bdf67c59
AS
710 * alloc.c (NSTATICS): Increase to 1280.
711
98659da6
KG
7122002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
713
f9904178
KG
714 * alloc.c (NSTATICS): Bump to 1026.
715
98659da6
KG
716 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
717 (Vx_super_keysym): New variables.
718 (syms_of_xterm): DEFVAR_LISP them.
719 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
720 variables to determine which keys to use for the various
721 modifiers.
722
a48b709b 7232002-02-13 Kim F. Storm <storm@cua.dk>
1c9f5f23
KS
724
725 * window.c: (Vmode_line_in_non_selected_windows): Removed.
726 (mode_line_in_non_selected_windows): New variable.
727 (syms_of_window): DEFVAR_BOOL it.
728
729 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Use
730 mode_line_in_non_selected_windows.
731 (mode_line_in_non_selected_windows): Declare extern.
732 (Vmode_line_in_non_selected_windows): Removed extern.
733
db54c53a
RS
7342002-02-13 Richard M. Stallman <rms@gnu.org>
735
736 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
737 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
738 (Fclear_this_command_keys): Doc fixes.
739
740 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
741 (update_face_from_frame_parameter): Increment face_change_count
742 and windows_or_buffers_changed to force redisplay using changed faces.
743
744 * xdisp.c (QCpropertize): New variable.
745 (mode_line_proptrans_alist): New variable.
746 (display_mode_element): New arg PROPS; all calls changed.
747 Implement this, for strings.
748 Handle literal output of strings by sharing the
749 main-line code for strings, using local var `literal'.
750 Handle :propertize feature.
751 (syms_of_xdisp): Initialze and staticpro QCpropertize and
752 mode_line_proptrans_alist.
753
a48b709b 7542002-02-11 Kim F. Storm <storm@cua.dk>
3c9bdb7e
KS
755
756 * window.c: (Vmode_line_in_non_selected_windows): New variable.
757 (syms_of_window): DEFVAR_LISP it.
758
759 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
760 (CURRENT_MODE_LINE_FACE_ID): Use it.
761 (Vmode_line_in_non_selected_windows): Declare extern.
762
763 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
764 to get mode line face.
765
573a237a
EZ
7662002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
767
768 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
769 variables; cus-start.el doesn't need them anymore.
770
73df3b72
KS
7712002-02-09 Kim F. Storm <storm@cua.dk>
772
773 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
774 reduction. This fixes a display problem where stray newlines were
775 inserted in the window (corrected by C-l). Clarified code (IMHO).
776
18b0be7c
EZ
7772002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
778
779 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
780
781 * xdisp.c (display_mode_lines): Fix last change.
782
442ca9ba
JR
7832002-02-09 Jason Rumney <jasonr@gnu.org>
784
785 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
786 match each other.
3acfb461
JR
787 (w32_load_system_font): Prevent Cleartype fonts from loading.
788 (Fx_show_tip): Ensure tip frames are above other topmost windows.
442ca9ba 789
cdefda26
KS
7902002-02-09 Kim F. Storm <storm@cua.dk>
791
792 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
793 (CURRENT_MODE_LINE_HEIGHT): Use it.
794 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
795
796 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
797 (pos_visible_p, handle_face_prop): Likewise.
798 (display_mode_lines): Likewise, but for the real selected window.
799 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
800
801 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
802 in non-selected windows.
803 (realize_basic_faces): Realize it.
804 (syms_of_term): Intern and staticpro it.
805
9f69e812
KS
8062002-02-08 Kim F. Storm <storm@cua.dk>
807
808 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
809 Changed mail addresses to emacs-devel@gnu.org.
810
6ded2c89
EZ
8112002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
812
b5d40ceb
EZ
813 * fileio.c (Fsubstitute_in_file_name): If the file name includes
814 ~user, and there's no such user, don't discard everything before
815 ~user.
816
6ded2c89
EZ
817 * floatfns.c (Fround): Doc fix.
818
e4ac8240 8192002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7c15926f
PJ
820
821 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
822
6a229a63
SM
8232002-02-07 Stefan Monnier <monnier@cs.yale.edu>
824
db54c53a 825 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
6a229a63 826
33b93ee5
KS
8272002-02-07 Kim F. Storm <storm@cua.dk>
828
829 * keymap.c (where_is_internal): Only check whether definition is
830 remapped if it fulfills is_command_symbol.
831
72bba9f2
AS
8322002-02-07 Andreas Schwab <schwab@suse.de>
833
834 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
835
836 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
837
93607efd
KS
8382002-02-06 Kim F. Storm <storm@cua.dk>
839
840 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
841 defining command remapping. Doc updated.
842 (Flookup_key): Remap command through keymap if KEY is a symbol.
843 (is_command_symbol): New function.
6a229a63
SM
844 (Fkey_binding): Use it. New optional argument NO-REMAP.
845 Doc updated. Callers changed. Perform command remapping via
93607efd
KS
846 recursive call unless that arg is non-nil.
847 (where_is_internal): New argument no_remap. Callers changed.
848 Call recursively to find original key bindings for a remapped
849 comand unless that arg is non-nil.
6a229a63
SM
850 (Fwhere_is_internal): New optional argument NO-REMAP.
851 Doc updated. Callers changed. Pass arg to where_is_internal.
93607efd
KS
852
853 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
854 (is_command_symbol): Added prototype.
855
856 * keyboard.c (Vthis_original_command): New variable.
857 (syms_of_keyboard): DEFVAR_LISP it.
858 (command_loop_1): Set it, and perform command remapping.
859
e4ac8240 8602002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2642a29e
PJ
861
862 * keyboard.c (recursive_edit_1): Call cancel_hourglass
863 unconditionally.
864
f4ed304f
JR
8652002-02-06 Jason Rumney <jasonr@gnu.org>
866
867 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
868
b5309828
EZ
8692002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
870
871 * charset.c (get_charset_id): Use if-else instead of ?:.
872
108eaabb
RS
8732002-02-06 Richard M. Stallman <rms@gnu.org>
874
875 * filelock.c (S_ISLNK): Define if not defined.
876
bd3567fa
RS
8772002-02-03 Richard M. Stallman <rms@gnu.org>
878
879 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
880
881 * lread.c (read1): Redesign strategy for force_multibyte and
882 force_singlebyte. Now is_multibyte records whether read_buffer
883 is multibyte. Encountering any multibyte character makes it so.
6a229a63 884
95c11956
SM
8852002-02-02 Stefan Monnier <monnier@cs.yale.edu>
886
887 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
888 with the same sequence, map that sequence to f10 rather than f0.
889
ee466d0b
AS
8902002-02-03 Andreas Schwab <schwab@suse.de>
891
892 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
893 latter never being defined on GNU/Linux.
894
f77157da
EZ
8952002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
896
897 * xfaces.c (realize_default_face): Don't set the weight and slant
898 of the default face to Qnormal, unless these attributes are
899 unspecified.
900
e4ac8240 9012002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4fbcc9b1 902
95c11956
SM
903 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
904 Call cancel_hourglass unconditionally.
4fbcc9b1
PJ
905
906 * eval.c (Fsignal): Remove duplicated declaration of
907 the variable `display_hourglass_p'.
908
5e101746
RS
9092002-01-31 Richard M. Stallman <rms@gnu.org>
910
911 * editfns.c (region_limit): Nicer error message.
912
913 * coding.c (decode_composition_emacs_mule):
914 Give up if NCOMPONENT gets too large to index `component'.
915
916 * callint.c (check_mark): New arg to specify clearer error message.
917 Callers changed.
918
9192002-01-27 Richard M. Stallman <rms@gnu.org>
920
921 * minibuf.c (Fcompleting_read): Doc fix.
922
e4ac8240 9232002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7a4b11ca
PJ
924
925 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
95c11956
SM
926 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
927 Fix doc-strings.
7a4b11ca 928
f5798fbd
RS
9292002-01-26 Richard M. Stallman <rms@gnu.org>
930
931 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
932
933 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
934 and scroll_up_aggressively.
935
e4ac8240 9362002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8fc77801
PJ
937
938 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
939
3a232704
SM
9402002-01-25 Stefan Monnier <monnier@cs.yale.edu>
941
942 * textprop.c (Fnext_property_change, Fnext_single_property_change)
943 (Fprevious_property_change, Fprevious_single_property_change):
944 Stay within the narrowed-buffer boundaries.
945
dd939ea1
EZ
9462002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
947
948 * term.c (Ftty_display_color_cells): New function.
949 (syms_of_term): Defsubr it.
0011f346
EZ
950 (Ftty_display_color_cells, Ftty_display_color_p): Change the
951 argument name to DISPLAY. Doc fix.
dd939ea1
EZ
952
953 * dispextern.h: Add prototype for set_tty_color_mode and
954 tty_setup_colors.
955
aa35b6ad
JR
9562002-01-24 Jason Rumney <jasonr@gnu.org>
957
958 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
959 If region left to draw is not what was expected, mark the frame as
960 garbaged.
961
962 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
963 Combine the regions returned by BeginPaint and GetUpdateRect.
964
ab76d376
JR
9652002-01-23 Jason Rumney <jasonr@gnu.org>
966
967 * w32term.c (x_update_window_begin): Only hide caret if
968 w32_use_visible_system_caret is set.
969 (x_update_window_end): Only show caret if
970 w32_use_visible_system_caret is set.
971 (syms_of_w32term): Handle SystemParametersInfo call failing.
972
973 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
974
d89b617d
RS
9752002-01-22 Richard M. Stallman <rms@gnu.org>
976
977 * unexelf.c (unexec): Define n so as to cause compilation error
978 for the code where people have often written n instead of nn.
979
980 * .gdbinit (hookpost-run): Defined.
981
f0b9a067
JD
9822002-01-22 Jan D. <Jan.Djarv@mbox200.swipnet.se>
983
984 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
985
5f9338d5
JD
9862002-01-21 Jan D. <Jan.Djarv@mbox200.swipnet.se>
987
988 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
989 if fullscreen is being set.
990
e4ac8240 9912002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
029a305c
PJ
992
993 * minibuf.c (Fminibuffer_contents)
994 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
995 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
996
8cc0e0cf
RS
9972002-01-21 Richard M. Stallman <rms@gnu.org>
998
999 * window.c (check_frame_size): Fix minimum height calculation.
1000
d7b8ee68
KR
10012002-01-20 Ken Raeburn <raeburn@gnu.org>
1002
1003 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
1004 height before comparison.
1005 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
1006
c3c14723
JR
10072002-01-20 Jason Rumney <jasonr@gnu.org>
1008
1009 * w32term.c (w32_system_caret_width): Remove.
1010 (w32_use_visible_system_caret): New user flag.
1011 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
1012 Windows reports a screen reader running.
1013 (x_update_window_begin): Hide the system caret.
1014 (x_update_window_end): Show the system caret.
1015 (x_display_and_set_cursor): Don't draw a cursor when
1016 w32_use_visible_system_caret is set. Do not adjust width.
1017
1018 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
1019 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
1020 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
1021 the user requests it. Use system default width when creating.
1022 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
1023
95c11956
SM
1024 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
1025 New window messages.
c3c14723 1026
75e20bec
RS
10272002-01-20 Richard M. Stallman <rms@gnu.org>
1028
1029 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
1030
e4ac8240 10312002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3c17e062
PJ
1032
1033 * doprnt.c (doprnt1): Fix typos in error call.
1034
3b927d14
EZ
10352002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1036
1037 * unexelf.c (unexec) [__sgi]: Support the .got sections.
1038
aa06cb9c
JR
10392002-01-20 Jason Rumney <jasonr@gnu.org>
1040
1041 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
1042 that Windows returns. If a double check fails, try to guess how
1043 ExtTextOut is going to act.
1044
1045 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
1046 in place of stricmp.
1047 (w32_list_synthesized_fonts): Removed.
1048 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
1049 (struct enumfont_t): New element; list.
1050 (enum_font_cb2): List all style and charset variations of a font.
1051 (Fw32_select_font): New optional argument; include_proportional.
1052 Exclude vertical fonts. Exclude proportional fonts unless
1053 include_proportional is non-nil.
1054 (w32_enable_synthesized_fonts): Change to a boolean.
1055 (Fw32_send_sys_command): Doc fix.
1056
e4ac8240 10572002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
37082f8d
PJ
1058
1059 * dispnew.c (update_frame): Move the variable `tem' to the block
1060 where it is used.
1061
815d969e
JR
10622002-01-19 Jason Rumney <jasonr@gnu.org>
1063
1064 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
1065 call to face-set-after-frame-default.
1066
a1e3dda0
RS
10672002-01-18 Richard M. Stallman <rms@gnu.org>
1068
95c11956 1069 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
a1e3dda0
RS
1070 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
1071
daf516d3
RS
10722002-01-17 Richard M. Stallman <rms@gnu.org>
1073
1074 * window.c (enlarge_window): When exceeding size of parent,
1075 directly delete all the siblings instead of trying to resize it.
1076
e4ac8240 10772002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
dfc7a077
PJ
1078
1079 * term.c (set_tty_color_mode): Remove unused variable `tem'.
1080
3ddff138
RS
10812002-01-16 Henrik Enberg <henrik@enberg.org>
1082
7adfc0d7 1083 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
3ddff138 1084
465c9390
KS
10852002-01-16 Kim F. Storm <storm@cua.dk>
1086
1087 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
1088 is invisible. This can happen if cursor is on top line of a
1089 window, and we switch to a buffer with a header line.
1090
95c11956 1091 * w32term.c (x_erase_phys_cursor): Ditto.
a2c6de8e 1092
e4ac8240 10932002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7a4bce14
PJ
1094
1095 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
1096 `dont_resize' only when used.
1097
1098 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
1099
26f622b3
EZ
11002002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
1101
1102 * xdisp.c (display_mode_element): When computing charpos, depend
f165c448 1103 on multibyteness of elt, not the text in field.
26f622b3 1104
e4ac8240 11052002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1a6db83a
PJ
1106
1107 * buffer.c (Fkill_all_local_variables): Increment
1108 `update_mode_lines' only once.
1109
e4ac8240 11102002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
a4ff5d67 1111
aa1977d7
PJ
1112 * lisp.h (adjust_after_replace_noundo)
1113 (Fupdate_coding_systems_internal): Add prototypes.
1114
95c11956 1115 * sound.c (Fplay_sound): Initialize header_size also for :data case.
a4ff5d67 1116
3947677c
EZ
11172002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
1118
1119 Support for the --color command-line argument and tty-color-mode
1120 frame parameter:
1121
1122 * term.c (tty_default_color_capabilities, tty_setup_colors)
1123 (set_tty_color_mode): New functions.
1124 (term_init): Call tty_default_color_capabilities.
1125 (Qtty_color_mode_alist): New variable.
1126 (syms_of_term): Intern and staticpro it.
1127
1128 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
1129 frames.
1130 (do_switch_frame): For termcap frames, switch the tty
1131 color mode as specified by the frame's parameters.
1132 (Qtty_color_mode): New variable.
1133 (syms_of_frame): Intern and staticpro it.
1134
1135 * emacs.c (USAGE2): Add the --color option.
1136 (standard_args): Ditto.
1137
8a8e19a3
EZ
11382002-01-13 Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
1139
1140 * xterm.h (struct x_output): New members want_fullscreen,
1141 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
1142 y_pixels_outer_diff.
1143 New enum for FULLSCREEN_* constants.
1144 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
1145 is NULL.
1146 (x_fullscreen_adjust): Add prototype.
1147
1148 * emacs.c (USAGE2): Add the new full-screen arguments.
1149 (standard_args): Ditto.
1150
95c11956
SM
1151 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
1152 New variables.
8a8e19a3
EZ
1153 (syms_of_xfns): Intern and staticpro them.
1154 (x_frame_parms) <"fullscreen">: New parameter.
1155 (x_fullscreen_move, x_set_fullscreen): New functions.
1156 (x_set_frame_parameters): Support for Qfullscreen.
1157 (x_real_positions): More accurate computation of the frame position.
1158 (x_figure_window_size): Support full-screen frames.
1159 (Fx_create_frame): Default the fullscreen parameter.
1160
1161 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
1162 (XTread_socket) <Expose>: Call x_check_fullscreen.
95c11956
SM
1163 <ConfigureNotify>: Don't resize to fullscreen.
1164 Call x_check_fullscreen_move, and set the want_fullscreen member of
8a8e19a3
EZ
1165 output_data.x.
1166
4f1b1854
JR
11672002-01-13 Jason Rumney <jasonr@gnu.org>
1168
1169 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
1170 for mice with more than 3 buttons.
1171
1172 * w32term.c (parse_button): New parameter xbutton. Callers changed.
1173 (w32_read_socket): Handle new "XBUTTON" messages.
1174
1175 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
1176 (syms_of_w32fns): DEFVAR_BOOL it.
1177 (w32_wnd_proc): Handle new "XBUTTON" messages.
1178
e4ac8240 11792002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5cb6905d 1180
95c11956 1181 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
5cb6905d 1182
437dfb9f
AS
11832002-01-13 Andreas Schwab <schwab@suse.de>
1184
1185 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
1186
9f696a00
AS
11872002-01-12 Andreas Schwab <schwab@suse.de>
1188
1189 * .gdbinit (xbuffer): Remove address operator since data is now a
1190 pointer.
1191
d57966d7
RS
11922002-01-11 Richard M. Stallman <rms@gnu.org>
1193
1194 * insdel.c (adjust_after_replace_noundo): New function.
1195
1196 * coding.c (code_convert_region): Don't copy old text if undo disabled.
1197
74779f52
JR
11982002-01-09 Jason Rumney <jasonr@gnu.org>
1199
1200 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
1201 when checking for multiple frames.
1202
a474d59c
RS
12032002-01-08 Richard M. Stallman <rms@gnu.org>
1204
1205 * window.c (delete_window): Rewrite the code for changing the
1206 selected window to handle the case where WINDOW is not a leaf.
1207
fbb70ad9
EZ
12082002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
1209
1210 * process.c (send_process): Set src_multibyte to 1 after the call
1211 top setup_coding_system, not before the call.
1212
2d10309f
JR
12132002-01-07 Jason Rumney <jasonr@gnu.org>
1214
1215 * xmenu.c (set_frame_menubar, xmenu_show):
3a232704 1216 (xdialog_show): Initialize wv->help to Qnil.
2d10309f
JR
1217
1218 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
1219 (w32_dialog_show): Initialize wv->help to Qnil.
1220
7f2cddf3
JR
12212002-01-06 Jason Rumney <jasonr@gnu.org>
1222
0b1e6b54
JR
1223 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
1224
7f2cddf3
JR
1225 * w32menu.c (w32_menu_display_help): Revert last change.
1226
1227 * xmenu.c (menu_highlight_callback): Revert last change.
1228
e17144de
AS
12292002-01-06 Andreas Schwab <schwab@suse.de>
1230
1231 * insdel.c (make_gap_larger): Make sure buffer size does not
1232 overflow range of int.
1233
6637c996
JR
12342002-01-05 Jason Rumney <jasonr@gnu.org>
1235
44368f8f
JR
1236 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1237 OVERLAPS_P.
1238
f884b6f4
JR
1239 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
1240
6637c996
JR
1241 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
1242 to the left or to the right of the pointer, put it against
1243 the left screen edge.
1244 (x_frame_parms): Add missing braces around initializer.
1245
1246 * w32term.c (x_setup_relief_colors): Don't compute an image's
1247 background color if it doesn't have a Pixmap.
1248 (notice_overwritten_cursor): Don't depend on
1249 output_cursor and updated_area. Compare pixel coordinates with
1250 window's cursor pixel coordinates.
3a232704
SM
1251 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1252 Call notice_overwritten_cursor with new arg list.
6637c996
JR
1253 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1254 unconditionally.
1255 (x_draw_image_relief): Use predefined macro instead of
1256 constant when the value of `tool_bar_button_relief' is negative.
1257
1258 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
1259
453c5510
RS
12602002-01-04 Richard M. Stallman <rms@gnu.org>
1261
1262 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
1263
d1d070e3
RS
12642002-01-03 Richard M. Stallman <rms@gnu.org>
1265
1266 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
1267 (Fkey_binding): Try the `keymap' property map first.
1268 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
1269 minor mode bindings.
1270
9ec1bdb6
KS
12712002-01-03 Kim F. Storm <storm@cua.dk>
1272
1273 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
1274
308dd672
RS
12752002-01-02 Richard M. Stallman <rms@gnu.org>
1276
edde72f6
RS
1277 * keyboard.c (read_key_sequence): Handle the keymap property
1278 before minor mode maps.
1279
308dd672
RS
1280 * editfns.c (Fformat): Update thissize from field_width
1281 based on the actual width, in the string case.
1282
e4ac8240 12832002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3c1e6b46 1284
03950b5b
PJ
1285 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
1286 when used as truth value to prevent gcc warnings.
1287
3c1e6b46
PJ
1288 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
1289 * w32proc.c: Include <config.h>.
1290
c1e11810
AS
12912002-01-01 Andreas Schwab <schwab@suse.de>
1292
1293 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
1294 not EMACS_INT, to make them compatible with DEFVAR_INT.
1295 * lisp.h (max_specpdl_size): Adjust declaration.
1296
1996baee
RS
12972002-01-01 Richard M. Stallman <rms@gnu.org>
1298
1299 * print.c (print_object): Test print_escape_nonascii only for
1300 unibyte strings.
1301 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
1302 when outputting to a multibyte buffer.
1303
0065bb74
RS
13042001-12-29 Richard M. Stallman <rms@gnu.org>
1305
1306 * print.c (print_object): In multibyte string, use hex escapes.
1307 Use octal only for unibyte strings.
1308 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
1309
1310 * lread.c (read_escape): New arg BYTEREP for reporting whether
1311 escape forces unibyte or multibyte.
1312 (read1): When reading a string, take note of that info.
1313
b5cb6072
KR
13142001-12-29 Ken Raeburn <raeburn@gnu.org>
1315
1316 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
1317 comparison to test lisp value returned by Fget.
1318
15fff01d
RS
13192001-12-29 Richard M. Stallman <rms@gnu.org>
1320
0065bb74
RS
1321 * lisp.h (max_specpdl_size): Add declaration.
1322
0d8466cc
RS
1323 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
1324
15fff01d
RS
1325 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
1326 Handle modifier bits. Correct typo in error message.
1327
2fae9111
RS
13282001-12-28 Richard M. Stallman <rms@gnu.org>
1329
2d6c1fc0
RS
1330 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
1331 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
1332 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1333 Update calls to Fdefine_abbrev.
1334 (write_abbrev): Update for changed data format.
1335 Don't list "system" abbrevs.
1336 (Fexpand_abbrev): Update use count with new data format.
1337 (describe_abbrev): Update for changed data format.
1338 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
1339
07025a55
RS
1340 * config.in (HAVE_MBSINIT): Add #undef.
1341
1342 * strftime.c (mbsinit): Define as no-op if not available.
1343
1344 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
1345 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
1346
ce6eef6e
RS
1347 * keymap.c (Flookup_key): Error message if key has wrong data type.
1348 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac 1349 (exclude_key): New variable.
3a232704 1350
539e92ad
GM
13512001-12-28 Gerd Moellmann <gerd@gnu.org>
1352
0cb8bb48
GM
1353 * xterm.c (x_setup_relief_colors): Don't compute an image's
1354 background color if it doesn't have a Pixmap.
3a232704 1355
60626bab
GM
1356 * xterm.c (notice_overwritten_cursor): Don't depend on
1357 output_cursor and updated_area. Compare pixel coordinates with
1358 window's cursor pixel coordinates.
3a232704
SM
1359 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1360 Call notice_overwritten_cursor with new arg list.
60626bab
GM
1361 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1362 unconditionally.
0cb8bb48 1363
539e92ad
GM
1364 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
1365 height of the cursor line to the amount to scroll.
1366
4e02881b
RS
13672001-12-27 Richard M. Stallman <rms@gnu.org>
1368
1369 * intervals.c (set_point_both): The position after an invisible,
1370 intangible character is not an acceptable stopping point.
1371
1ab964d7
KR
13722001-12-27 Ken Raeburn <raeburn@gnu.org>
1373
1374 * window.c (enlarge_window): In new preserve_before code, convert
1375 CURBEG from lisp object to integer before doing arithmetic.
1376
749f499f
RS
13772001-12-27 Richard M. Stallman <rms@gnu.org>
1378
1379 * bytecode.c (Fbyte_code): Undo previous change.
1380
b5d9aaba
KS
13812001-12-26 Kim F. Storm <storm@cua.dk>
1382
1383 * keyboard.c (record_char): Ignore duplicate help-echo events only
1384 separated by mouse-movement. When tracking mouse, only record
1385 first and last mouse-movement event in same window.
1386 Don't record mouse-movement events in keyboard macros.
3a232704 1387
d0fd26dd
RS
13882001-12-25 Richard M. Stallman <rms@gnu.org>
1389
b4c45162
RS
1390 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
1391 (Fenlarge_window): New arg PRESERVE_BEFORE.
1392
d0fd26dd
RS
1393 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
1394 instead of Fstring_as_unibyte.
1395
e4ac8240 13962001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
c95eaa61 1397
3a232704 1398 The following changes remove mocklisp support:
c95eaa61
PJ
1399
1400 * mocklisp.h, mocklisp.c: Files removed.
1401
1402 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
1403 `Qmocklisp' and `Qmocklisp_arguments'.
1404 Remove prototype of syms_of_mocklisp.
1405
3a232704 1406 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
c95eaa61
PJ
1407
1408 * callint.c: Do not include mocklisp.h.
1409 (Fcall_interactively): Do not test for mocklisp case.
1410
1411 * eval.c: Remove variables `Qmocklisp_arguments',
3a232704
SM
1412 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
1413 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
1414 Do not test for mocklisp case.
c95eaa61
PJ
1415 (Fwhile): Remove unused variable `tem'.
1416 (syms_of_eval): Remove variable `moclisp-arguments'.
1417
1418 * data.c (wrong_type_argument): Remove mocklisp case.
1419
1420 * doc.c (Fdocumentation): Remove mocklisp case.
1421
1422 * emacs.c (main): Do not call syms_of_mocklisp.
1423
31877e0a
RS
14242001-12-21 Richard M. Stallman <rms@gnu.org>
1425
1426 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
1427 to the left or to the right of the pointer, put it against
1428 the left screen edge.
1429
e2c3786a
EZ
14302001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
1431
1432 * Makefile.in (distclean): Remove .gdbinit if we are building
1433 outside the source tree.
1434
c513fc03
EZ
14352001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
1436
bf794306
EZ
1437 * w32.c (emacs_root_dir): New function.
1438
1439 * msdos.c (emacs_root_dir): New function.
1440
1441 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
1442 of the current drive as the fallback for default_directory.
1443
62582985
EZ
1444 * dired.c (file_name_completion): Run the elements of
1445 completion-ignored-extensions through ENCODE_FILE.
1446
c513fc03
EZ
1447 * lisp.h (scmp): Remove prototype, since it's now a static
1448 function private to dired.c.
1449
3509a04c
RS
14502001-12-18 Richard M. Stallman <rms@gnu.org>
1451
1452 * dired.c (scmp): Function moved from minibuf.c.
1453 Delete multibyte handling--used only on encoded strings.
1454
1455 * minibuf.c (scmp): Function moved to dired.c.
1456
1457 * fns.c (merge): Add QUIT call.
1458
1e9a6186
DL
14592001-12-18 Dave Love <fx@gnu.org>
1460
1461 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
1462 language/georgian.el.
1463
e4e34e31
EZ
14642001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1465
1466 * Makefile.in (lisp, shortlisp): Synchronize with changes to
1467 lisp/Makefile.in:DONTCOMPILE.
1468
e4ac8240 14692001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4521d1fc 1470
7c75be36
PJ
1471 * xdisp.c (window_box_height): Do not return negative values.
1472 From Gerd Moellmann <gerd@gnu.org>.
1473
4521d1fc
PJ
1474 * keyboard.c (head_table): Add missing braces around initializer.
1475
1476 * term.c (keys): Likewise.
1477
1478 * xfns.c (x_frame_parms, visual_classes): Likewise.
1479
93dec019
SS
14802001-12-17 Sam Steingold <sds@gnu.org>
1481
1482 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
1483 patch (COMPOSING_P, not COMPOSING).
1484
905cc05a
RS
14852001-12-17 Richard M. Stallman <rms@gnu.org>
1486
2ed06289
RS
1487 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
1488
0e79d667
RS
1489 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
1490 before calling decode_coding.
1491
1492 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
1493
1494 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
1495 instead of only for COMPOSITION_DISABLED.
1496
82a7ab23
RS
14972001-12-16 Richard M. Stallman <rms@gnu.org>
1498
d75bec6a
RS
1499 * alloc.c (pure_alloc): After overflow, allocate just a small block.
1500
52dcb476
RS
1501 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
1502
82a7ab23
RS
1503 * buffer.h (struct buffer): New field `display_error_modiff'.
1504 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
1505
1506 * window.c (Frecenter): Clear display_error_modiff field.
1507
1508 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
1509 Call redisplay_window, but not if display_error_modiff field says no.
1510 (redisplay_window_error): New function.
1511 (displayed_buffer): New variable.
1512 (redisplay_internal, redisplay_windows): Call the new functions
1513 instead of redisplay_window directly.
1514
4d0fa4f3
RS
15152001-12-15 Richard M. Stallman <rms@gnu.org>
1516
1517 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1518
493faf20
AI
15192001-12-14 Andrew Innes <andrewi@gnu.org>
1520
325111e9
AI
1521 * makefile.w32-in (EMACSLOADPATH): Define.
1522 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
1523 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 1524
4971e491
EZ
15252001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
1526
397b3b50 1527 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
1528 parameter have a numeric value all the time.
1529
1530 * w32fns.c (x_report_frame_params): Likewise.
1531
d911a0fa
RS
15322001-12-12 Richard M. Stallman <rms@gnu.org>
1533
1534 * fileio.c (Fwrite_region): Doc fix.
1535
1536 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
1537 (redisplay_internal): Call clear_image_cache only for window terminals.
1538
201c831a
GM
15392001-12-12 Gerd Moellmann <gerd@gnu.org>
1540
1541 * xdisp.c (move_it_vertically_backward): Change heuristic
1542 for the case that we didn't move far enough initially.
1543
1544 * window.c (Frecenter): Simplify computation in the case of window
1545 system frames and ARG < 0; use window_box_height.
1546
34e39c95
RS
15472001-12-11 Richard M. Stallman <rms@gnu.org>
1548
1549 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
1550 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
1551
d77fbc16
AI
15522001-12-11 Andrew Innes <andrewi@gnu.org>
1553
1554 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
1555 arg is negative.
1556
61e3b944
RS
15572001-12-11 Richard M. Stallman <rms@gnu.org>
1558
1559 * m/hp800.h: Split the __hpux conditional into the parts
1560 that are right for GNU/Linux too and the parts that are not.
1561 Use the former if GNU_LINUX.
1562 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
1563
1564 * s/gnu-linux.h (GNU_LINUX): Defined.
1565
e4ac8240 15662001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
70da46c3
PJ
1567
1568 * macros.c, msdos.c, w16select.c: Change doc-string comments to
1569 `new style' [w/`doc:' keyword].
1570
8af01033
JR
15712001-12-10 Jason Rumney <jasonr@gnu.org>
1572
1573 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
1574 before using.
1575
e4ac8240 15762001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7363986a
PJ
1577
1578 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
1579 keyword].
1580
d9e6c4b1
EZ
15812001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
1582
d20fc48a
EZ
1583 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
1584
d9e6c4b1
EZ
1585 * s/hpux10.h (srand48): Don't undefine.
1586
f1a85b89
JR
15872001-12-09 Jason Rumney <jasonr@gnu.org>
1588
3a232704
SM
1589 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
1590 Add comment to explain where the struct came from.
f1a85b89
JR
1591 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
1592 (add_menu_item): Process pop-up menus first to avoid memory leak.
1593 (add_menu_item, w32_menu_display_help): Use `help' field as
1594 Lisp_Object.
1595 (w32_free_submenu_strings): Only free owner-drawn strings.
1596
e4ac8240 15972001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3a62677f 1598
72244db2
PJ
1599 * COPYING: Moved back.
1600
3a62677f
PJ
1601 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
1602 Add parentheses around && within ||.
1603
1604 * indent.c (compute_motion): Likewise.
1605
1606 * intervals.c (merge_properties_sticky): Likewise.
1607
1608 * coding.c (setup_coding_system, shrink_encoding_region)
1609 (Fdecode_sjis_char): Likewise.
1610
9d113d9d
AS
16112001-12-07 Andreas Schwab <schwab@suse.de>
1612
b8523839
AS
1613 * xdisp.c (display_mode_element): Don't read past end of string if
1614 it ends with '%'.
1615
9464dea4
AS
1616 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
1617 can hold.
1618
3a232704 1619 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
9d113d9d
AS
1620 from most_positive_fixnum and most_negative_fixnum, resp., and
1621 type changed to Lisp_Object.
1622 (syms_of_data): DEFVAR_LISP them.
1623
70ec1377
RS
16242001-12-07 Richard M. Stallman <rms@gnu.org>
1625
1626 * callproc.c (init_callproc): Set Vdata_directory based on the source
1627 location whenever Emacs was run uninstalled.
1628
92f7dd37
PE
16292001-12-06 Paul Eggert <eggert@twinsun.com>
1630
1631 * config.in (HAVE_WORKING_VFORK): New #undefs.
1632 * process.c (create_process):
1633 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
1634 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
1635 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
1636 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
1637 * m/intel386.h (HAVE_VFORK): Likewise.
1638 * m/mips-siemens.h (HAVE_VFORK): Likewise.
1639 * m/mips.h (HAVE_VFORK): Likewise.
1640 * s/freebsd.h (vfork): Remove #define.
1641 * s/lynxos.h (HAVE_VFORK): Remove #undef.
1642 * s/usg5-4-2.h: Fix comment about vfork.
1643
c93674bb
RS
16442001-12-06 Richard M. Stallman <rms@gnu.org>
1645
1646 * s/hpux10.h (random): Add undef.
1647 (HAVE_RANDOM): Define it just once.
1648
59b59892
SM
16492001-12-06 Stefan Monnier <monnier@cs.yale.edu>
1650
1651 * eval.c: Undo last change: the standard syntax is not wanted.
1652
c6ea2775
EZ
16532001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
1654
1655 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
1656 scroll bars of the frame before deleting the frame itself. If the
1657 frame has a widget, delete the frame with XtDestroyWidget, and do
1658 not call XDestroyWindow before that.
1659
91175673
KS
16602001-12-06 Kim F. Storm <storm@cua.dk>
1661
1662 * xfns.c (x_report_frame_params): Return actual fringe widths.
1663
1664 * w32fns.c (x_report_frame_params): Return actual fringe widths.
1665
e0fead5d
AI
16662001-12-05 Andrew Innes <andrewi@gnu.org>
1667
1668 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
1669 excessively large.
1670
1671 * insdel.c (make_gap_larger): New function.
1672 (make_gap_smaller): New function.
1673 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
1674 make_gap_smaller if arg is negative.
1675
c186cdb3
SM
16762001-12-04 Stefan Monnier <monnier@cs.yale.edu>
1677
1678 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
1679 Pass a dummy argument when calling interrupt_signal.
1680 (parse_menu_item): Mark disabled items before checking for empty def.
1681 (read_char_minibuf_menu_prompt): Make safety more visible.
1682 (read_key_sequence): Add a `first_unbound' variable.
1683 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
1684 unbound prefix as soon as we can detect it.
1685
1686 * doc.c (Fsnarf_documentation): Add prototype.
1687 (get_doc_string): Handle negative arguments.
1688 (Fdocumentation): Use AREF and ASIZE.
1689 Move the calls to get_doc_string to a single place.
1690 Don't confuse an interactive-spec for a docstring reference.
1691 (Fdocumentation_property): Take advantage of the fact that
1692 get_doc_string now ignores the sign of the docstring position.
1693
1694 * eval.c: Use standard syntax for usage in docstrings.
1695
e4ac8240 16962001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
58cfce98 1697
c186cdb3 1698 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 1699
e4ac8240 17002001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
62854fe2
PJ
1701
1702 * xterm.c (x_draw_image_relief): Use predefined macro instead of
1703 constant when the value of `tool_bar_button_relief' is negative.
1704
656f46bb
RS
17052001-12-02 Richard M. Stallman <rms@gnu.org>
1706
1707 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
1708 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
1709
1710 * fileio.c (read_non_regular): Delete Fsignal call.
1711
036e218d
SM
17122001-12-01 Stefan Monnier <monnier@cs.yale.edu>
1713
1714 * lisp.h (run_hook_list_with_args): Undo last change.
1715
7ddb2c16
GM
17162001-12-01 Gerd Moellmann <gerd@gnu.org>
1717
1718 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
1719
ace9b298
JR
17202001-12-01 Jason Rumney <jasonr@gnu.org>
1721
90647b07
JR
1722 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
1723
1724 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
1725 [!WM_MOUSELEAVE]: Define.
1726
ace9b298
JR
1727 * w32menu.c (current_popup_menu, get_menu_item_info):
1728 (set_menu_item_info): New vars.
1729 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
1730 (w32_menu_show): Set current_popup_menu.
1731 (add_menu_item): Allocate new strings for owner-drawn menu items
1732 and help strings.
1733 Use owner-draw for disabled menu items again.
1734 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
1735 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
1736
1737 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
1738 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
1739 <WM_EXITMENULOOP>: Free menu strings.
1740 <WM_MOUSELEAVE>: Stop tracking mouse.
1741 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
1742
1743 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
1744 and mouse face.
1745
a9549909 17462001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
1747
1748 The following changes add left-fringe and right-fringe
1749 frame parameters to adjust fringe widths, or remove one or
1750 both fringes.
036e218d 1751
9fbc32aa
KS
1752 * frame.h (struct frame): Remove trunc_area_pixel_width and
1753 trunc_area_cols fields.
1754 (Qleft_fringe, Qright_fringe): Declare.
1755 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
1756
1757 * frame.c (Qleft_fringe, Qright_fringe): New vars.
1758 (syms_of_frame): Initialize them.
1759
1760 * window.c (coordinates_in_window): Handle separate left and right
1761 fringe widths.
1762
1763 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
1764 and fringe_cols fields.
1765 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
1766 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
1767 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
1768 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
1769 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
1770 (x_compute_fringe_widths): Add prototype.
1771
1772 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
1773 fill fringe evenly with small dashes.
1774 (x_draw_fringe_bitmap): Clear background if necessary. Align and
1775 clip the new ZV bitmap to avoid jitter between rows.
1776 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
1777 background. Don't draw fringe bitmaps if fringe width is zero.
1778 (x_compute_fringe_widths): New function.
1779 (x_new_font, x_set_window_size_1): Use it.
1780
1781 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
0c5ee687 1782 (x_set_frame_parameters): Process `font' parameter before other
9fbc32aa
KS
1783 parameters as fringe widths depend on it.
1784 (x_set_fringe_width): New function.
1785 (x_figure_window_size): Use x_compute_fringe_widths.
1786 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
1787 parameters.
1788
1789 * widget.c (set_frame_size): Use x_compute_fringe_widths.
1790 (EmacsFrameSetCharSize): Ditto.
1791
1792 * w32term.h: Merged changes from xterm.h.
1793 * w32term.c: Merged changes from xterm.c.
1794 * w32fns.c: Merged changes from xfns.c.
1795
e4ac8240 17962001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
0142178a
PJ
1797
1798 * COPYING: Removed.
1799
d4824a5d
DL
18002001-11-29 Dave Love <fx@gnu.org>
1801
1802 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
1803 extra extra slot.
1804 (detect_coding_mask): Fix call of detect_coding_iso2022.
1805
e4ac8240 18062001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
b1356234
PJ
1807
1808 * fileio.c (file-name-coding-system)
1809 (default-file-name-coding-system): Doc fix (links to referenced
1810 variables added).
1811
3ce081f5
SM
18122001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1813
99e380ee
SM
1814 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
1815 Add dummy uses of gcproN variables.
1816
3ce081f5 1817 * category.c (describe_category, describe_category_1)
2ad56c09 1818 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
1819 (syms_of_category): Don't defsubr Sdescribe_categories.
1820
66458f32
RS
18212001-11-28 Richard M. Stallman <rms@gnu.org>
1822
1823 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
1824
1825 * Makefile.in (lispdir): New variable, referring to build dir.
1826 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
1827
59a86c99
AI
18282001-11-28 Andrew Innes <andrewi@gnu.org>
1829
1830 * w32menu.c (w32_menu_display_help): Actually add the new argument
1831 OWNER.
1832
eb77a5f4
JR
18332001-11-28 Jason Rumney <jasonr@gnu.org>
1834
1835 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
1836 menu items. From David Ponce <dponce@wanadoo.fr>.
1837 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
1838 conditionally.
1839 (w32_menu_display_help): New argument OWNER. Rewritten to store a
1840 help event in the owner frame's keyboard buffer.
1841
1842 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
1843 (Fx_show_tip): Don't subtract last width from row width.
1844
1845 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
1846 (w32_read_socket): Use EQ to compare frames.
1847
bb313871
GM
18482001-11-28 Gerd Moellmann <gerd@gnu.org>
1849
1850 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1851 OVERLAPS_P.
1852
e4ac8240 18532001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
55b43a63 1854
6052529b
PJ
1855 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
1856 `gcpro3' and `gcpro4'.
1857
3ce081f5
SM
1858 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
1859
18602001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1861
1862 * ccl.c: Use AREF and ASIZE.
1863
18642001-11-27 Stefan Monnier <monnier@cs.yale.edu>
1865
1866 * lisp.h (run_hook_list_with_args): Remove.
1867 (LIST_END_P): Fix call to wrong_type_argument.
1868 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 1869
111ed14e
SM
18702001-11-26 Stefan Monnier <monnier@cs.yale.edu>
1871
9fabb2f5
SM
1872 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
1873 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
1874
1875 * eval.c: Use AREF and ASIZE.
1876 (Ffetch_bytecode): Add the file name to the error message.
1877
1878 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
1879 which match the end of the file-name.
1880 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
1881 is not a valid env var, but leave it as is instead.
1882
111ed14e
SM
1883 * keymap.c (access_keymap): Handle t bindings like nil bindings.
1884 Make nil bindings in char-tables transparent.
1885 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
1886
2fa0eedf
RS
18872001-11-26 Richard M. Stallman <rms@gnu.org>
1888
d1420435
RS
1889 * textprop.c (set_text_properties_1): Allow START, END in either order.
1890 Do nothing if range is empty.
1891
2fa0eedf
RS
1892 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
1893
ebcbef4e
RS
1894 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
1895 (clean): Not here.
1896
5c131048
SM
18972001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1898
1899 * textprop.c (set_text_properties_1): Clearly mark that the
1900 interval should not be empty.
1901
1902 * intervals.c (graft_intervals_into_buffer):
1903 Don't call set_text_properties_1 on an empty interval.
1904
96d276c3
RS
19052001-11-25 Richard M. Stallman <rms@gnu.org>
1906
6108b49c
RS
1907 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
1908
96d276c3
RS
1909 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
1910 don't lose the data in it.
1911
5eea19a4
RS
19122001-11-25 Juanma Barranquero <lektu@terra.es>
1913
1914 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
1915
1916 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
1917
1918 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
1919
438e57dd
SM
19202001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1921
1922 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
1923
c88e5347
EZ
19242001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
1925
1926 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
1927 Niemitalo <kon@iki.fi>.
1928
59ce1461
JR
19292001-11-25 Jason Rumney <jasonr@gnu.org>
1930
1931 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
1932
1933 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
1934 (Fx_show_tip): Block input during frame creation.
1935 (Fx_show_tip, Fx_hide_tip): Enable.
1936
8727d588
RS
19372001-11-24 Richard M. Stallman <rms@gnu.org>
1938
1939 * lread.c (Fload): Detect recursive load error for more than 3
1940 nestings of the same file.
1941 (Vrecursive_load_depth_limit): Variable deleted.
1942 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
1943
cc63037e
JR
19442001-11-24 Jason Rumney <jasonr@gnu.org>
1945
1946 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
1947 mouse position if either left or top is not specified.
1948
1949 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
1950 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
1951 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
1952 (my_create_tip_window): Assign tip_window.
1953 (x_create_tip_frame): Use same defaults as X.
1954 (compute_tip_xy): Remove unused variable. Use full screen width.
1955 (Fx_show_tip): Do not double height. Call ShowWindow directly.
1956
1957 * w32term.c (x_after_update_window_line): Doc fix.
1958 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
1959 frames.
1960 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
1961
1962 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
1963 for all Windowed systems.
1964
deece6f5
EZ
19652001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1966
1967 * msdos.c (IT_clear_screen): If the frame's faces are not yet
1968 realized, use the initial screen colors to clear the screen.
1969
e4ac8240 19702001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1b944d9c 1971
28ff4293
PJ
1972 * textprop.c (Fset_text_properties): Remove unused variables
1973 `unchanged', `prev_changed', `s' and `len'.
1974
56167cc5
PJ
1975 * search.c (Freplace_match): Remove unused variable `inslen'.
1976
1b944d9c
PJ
1977 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
1978
ca56d953
JR
19792001-11-22 Jason Rumney <jasonr@gnu.org>
1980
1981 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
1982 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
1983 (my_create_tip_window): New function.
1984 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 1985 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 1986
33399dce
JR
19872001-11-20 Jason Rumney <jasonr@gnu.org>
1988
1989 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
1990 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
1991
1992 * w32fns.c (Vw32_system_coding_system): Remove.
1993 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
1994
9b46de40
SM
19952001-11-19 Stefan Monnier <monnier@cs.yale.edu>
1996
6710ea06
SM
1997 * fileio.c (Fwrite_region): Move choose_write_coding_system to
1998 after build_annotations.
1999
a395ef6a
SM
2000 * syntax.c (describe_syntax): Add dummy arg.
2001 (describe_syntax_1): Update call to describe_vector.
2002
2003 * category.c (describe_category): Add dummy arg.
2004 (describe_category_1): Update call to describe_vector.
2005
2006 * keymap.c (Fdescribe_vector): Add `describer' parameter.
2007 (describe_command, describe_translation): Add dummy second param.
2008 (describe_map): Call elt_describer with two arguments.
2009 (describe_vector_princ): Add `fun' parameter.
2010 Call it instead of the hardcoded `princ'.
2011 (describe_vector): Add arg `args'.
2012 Pass it as a new second argument to elt_describer.
2013
2014 * keymap.h (describe_vector): Update prototype.
2015
9b46de40
SM
2016 * frame.c: Don't include keymap.h any more.
2017 (keys_of_frame): Remove.
2018
2019 * lisp.h (keys_of_frame): Remove declaration.
2020
2021 * emacs.c (main): Don't call `keys_of_frame' any more.
2022
aff37336
SS
20232001-11-14 Andreas Schwab <schwab@suse.de>
2024
2025 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
2026 if defined, 0 otherwise.
9b46de40 2027 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
2028 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
2029
b9937f07
RS
20302001-11-19 Richard M. Stallman <rms@gnu.org>
2031
2032 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
2033
2cd23960
JR
20342001-11-18 Jason Rumney <jasonr@gnu.org>
2035
2036 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
2037 (x_draw_bar_cursor): If the background color of the glyph under
2038 the cursor equals the frame's cursor color, use the glyph's
2039 foreground color for drawing the bar cursor.
2040 (x_after_update_window_line): Clear internal border in different
2041 circumstances.
2042 (w32_set_vertical_scroll_bar): Check for width and height > 0.
2043 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
2044 (x_set_glyph_string_background_width):
2045 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
2046 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
2047 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
2048 if cursor_in_non_selected_windows is false.
9b46de40 2049 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
2050 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
2051 Notice if cursor gets overwritten.
2052 (notice_overwritten_cursor): Renamed from
2053 note_overwritten_text_cursor. Rewritten to take glyph widths
2054 into account, and to take X positions as parameters.
2055 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2056 around call to x_draw_glyphs.
2057 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2058 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2059 color to use for image glyph reliefs.
2060 (x_draw_image_relief): Accept zero tool_bar_button_relief.
2061 (glyph_rect): Remove unused variable `area'.
2062
2063 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
2064 some items.
2065 (x_set_internal_border_width): Set frame garbaged when window
2066 doesn't exist yet.
2067 (Fx_create_frame): Accept zero tool_bar_button_relief.
2068 (x_clear_image_1, four_corners_best, image_background)
2069 (image_background_transparent): New functions.
2070 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
2071 (gs_format): Add `:background' entry.
2072 (lookup_image): Set IMG's background color if specified.
2073 (pbm_load, xbm_load_image, png_load): Set IMG's background field
2074 when appropriate.
2075 (x_clear_image_1): Reset `background_valid' and
2076 `background_transparent_valid' fields.
2077 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2078 calculating it here. Set IMG's background_transparent field.
2079 (enum xpm_keyword_index): Add XPM_BACKGROUND.
2080 (enum png_keyword_index): Add PNG_BACKGROUND.
2081 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2082 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2083 (enum gif_keyword_index): Add GIF_BACKGROUND.
2084 (enum gs_keyword_index): Add GS_BACKGROUND.
2085 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
2086 Pre-calculate image background color where necessary.
9b46de40
SM
2087 (x_create_x_image_and_pixmap, xbm_load, gs_load):
2088 Use display info's n_cbits entry for screen depth.
2cd23960
JR
2089 (Fx_show_tip): Remove unused variables `buffer', `top',
2090 `left', `max_width' and `max_height'.
2091
2092 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
2093
a4184c1c
GM
20942001-11-18 Gerd Moellmann <gerd@gnu.org>
2095
2096 * puresize.h (BASE_PURESIZE): Increase to 750000.
2097
e4ac8240 20982001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
f6fa0866
PJ
2099
2100 * frame.c (Fframe_live_p): Doc fix.
2101
f4ca4b00
RS
21022001-11-18 Richard M. Stallman <rms@gnu.org>
2103
2104 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
2105 (message_dolog_marker3): New static variables hold three markers.
2106 (syms_of_xdisp): Initialize and staticpro them.
2107 (message_dolog): Use message_dolog_marker1..3 instead of
2108 allocating markers each time. Unchain them when done.
2109
f4e25f94
RS
21102001-11-17 Richard M. Stallman <rms@gnu.org>
2111
2112 * doc.c (Fsnarf_documentation): Doc fix.
2113
91c153e2
AS
21142001-11-17 Andreas Schwab <schwab@suse.de>
2115
2116 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
2117
65b7d3e7
RS
21182001-11-17 Richard M. Stallman <rms@gnu.org>
2119
2120 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
2121
6b5f6311
JR
21222001-11-17 Jason Rumney <jasonr@gnu.org>
2123
2124 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
2125
be676094
GM
21262001-11-17 Gerd Moellmann <gerd@gnu.org>
2127
2128 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
2129 with invalid position.
2130
032a857d
RS
21312001-11-16 Richard M. Stallman <rms@gnu.org>
2132
2133 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
2134
2135 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
2136 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
2137 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
2138
2139 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
2140
b6270150
SM
21412001-11-16 Stefan Monnier <monnier@cs.yale.edu>
2142
2143 * fileio.c (build_annotations): Split off the tail.
2144 (build_annotations_2): New fun. Extracted from build_annotations.
2145 (Fwrite_region): Split the call to build_annotations into two
2146 calls to build_annotations and build_annotations_2.
2147
e4ac8240 21482001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
792e5cbd 2149
98cbb9fa
PJ
2150 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
2151 clear_waiting_for_input with argument.
2152
2153 * xterm.h (x_update_cursor): Remove duplicated prototype.
2154
b6270150 2155 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 2156
ea904403 2157 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 2158
ea904403 2159 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 2160
fa336b91
SM
21612001-11-16 Stefan Monnier <monnier@cs.yale.edu>
2162
2163 * fileio.c (choose_write_coding_system): New fun, extracted
2164 from Fwrite_region.
2165 (Fwrite_region): Use it.
2166
2167 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
2168 (funcall_lambda, run_hook_with_args): Make static and add prototype.
2169 (ml_apply, find_handler_clause): Add prototype.
2170
077907d4
EZ
21712001-11-16 Eli Zaretskii <eliz@gnu.org>
2172
aa2af83a
EZ
2173 * config.in: Add #undef HAVE_COFF_H.
2174
077907d4
EZ
2175 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
2176 Required for ISC 4.1.
2177
1756e2fb
EZ
21782001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
2179
2180 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
2181 Andrew Wiseman <a.wiseman@btclick.com>.
2182
06e8f738
KS
21832001-11-16 Kim F. Storm <storm@cua.dk>
2184
2185 The following changes are made to clean up the various internal
2186 references to the fringes to actually use the term `fringe' for
2187 them. Previously, they were called `flags areas', `bitmap areas',
2188 `left/right side of windows', or implicitly as `flags' or
2189 `bitmaps':
2190
2191 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
2192 Comments fixed. Use renamed symbols.
fa336b91 2193
06e8f738 2194 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 2195
06e8f738
KS
2196 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
2197 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
2198 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 2199
06e8f738 2200 * msdos.c: Comment fix.
fa336b91 2201
06e8f738 2202 * w32fns.c: Use renamed symbols.
fa336b91 2203
06e8f738
KS
2204 * w32term.c: Comment fixes. Use renamed symbols.
2205 (fringe_bitmap_type): Renamed from bitmap_type.
2206 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2207 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
2208 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 2209
06e8f738
KS
2210 * w32term.h: Comment fixes. Use renamed symbols.
2211 (fringes_extra): Renamed from flags_areas_extra.
2212 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2213 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2214 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2215 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
2216 (FRAME_X_LEFT_FRINGE_WIDTH):
2217 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2218 (FRAME_X_RIGHT_FRINGE_WIDTH):
2219 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2220
06e8f738 2221 * widget.c: Use renamed symbols.
fa336b91 2222
06e8f738
KS
2223 * window.c: Comment fixes. Use renamed symbols.
2224 (coordinates-in-window-p): Doc fix.
fa336b91 2225
06e8f738 2226 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 2227
06e8f738 2228 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 2229
06e8f738 2230 * xfns.c: Use renamed symbols.
fa336b91 2231
06e8f738
KS
2232 * xterm.c: Comment fixes. Use renamed symbols.
2233 (fringe_bitmap_type): Renamed from bitmap_type.
2234 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2235 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
2236 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2237
2238 * xterm.h: Comment fixes. Use renamed symbols.
2239 (fringes_extra): Renamed from flags_areas_extra.
2240 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2241 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2242 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2243 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
2244 (FRAME_X_LEFT_FRINGE_WIDTH):
2245 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2246 (FRAME_X_RIGHT_FRINGE_WIDTH):
2247 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 2248
9ce647f4
JR
22492001-11-15 Jason Rumney <jasonr@gnu.org>
2250
2251 * w32menu.c (add-menu-item): Make help_echo and radio buttons
2252 work for most menu items. From David Ponce
2253 <david.ponce@wanadoo.fr>.
2254
9b784ab8
GM
22552001-11-15 Gerd Moellmann <gerd@gnu.org>
2256
9f7e52b4
GM
2257 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
2258 Some x_set_* function expect to be called even if old and new
2259 value are equal.
2260
2261 * xdisp.c (build_desired_tool_bar_string): Accept zero
2262 tool_bar_button_relief.
2263
2264 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
2265
2266 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 2267
34e5d0af
GM
2268 * xterm.c (x_draw_bar_cursor): If the background color of the
2269 glyph under the cursor equals the frame's cursor color, use
2270 the glyph's foreground color for drawing the bar cursor.
2271
9b784ab8
GM
2272 * dispnew.c (direct_output_forward_char): Fix character/byte
2273 position comparison.
2274
89512fcd
MB
22752001-11-15 Miles Bader <miles@gnu.org>
2276
2277 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
2278 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
2279 Update arguments to find_field.
2280 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
2281 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
2282 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
2283 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
2284
7d18891d
RS
22852001-11-14 Richard M. Stallman <rms@gnu.org>
2286
d2936d21
RS
2287 * editfns.c (Fpropertize): Allow call with 1 arg.
2288
7d18891d
RS
2289 * dispextern.h (image_background, image_background_transparent):
2290 Conditionalize on HAVE_X_WINDOWS.
2291
22922001-11-13 Richard M. Stallman <rms@gnu.org>
2293
2294 * print.c (Fprin1_to_string): Doc fix.
2295
2296 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
2297
2298 * floatfns.c (Fceiling, Ffloor): Doc fixes.
2299
2300 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
2301
2302 * fileio.c (Ffile_accessible_directory_p): Doc fix.
2303
2304 * eval.c (syms_of_eval): Doc fix.
2305
2306 * coding.c (syms_of_coding): Doc fix.
2307
2308 * doc.c (Fsnarf_documentation): Doc fix.
2309
2310 * dispnew.c (syms_of_display): Doc fix.
2311
2312 * category.c (Fget_unused_category): Doc fix.
2313
2314 * buffer.c (syms_of_buffer): Doc fixes.
2315
9474c847
EZ
23162001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
2317
2318 * print.c (prin1, print): Doc fix.
2319
e4ac8240 23202001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
e3059a5d 2321
2b6f3c2b 2322 * fontset.h: Remove declarations of variables
e3059a5d
PJ
2323 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
2324
2325 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
2326 `Vclip_large_size_font'.
2327
b3700ae7
JR
23282001-11-13 Jason Rumney <jasonr@gnu.org>
2329
2330 * w32fns.c: Doc fix.
2331
e4ac8240 23322001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
eae936e2 2333
4bb962be
PJ
2334 * xfaces.c (Fface_attributes_as_vector): Doc fix.
2335
0a332240
PJ
2336 * w32fns.c (Fx_synchronize): Reindent.
2337
ddb67bdc
PJ
2338 * fns.c: Doc fix.
2339
3467c402
PJ
2340 * emacs.c: Doc fix.
2341
2342 * coding.c: Doc fix.
2343
6e1b91d7
PJ
2344 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
2345 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
2346 `new style' [w/`doc:' keyword].
2347
f6e34773
PJ
2348 * xmenu.c (x-popup-menu): Reindent.
2349 (x-popup-dialog): Likewise.
2350
fa336b91 2351 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 2352
c2552f79
PJ
2353 * xdisp.c (Fdump_tool_bar_row): Reindent.
2354
94c7167b
PJ
2355 * minibuf.c (Fminibuffer_complete_word): Reindent.
2356 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 2357 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
2358 (Fminibuffer_message): Likewise.
2359
462a5e3a
PJ
2360 * fns.c (Freverse): Reindent.
2361
b8de5714
PJ
2362 * eval.c (Fif): Reindent.
2363 (Fand): Likewise.
2364
deb8e082
PJ
2365 * editfns.c (Fuser_real_login_name): Reindent.
2366 (Finsert_buffer_substring): Likewise.
2367 (Fcompare_buffer_substrings): Likewise.
2368 (Fsubst_char_in_region): Likewise.
2369
bacf09b4
PJ
2370 * dispnew.c (Fsit_for): Reindent.
2371 (Fframe_or_buffer_changed_p): Likewise.
2372 (Finternal_show_cursor_p): Likewise.
2373 (syms_of_display): Likewise.
2374
eae936e2
PJ
2375 * alloc.c (Flist): Reindent.
2376 (Fvector): Likewise.
2377
1c1d3d69
RS
23782001-11-12 Richard M. Stallman <rms@gnu.org>
2379
2380 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
2381 LeaveNotify events. Only FocusIn and FocusOut do that now.
2382 (x_display_and_set_cursor): Do display hollow cursors in active
2383 minibuffer windows when they are not selected.
2384
b6f4c7ba
JR
23852001-11-12 Jason Rumney <jasonr@gnu.org>
2386
2387 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
2388 * w32term.c: Change doc-string comments to `new style'.
2389 [w/`doc:' keyword]. Doc fixes.
2390
2391 * w32fns.c: Don't define max.
2392 (Fx_open_connection): Only execute once.
2393
e4ac8240 23942001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
a89f435d
PJ
2395
2396 * ccl.c: Change macros to use do-while block instead of if-else.
2397 Use braces to follow GNU Coding Standards.
2398
a4cd0cd7
RS
23992001-11-11 Richard M. Stallman <rms@gnu.org>
2400
eafb659a
RS
2401 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
2402
2403 * lread.c (read_escape): Use end_of_file_error for reporting eof.
2404
a4cd0cd7
RS
2405 * insdel.c (replace_range): Use adjust_markers_for_replace
2406 instead of adjust_markers_for_delete and adjust_markers_for_insert.
2407
2408 * intervals.h: Declare set_text_properties and set_text_properties_1.
2409
2410 * textprop.c (set_text_properties_1): New subroutine
2411 broken out of set_text_properties.
2412 (set_text_properties): Use set_text_properties_1.
2413
2414 * intervals.c (graft_intervals_into_buffer):
2415 Use set_text_properties_1 to clear out properties.
2416
2417 * search.c (Freplace_match): Use replace_range to insert
2418 and delete. Don't request property inheritance from
2419 surrounding text.
2420
91823618
JR
24212001-11-10 Jason Rumney <jasonr@gnu.org>
2422
2423 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
2424 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 2425 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 2426
86928dfb
GM
24272001-11-10 Gerd Moellmann <gerd@gnu.org>
2428
fa336b91 2429 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
2430 instead of malloc/free.
2431
e4ac8240 24322001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
40ef1eda 2433
ab8469eb
PJ
2434 * xfaces.c (merge_face_vectors): Use braces to follow GNU
2435 Coding Standards.
2436 (Finternal_set_lisp_face_attribute): Likewise.
2437
a78e0303
PJ
2438 * buffer.c (Fbury_buffer): Likewise.
2439
40ef1eda
PJ
2440 * indent.c (current_column_1): Remove unused variable `prev_col'.
2441
fabf4a91
PJ
2442 * coding.c (encode_coding): Use precomputed value of `src'.
2443 (encode_coding): Remove unused variable `src_end'.
2444 (code_convert_region): Remove unused variables `count'.
2445
0c99b139
JR
24462001-11-07 Jason Rumney <jasonr@gnu.org>
2447
2448 * w32term.c (x_display_and_set_cursor): Do not move system caret
2449 if cursor_glyph is NULL.
2450
e4ac8240 24512001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
830ddd77
PJ
2452
2453 * keymap.c (access_keymap): Fix compilation error.
2454
55c6d645
MB
24552001-11-07 Miles Bader <miles@gnu.org>
2456
2457 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
2458
e4ac8240 24592001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5de38842 2460
7a4564a4
PJ
2461 * intervals.c (graft_intervals_into_buffer):
2462 Remove #ifdef'd-out code.
2463 (graft_intervals_into_buffer): Remove unused variable `middle'.
2464
5de38842
PJ
2465 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
2466 code (eval-current-buffer).
2467 Change doc-string comments to `new style' [w/`doc:' keyword].
2468
4fa23df5
RS
24692001-11-06 Richard M. Stallman <rms@gnu.org>
2470
2471 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
2472
7a6a97d7
SM
24732001-11-06 Stefan Monnier <monnier@cs.yale.edu>
2474
c191d13c
SM
2475 * lread.c (read1): Fix behavior with nested backquoting.
2476
7a6a97d7
SM
2477 * keyboard.c (make_lispy_event): Check integerness and fix
2478 Lisp_Object/int mixup.
2479
e4ac8240 24802001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
44dc78e0
PJ
2481
2482 * fns.c (copy_hash_table): Remove unused variable `v'.
2483
17893c65
PJ
2484 * fontset.c (fontset_font_pattern): Remove unused variable
2485 `family_registry'.
2486
4d994a79
PJ
2487 * indent.c (current_column_1): Remove unused variable `prev_col'.
2488
d5360cc7
RS
24892001-11-05 Richard M. Stallman <rms@gnu.org>
2490
2491 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
2492
2493 * buffer.c (Fkill_buffer): Don't delete auto save file
2494 if buffer is modified.
2495
96238a5a
AI
24962001-11-05 Andrew Innes <andrewi@gnu.org>
2497
2498 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
2499 CHECK_NUMBER_CDR.
2500
d9d54213
RS
25012001-11-05 Richard M. Stallman <rms@gnu.org>
2502
2503 * unexelf.c (unexec): Minor changes; clean up comments.
2504
b116830b
SS
25052001-11-05 Sam Steingold <sds@gnu.org>
2506
2507 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
2508
3297e2a1
AS
25092001-11-05 Andreas Schwab <schwab@suse.de>
2510
2511 * sound.c (sound_perror): Save errno from being clobbered.
2512
9212319f 25132001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
2514
2515 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
2516 the program image directly.
2517
e4ac8240 25182001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7dd73b78
PJ
2519
2520 * buffer.h (Fbuffer_local_value): Add prototype.
2521
982f6c7e
RS
25222001-11-04 Richard M. Stallman <rms@gnu.org>
2523
d31053f9
RS
2524 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
2525 and CHECK_BUFFER.
2526
2527 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
2528 (record_char): Likewise.
2529
2530 * keyboard.c (make_lispy_event): Don't insist a drag event must
2531 move to a different buffer position. Instead, check for moving at
2532 least double_click_fuzz.
2533
2534 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
2535
2536 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
2537
982f6c7e
RS
2538 * indent.c (current_column_1, Fmove_to_column): Separate the code
2539 for display-table glyphs from the code buffer text, to fix
2540 bugs in the former.
2541
830047fd
RS
25422001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
2543
2544 * buffer.c (Fbuffer_local_value): New function.
c191d13c 2545 (syms_of_buffer): Defsubr it.
b116830b 2546
830047fd
RS
2547 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
2548 value of `cursor-in-non-selected-windows'.
2549
2550 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
2551 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
2552 (syms_of_xdisp): Initialize it.
b116830b 2553
e4ac8240 25542001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2df5238c 2555
4e397688
PJ
2556 * xfns.c (Fx_create_frame): Doc fix.
2557
48b0f3ae
PJ
2558 * coding.c: Change doc-string comments to `new style' [w/`doc:'
2559 keyword].
2560
2df5238c
PJ
2561 * eval.c (top_level_value, top_level_set): Remove commented and
2562 #ifdef'd-out code.
2563 (Fdefvar): Fix usage in doc-string.
2564
3ecaf7e5
RS
25652001-11-03 Richard M. Stallman <rms@gnu.org>
2566
2567 * xfns.c: Include unistd.h, if it exists.
2568
2569 * editfns.c: Move the include of ctype.h after unistd.h.
2570
2571 * gmalloc.c: Test BROKEN_PROTOTYPES.
2572
8db2e33b
KR
25732001-11-03 Ken Raeburn <raeburn@gnu.org>
2574
2575 * lisp.h (CHECK_STRING_CAR): New macro.
2576 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
2577 treating XCAR and XCDR as lvalues.
2578 (openp): Use CHECK_STRING_CAR.
2579 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
2580
aed29b97
EZ
25812001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
2582
2583 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 2584 (SIGMASKTYPE): Define.
aed29b97
EZ
2585
2586 * syssignal.h (sigunblock): Don't define if already defined.
2587
e4ac8240 25882001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6cb16f95 2589
16b45be4
EZ
2590 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
2591 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
2592 Fix typos in comments.
2593
020f9b38
PJ
2594 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
2595 and #ifdef'd-out code.
2596 Fix and reindent comments.
2597
c191d13c 2598 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 2599
6cb16f95
PJ
2600 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
2601 argument `i' in macros.
2602
2603 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
2604 `i' in macros.
2605
16b45be4
EZ
2606 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
2607 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
2608 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
2609 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
2610 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
2611 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
2612 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
2613 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
2614 in macros.
2615
2616 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
2617 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
2618 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
2619 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
2620 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
2621 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
2622 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
2623 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
2624 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
2625 (remove unused second argument).
2626
7e9d3c2f
SM
26272001-11-02 Stefan Monnier <monnier@cs.yale.edu>
2628
2629 * syntax.c (describe_syntax): New wrapper.
2630 (Finternal_describe_syntax_value): Rename from describe_syntax.
2631 Don't insert space at front and \n at the end.
2632 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
2633
2634 * regex.c (re_wctype): Try to fix some warnings.
2635 (regcomp, regexec): Don't forget the __restrict.
2636
e6bff182
RS
26372001-11-02 Richard M. Stallman <rms@gnu.org>
2638
2639 * textprop.c (Fget_char_property): Doc fix.
2640
e4ac8240 26412001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9ba48103
PJ
2642
2643 * process.c (Fstart_process): Add usage to doc-string.
2644
2645 * data.c (Fsetq_default): Ditto.
2646
2647 * callint.c (Finteractive): Ditto.
2648
c22e59e1
SM
26492001-11-01 Stefan Monnier <monnier@cs.yale.edu>
2650
2651 * macros.c: Don't include keymap.h any more.
2652
9271ed2c
RS
26532001-11-01 Richard M. Stallman <rms@gnu.org>
2654
e6bff182
RS
2655 * data.c (Fmake_local_variable): Doc fix.
2656
2657 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
2658 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
2659
9271ed2c
RS
2660 * keymap.c (Fdescribe_buffer_bindings): Print character property
2661 bindings along with or instead of the buffer local map.
2662 Make the overriding maps override what they should.
2663
e4ac8240 26642001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8b8bd9c6
PJ
2665
2666 * window.c (grow_mini_window): Fix typo in comment.
2667
27188d11
GM
26682001-11-01 Gerd Moellmann <gerd@gnu.org>
2669
7b49b9d2
GM
2670 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
2671 (XTset_vertical_scroll_bar): Likewise.
2672
43f7c3ea
GM
2673 * xfns.c (x_build_heuristic_mask): Use four_corners_best
2674 instead of IMAGE_BACKGROUND.
c22e59e1 2675
b350c2e5
GM
2676 * xfns.c (four_corners_best): Reindent.
2677
c22e59e1 2678 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
2679 Handle :box so that it is possible to specify sexprs.
2680
e4ac8240 26812001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
d576358b
PJ
2682
2683 * xfaces.c (Finternal_merge_in_global_face): Reindent.
2684 (Fface_font): Ditto.
2685 (Finternal_set_alternative_font_registry_alist): Ditto.
2686 (Ftty_suppress_bold_inverse_default_colors): Ditto.
2687
2688 * xfns.c (x-get-resource): Reindent.
2689
bf00d461
EZ
26902001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
2691
2692 * s/hpux11.h: New file.
2693
e4ac8240 26942001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4e10df59 2695
2b209b97
PJ
2696 * emacs.c (USAGE1): Show command line option --no-window-system
2697 instead of --no-windows in usage.
2698 (standard_args): Rename --no-windows to --no-window-system.
2699 (bug_reporting_address): Follow Emacs coding conventions.
2700
9dbc9081
PJ
2701 * eval.c (Fcommandp): Doc fix.
2702 Change doc-string comments to `new style' [w/`doc:' keyword].
2703
4e10df59
PJ
2704 * frame.c (Fframe_live_p): Doc fix.
2705
2706 * buffer.c (selective-display-ellipses): Doc fix.
2707
dd387b25
GM
27082001-10-31 Gerd Moellmann <gerd@gnu.org>
2709
fe957e65
GM
2710 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
2711
dd387b25
GM
2712 * xfaces.c (realize_x_face): If C is not a single-byte character,
2713 set the face's colors_copied_bitwise_p instead of the defaulted_p
2714 members which have a different meaning.
2715 (free_face_colors): Do nothing for a face whose colors have been
2716 copied bitwise.
2717
c22e59e1 2718 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 2719
e4ac8240 27202001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2e1280f8 2721
687784e8
PJ
2722 * marker.c, mocklisp.c: Change doc-string comments to `new style'
2723 [w/`doc:' keyword].
2e1280f8 2724
b9d9a9b9
GM
27252001-10-31 Gerd Moellmann <gerd@gnu.org>
2726
2727 * fns.c (require_unwind): Return Lisp_Object.
2728
e4ac8240 27292001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
48400103 2730
fa1361cb
PJ
2731 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
2732 (last-input-char): Revert doc-string to be the same as the
2733 doc-string of `last-input-event'.
2734
48400103
PJ
2735 * xdisp.c: Fix typos in comments.
2736
eafa3196
GM
27372001-10-31 Gerd Moellmann <gerd@gnu.org>
2738
2739 * window.c (grow_mini_window): Handle case that the root
2740 window is already smaller than the nominal mininum height.
2741
747d3f2a
SM
27422001-10-30 Stefan Monnier <monnier@cs.yale.edu>
2743
bf9bb76f
SM
2744 * emacs.c (main): Don't call keys_of_macros any more.
2745
2746 * lisp.h (keys_of_macros): Remove.
2747
2748 * macros.c (keys_of_macros): Remove.
2749
747d3f2a
SM
2750 * xfaces.c (Fface_attribute_relative_p): Declare args.
2751
5e905a57
JR
27522001-10-30 Jason Rumney <jasonr@gnu.org>
2753
2754 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
2755 (enum_font_cb2): Ignore fonts with vertical orientation.
2756
3a426197
RS
27572001-10-30 Richard M. Stallman <rms@gnu.org>
2758
2759 * keyboard.c (Finput_pending_p): Doc fix.
2760
a742d646
GM
27612001-10-30 Gerd Moellmann <gerd@gnu.org>
2762
259cf6bc
GM
2763 * xterm.c (x_after_update_window_line): Don't run the code
2764 clearing in borders for rows whose visible height is 0.
2765
3f99f948
GM
2766 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
2767 resized_p flag is set. If not set, use the much less flickering
2768 method previously used.
2769
2770 * dispnew.c (change_frame_size_1): Set frame's resized_p.
2771
2772 * frame.h (struct frame) <resized_p>: New member.
2773
b4a3be43
GM
2774 * lread.c (to_multibyte): Ensure read_buffer is at least twice
2775 as large as the number of bytes to convert.
747d3f2a 2776
a742d646
GM
2777 * lread.c (to_multibyte): New function.
2778 (read1): Use it.
2779
cacbb9e9
EZ
27802001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
2781
2782 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
2783
99cb6b2f
GM
27842001-10-30 Gerd Moellmann <gerd@gnu.org>
2785
327f42ee 2786 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
2787 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
2788 if the row's fill_line_p is set and drawing the last glyph with
2789 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 2790
99cb6b2f
GM
2791 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
2792
8e8223e2
SM
27932001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2794
2795 * xmenu.c: Include coding.h and charset.h.
2796 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
2797 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
2798 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
2799 Explicitly set wv->help. Use `TRUE' rather than `True'.
2800 (menu_help_callback): Use empty_string.
2801
2802 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
2803 (Fx_popup_dialog): Explicitly init f.
2804 (w32_menu_display_help): Use empty_string.
2805
4d083a8f
RS
28062001-10-29 Richard M. Stallman <rms@gnu.org>
2807
b2304472
RS
2808 * fns.c (Frequire): Detect recursive try to require the same
2809 feature 3 or more levels deep, and get error.
2810 (require_unwind): New subroutine.
2811 (require_nesting_list): New variable.
2812 (syms_of_fns): Init and staticpro it.
2813
4d083a8f
RS
2814 * print.c (print_object): Clarify indication of insertion type.
2815
2fe41216
EZ
28162001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
2817
90480000
EZ
2818 * coding.c (syms_of_coding): Document that locale-coding-system is
2819 used for decoding input on X.
2820
2fe41216
EZ
2821 * window.c (Fscroll_left, Fscroll_right): Doc fix.
2822
e4ac8240 28232001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
74e79967
PJ
2824
2825 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
2826 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
2827
60ebcfe8
GM
28282001-10-29 Gerd Moellmann <gerd@gnu.org>
2829
9a7bdceb
GM
2830 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
2831 use NO_CURSOR if cursor_in_non_selected_windows is false.
2832
3f08fcd2
GM
2833 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
2834 the slant attribute if FRAME is t.
2835
0ccfdad2
GM
2836 * xfns.c (x_set_internal_border_width): Set frame garbaged
2837 when X window doesn't exist yet.
2838
ef253080
GM
2839 * xterm.c (x_after_update_window_line): Clear internal border
2840 in different circumstances.
b116830b 2841
60ebcfe8
GM
2842 * xterm.c (XTread_socket) <KeyPress>: Don't use
2843 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
2844 <handa@etl.go.jp>.
2845
73d25f9c
EZ
28462001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2847
2848 * m/ibms390.h: New file. From Adam Thornton
2849 <athornton@sinenomine.net>.
2850
cac1daf0
GM
28512001-10-28 Gerd Moellmann <gerd@gnu.org>
2852
053b3256 2853 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 2854
cac1daf0
GM
2855 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
2856 a loop counter.
2857
e4ac8240 28582001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13b1a09c 2859
186486eb
PJ
2860 * emacs.c: Use argv[0] instead of emacs when -t was specified.
2861
4707d2d0
PJ
2862 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
2863 keyword].
2864 Fix typos in comments.
b116830b 2865
d883731c
PJ
2866 * emacs.c (bug_reporting_address): New function.
2867 Use it when displaying usage message.
2868
04012254
PJ
2869 * minibuf.c (read_minibuf): Remove unused external declaration of
2870 variable `Qread_only'.
2871
13b1a09c
PJ
2872 * keymap.c (access_keymap): Remove unused variable `charset'.
2873
5bbf4378
MB
28742001-10-28 Miles Bader <miles@gnu.org>
2875
2876 * xfaces.c (merge_face_heights): Handle TO being relative as well.
2877 Remove #ifdef'd-out code.
2878 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
2879 (syms_of_xfaces): Initialize them.
2880
1ce1e4ee
JR
28812001-10-27 Jason Rumney <jasonr@gnu.org>
2882
2883 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
2884 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
2885 position using the system caret.
2886
2887 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
2888 (w32_system_caret_height, w32_system_caret_x)
2889 (w32_system_caret_y): New variables for tracking system caret.
2890 (w32_initialize): Initialize them.
c2d53558 2891 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 2892
c2d53558
SM
2893 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
2894 New messages types.
1ce1e4ee
JR
2895
2896 * w32term.c (note_mouse_highlight): Clear old help_echo.
2897
e4ac8240 28982001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4e30ce42 2899
bb4600a4
PJ
2900 * xterm.c: Fix typo in a comment.
2901
7db35a48
PJ
2902 * emacs.c: Fix typos in comments.
2903 Remove unnecessary spaces.
2904 Change doc-string comments to `new style' [w/`doc:' keyword].
2905 (USAGE2): Fix typos in usage string.
2906
a7248e4f
PJ
2907 * xterm.c: Fix typo in a comment.
2908
4e30ce42
PJ
2909 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
2910 emacs.c.
2911
62725a92
GM
29122001-10-27 Gerd Moellmann <gerd@gnu.org>
2913
798dbe1f 2914 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 2915 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
2916 farther backward when target_y was not reached.
2917
62725a92
GM
2918 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
2919 Display errno only if non-zero.
2920 (sound_warning): New function.
2921 (vox_configure): Don't treat failing to set sample rate as error.
2922 (various places): Improve error messages.
2923
d4e34d24
EZ
29242001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
2925
944e6f60
EZ
2926 * fileio.c (Faccess_file): Run the argument filename through
2927 Fexpand_file_name, before using it.
2928
d4e34d24
EZ
2929 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
2930 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
2931
38d2af0c
GM
29322001-10-26 Gerd Moellmann <gerd@gnu.org>
2933
da80a8d5
GM
2934 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
2935
38d2af0c
GM
2936 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2937 Fix clearing in the case of scroll bars on the right.
c2d53558 2938
56f508dd
EZ
29392001-10-26 Juanma Barranquero <lektu@terra.es>
2940
2941 * w32gui.h (XImage): Add a dummy typedef.
2942
fbd5ceb2
GM
29432001-10-26 Gerd Moellmann <gerd@gnu.org>
2944
c2d53558 2945 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 2946
b23236fb
EZ
29472001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
2948
2949 * frame.c (Fframe_parameter): Fix last change.
2950
5d991fc4
EZ
2951 * fileio.c: Revert last change (which removed old commented-out
2952 version of expand-file-name). Add a comment that explains why
2953 this old version should not be removed.
2954
879eadc3
GM
29552001-10-25 Gerd Moellmann <gerd@gnu.org>
2956
75700ff2
GM
2957 * frame.c (Fframe_parameter): Fix a bug whereby some
2958 ``artificial'' frame parameters, like `minibuffer' were not
2959 obtained by calling Fframe_parameters.
2960
dfe92a6a
GM
2961 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
2962 cursor differently.
2963
879eadc3
GM
2964 * xdisp.c (move_it_vertically_backward): Compute line height
2965 differently. Add heuristic to try to be more compatible to 20.x.
2966
e1010ebe
SM
29672001-10-25 Stefan Monnier <monnier@cs.yale.edu>
2968
d73a471b
SM
2969 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
2970
d6da5a06
GM
2971 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
2972 boolean.
e1010ebe 2973
f66bd220
MB
29742001-10-25 Miles Bader <miles@gnu.org>
2975
2976 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
2977 BG is a pointer to a structure, not a structure.
2978 (gif_format, png_format): Add missing commas.
2979
d436d538
RS
29802001-10-24 Richard M. Stallman <rms@gnu.org>
2981
2982 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 2983 (syms_of_xfaces): Defsubr it.
d436d538 2984
e4ac8240 29852001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
075c507b
PJ
2986
2987 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
2988 variable `area'.
2989
e4ac8240 29902001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
d492b584 2991
c2d53558 2992 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 2993
e2a57b34
MB
29942001-10-25 Miles Bader <miles@gnu.org>
2995
2996 * dispextern.h (struct image): Add `background',
2997 `background_valid', and `background_transparent' fields.
2998 (image_background, image_background_transparent): New declarations.
2999 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
3000 * xfns.c (image_background, image_background_transparent)
3001 (four_corners_best): New functions.
c2d53558 3002 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
3003 (gs_format): Add `:background' entry.
3004 (lookup_image): Set IMG's background color if specified.
3005 (pbm_load, xbm_load_image, png_load): Set IMG's background field
3006 when appropriate.
3007 (x_clear_image_1): Reset `background_valid' and
3008 `background_transparent_valid' fields.
3009 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
3010 calculating it here. Set IMG's background_transparent field.
3011 (enum xpm_keyword_index): Add XPM_BACKGROUND.
3012 (enum png_keyword_index): Add PNG_BACKGROUND.
3013 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
3014 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
3015 (enum gif_keyword_index): Add GIF_BACKGROUND.
3016 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 3017 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
3018 Pre-calculate image background color where necessary.
3019 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
3020 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
3021 color to use for image glyph reliefs.
3022
b547b6e8
GM
30232001-10-24 Gerd Moellmann <gerd@gnu.org>
3024
d9e3b8c6
GM
3025 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
3026 in full-width rows.
c2d53558 3027
b547b6e8
GM
3028 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3029 Fix clearing of area not covered by scroll bar.
3030
e4ac8240 30312001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2beb36f9
PJ
3032
3033 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
3034 and `real_start'.
c2d53558 3035 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
3036 (glyph_rect): Remove unused variable `area'.
3037
76cb5e06
GM
30382001-10-24 Gerd Moellmann <gerd@gnu.org>
3039
bdbdebff 3040 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
3041
3042 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
3043 (row_containing_pos): Take additional argument DY.
3044 Treat rows ending in middle of char differently.
62e33982
GM
3045 (display_line): Handle tabs on window systems differently.
3046
3047 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
3048 with additional argument.
3049
3050 * dispextern.h (row_containing_pos): Adjust prototype.
3051
76cb5e06
GM
3052 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
3053 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
3054 (try_window_id, try_window_reusing_current_matrix)
3055 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
3056 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
3057
e4ac8240 30582001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
996fee11 3059
c9e60620
PJ
3060 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
3061 gnuemacs).
3062 (HAVE_BOXES): Fix typo in comment.
3063 (push_menu_pane): Fix typo in comment.
3064
3b552d56
PJ
3065 * xdisp.c: (display_prop_string_p): Remove unused local declaration
3066 of `Qwhen'.
3067 (single_display_prop_string_p): Remove unused local declarations
3068 of `Qwhen' and `Qmargin'.
3069 (string_buffer_position): Remove unused variable `around'.
3070 (store_frame_title): Remove unused variable `width'.
3071
15c565ac
PJ
3072 * window.c: Don't define max.
3073 (coordinates_in_window): Remove unused variable `uy'.
3074
a8818eb9
PJ
3075 * widget.c: Don't define max.
3076
996fee11
PJ
3077 * process.c: Don't define max.
3078 (create_process): Remove unused variable `buffer'.
3079
496e1a5b
GM
30802001-10-23 Gerd Moellmann <gerd@gnu.org>
3081
c2d53558 3082 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 3083
5905ae8b
EZ
30842001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
3085
3086 * xfaces.c (Finternal_set_lisp_face_attribute)
3087 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
3088 frame is on a windowed display.
3089
24db49fb
GM
30902001-10-23 Gerd Moellmann <gerd@gnu.org>
3091
c2d53558
SM
3092 * dispnew.c (sync_window_with_frame_matrix_rows):
3093 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
3094 of marginal areas.
3095
c2d53558 3096 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 3097
f0487f05
EZ
30982001-10-23 Andreas Schwab <schwab@suse.de>
3099
3100 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
3101 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
3102
f0a48a01
GM
31032001-10-23 Gerd Moellmann <gerd@gnu.org>
3104
c2d53558 3105 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
3106 REAL_END. Notice if cursor gets overwritten.
3107 (notice_overwritten_cursor): Take X positions as parameters.
3108 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
3109 around call to x_draw_glyphs.
3110
e4ac8240 31112001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
a50a10a0 3112
fc11dff0
PJ
3113 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
3114 instead of C) and usage.
a50a10a0 3115
fc11dff0
PJ
3116 * editfns.c (char-to-string): Fix argument names (use CHAR instead
3117 of C) and usage.
a50a10a0
PJ
3118
3119 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
3120 `left', `max_width' and `max_height'.
3121
8738febd
GM
31222001-10-23 Gerd Moellmann <gerd@gnu.org>
3123
3124 * xdisp.c (display_line): For a tab continued to the next line,
3125 set row's ends_in_middle_of_char_p.
3126
653c329b
GM
31272001-10-22 Gerd Moellmann <gerd@gnu.org>
3128
3129 * xdisp.c (display_line): Fix computation of continuation lines
3130 width for TABs.
3131
e4ac8240 31322001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
f958c5ac 3133
7ba51063
PJ
3134 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
3135 `Qlaplace'.
3136
f958c5ac
PJ
3137 * fileio.c: Remove unused code.
3138
eb360291
MB
31392001-10-22 Miles Bader <miles@gnu.org>
3140
3141 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
3142 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
3143 Remove `DOC_STRINGS_IN_COMMENTS' cases.
3144
98515cf0
JR
31452001-10-21 Jason Rumney <jasonr@gnu.org>
3146
3147 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
3148
93026d88
EZ
31492001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3150
3151 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
3152 (Finsert_string): Avoid the multi-line string literals warning.
3153
c9a95b79
MB
31542001-10-22 Miles Bader <miles@gnu.org>
3155
3156 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
3157 (Fdocumentation): Don't use it.
3158 (syms_of_doc): Don't initialize it.
3159
3160 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
3161 * print.c (Fwith_output_to_temp_buffer): Likewise.
3162 * window.c (Fsave_window_excursion): Likewise.
c2d53558 3163 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 3164 (Fsave_restriction): Likewise.
c2d53558
SM
3165 * eval.c (Frun_hooks, Frun_hook_with_args)
3166 (Frun_hook_with_args_until_failure)
3167 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
3168 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
3169 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
3170 (Funwind_protect, Fcondition_case): Likewise.
3171 * coding.c (Ffind_operation_coding_system): Likewise.
3172 * keyboard.c (Ftrack_mouse): Likewise.
3173
a3b10252
MB
31742001-10-21 Miles Bader <miles@gnu.org>
3175
c2d53558 3176 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
3177 (Fmake_hash_table): Add usage: string to doc string.
3178 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 3179 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
3180 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
3181 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
3182 (Fml_prefix_argument_loop): Likewise.
3183
e4ac8240 31842001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
c6f73eec 3185
c2d53558 3186 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 3187
c6f73eec
PJ
3188 * sysdep.c (init_sys_modes): Change doc-string comments to `new
3189 style' [w/`doc:' keyword].
3190
3191 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
3192 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
3193 comments to `new style' [w/`doc:' keyword].
3194
3cf3436e
JR
31952001-10-21 Jason Rumney <jasonr@gnu.org>
3196
3197 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
3198
c169b8f1
JR
3199 * w32term.c (remember_mouse_glyph): New function.
3200 (w32_mouse_position): Use it.
3201 (note_mouse_movement): If the mouse moved off the glyph, remember
3202 its new position.
c2d53558 3203
4fdd691b
JR
3204 * w32term.h (struct w32_output): Correct spelling of x_compatible.
3205 (w32_display_info): Add mouse_face_overlay.
3206
c169b8f1
JR
3207 * w32term.c (notice_overwritten_cursor): Renamed from
3208 note_overwritten_text_cursor. Rewritten to take glyph widths into
3209 account.
3210 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3211 (fast_find_string_pos): New function.
3212 (fast_find_position): Return the correct vpos. Add parameter
3213 STOP. In the final row, stop before glyphs having STOP as object.
3214 Don't consider glyphs that are not from a buffer.
3215 (fast_find_position) [0]: Add a presumably more correct version
3216 for after 21.1.
3217 (expose_window_tree, expose_frame): Don't compute intersections here.
3218 (expose_window): Do it here instead.
3219 (expose_window_tree, expose_window, expose_line): Return 1 when
3220 overwriting mouse-face.
3221 (expose_window): If W is the window currently being updated, mark
3222 the frame garbaged.
3223 (expose_frame): If mouse-face was overwritten, redo it.
3224 (x_use_underline_position_properties): New variable.
3225 (syms_of_xterm): DEFVAR_BOOL it.
3226 (x_draw_glyph_string): Add comment to use it in future.
3227 (x_draw_glyph_string): Restore clipping after drawing box.
3228 Fix a computation of the underline position.
3229 (w32_get_glyph_string_clip_rect): Minor cleanup.
3230 (x_fill_stretch_glyph_string): Remove an assertion.
3231 (x_produce_glyphs): Don't convert multibyte characters
3232 to unibyte characters in unibyte buffers.
3233 (cursor_in_mouse_face_p): New function.
3234 (x_draw_stretch_glyph_string): Use it to choose a different GC
3235 when drawing a cursor within highlighted text. Don't draw
3236 background again if it has already been drawn.
3237 (x_draw_glyph_string_box): Don't draw a full-width
3238 box just because the glyph row's full_width_p flag is set.
3239 (x_draw_glyphs): Fix computation of rightmost x for
3240 full-width rows.
3241 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3242 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
3243 change bottom shadow accordingly. Some cleanup.
3244 (x_update_window_end): Handle overwritten mouse face
3245 also for tool bar windows.
3246 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3247 DRAW is DRAW_IMAGE_RAISED.
3248 (clear_mouse_face): Return 1 if text with mouse face was
3249 actually redrawn. Make the function static. Reset
3250 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
3251 optimize away highlighting if we pass over that same overlay again.
3252 (note_mouse_highlight): Call mouse_face_overlay_overlaps
3253 to detect a case where we have to highlight a different region
3254 despite not having left the currently highlighted region.
3255 Set mouse_face_overlay in the x_display_info. Avoid changing the
3256 mouse pointer shape when show_mouse_face has already done it, or
3257 there is no need. Handle mouse-face and help-echo in strings.
3258 (glyph_rect): New function.
3259 (w32_mouse_position): Use it to raise the threshold for mouse
3260 movement event generation.
3261 (w32_initialize_display_info): Initialize the x_display_info's
3262 mouse_face_overlay.
3263 (w32_set_vertical_scroll_bar): Don't clear a zero height
3264 or width area.
3265 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3266 a widget to zero height.
3267
3cf3436e 3268 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 3269 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
3270 equivalents in menu_items.
3271 (w32_menu_show): Don't overwrite an item's name with its key
3272 description in case the description is a multibyte string.
3273 (single_submenu): Some cleanup.
3274
3275 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
3276 (postprocess_image): New function.
3277 (lookup_image): Call it for all image types except PostScript.
3278 (x_kill_gs_process): Call postprocess_image.
3279 (tiff_error_handler, tiff_warning_handler): New functions.
3280 (tiff_load): Install them as handlers.
3281 (x_kill_gs_process): Recognize if someone has cleared the image
3282 cache under us.
3283 (valid_image_p): Protect better against invalid image
3284 specifications. Previous code could signal an error.
3285 (Fx_hide_tip, Fshow_tip): Doc fix.
3286 (Fv_max_tooltip_size): New variable.
3287 (syns_of_xfns): DEFVAR_LISP it.
3288 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
3289 window buffer to *tip* right after creating the frame. Set frame's
3290 window_width. Use a maximum tooltip size specified by
3291 Vx_max_tooltip_size, if that has valid contents.
3292 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3293 Make sure the tooltip is completely visible.
3294 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3295 (Fx_create_frame): Adjust the frame's height for presence
3296 of the tool bar before calling x_figure_window_size.
3297 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
3298 when the window gets smaller.
3299 (x_set_foreground_color): Set frame's cursor_pixel.
3300 (x_set_foreground_color, x_set_background_color): Cleaned up.
3301 (x_set_font): Handle case of x_new_fontset returning the same name
3302 as before, although there was a change in fontsets.
3303
386ca361
MB
33042001-10-21 Miles Bader <miles@gnu.org>
3305
c2d53558 3306 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
3307 (Flogxor): Add usage: string to doc string.
3308 * charset.c (Fstring): Likewise.
3309 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
3310 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
3311
e4ac8240 33122001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14ff1ee0 3313
03be2694
PJ
3314 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
3315
3316 * alloc.c: Reindent DEFUNs with doc: keywords.
3317
3318 * abbrev.c (Finsert_abbrev_table_description): Reindent.
3319
14ff1ee0
PJ
3320 * frame.c: Change doc-string comments to `new style' [w/`doc:'
3321 keyword].
3322
71431a0e
GM
33232001-10-20 Gerd Moellmann <gerd@gnu.org>
3324
6aa97356 3325 * (Version 21.1 released.)
71431a0e 3326
e4ac8240 33272001-10-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
39f624fa 3328
c2d53558 3329 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
3330
3331 * xdisp.c (invisible_text_between_p): Put prototype inside #if
3332 0 because unused.
3333
3334 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
3335 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
3336 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 3337
abcce93a
MB
33382001-10-20 Miles Bader <miles@gnu.org>
3339
3340 The following changes remove the glyph_row `inverse_p' field,
3341 which is never set anymore, due to other changes:
3342
3343 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
3344 (reassert_line_highlight, change_line_highlight): Declarations removed.
3345 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
3346 (line_hash_code, row_equal_p, fake_current_matrices)
3347 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
3348 (update_frame_line, update_frame_line, update_frame_line):
3349 Don't use `inverse_p' field.
3350 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
3351 change_line_highlight_hook.
3352 (XTreassert_line_highlight, x_change_line_highlight):
3353 Functions removed.
c2d53558 3354 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
3355 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3356 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
3357 `inverse_p' field.
c2d53558 3358 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
3359 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3360 (w32_reassert_line_highlight, x_change_line_highlight):
3361 Functions removed.
3362 * w32console.c (reassert_line_highlight, change_line_highlight):
3363 Functions removed.
3364 (initialize_w32_display): Don't set reassert_line_highlight_hook
3365 or change_line_highlight_hook.
3366 (hl_mode): Function removed.
c2d53558
SM
3367 (reset_terminal_modes, set_terminal_modes, update_begin)
3368 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
3369 (clear_frame, ins_del_lines): Don't call it.
3370 * termhooks.h (reassert_line_highlight_hook)
3371 (change_line_highlight_hook): Declarations removed.
3372 * term.c (reassert_line_highlight_hook)
3373 (change_line_highlight_hook): Variables removed.
3374 (reassert_line_highlight, change_line_highlight): Functions removed.
3375 * msdos.c (IT_reassert_line_highlight)
3376 (IT_change_line_highlight): Functions removed.
3377 (internal_terminal_init): Don't set reassert_line_highlight_hook
3378 or change_line_highlight_hook.
3379 (highlight): Variable removed.
c2d53558 3380 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
3381 (IT_set_terminal_modes): Don't set or use it.
3382
3383 The following changes remove inverse-video support for terminals
3384 that use a `magic cookie' standout mode. Due to changes in the
3385 way mode-lines are displayed, such support no longer works
3386 anyway, and it's probable that almost no one uses such terminals
3387 anymore:
3388
3389 * term.c (standout_requested): Variable removed.
3390 (update_end, highlight_if_desired): Don't use it.
3391 (chars_wasted, copybuf): Variables removed.
3392 (write_standout_marker): Function removed.
c2d53558 3393 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
3394 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
3395 Don't use `chars_wasted' or `copybuf'.
3396 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
3397 Set `costs_set' to true.
3398 (cursor_to, clear_end_of_line): Test `costs_set' instead of
3399 `chars_wasted'.
3400 (clear_end_of_line): Function removed.
3401 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
3402 (clear_to_end): Call `clear_end_of_line' instead of
3403 `clear_end_of_line_raw'.
54800acb
MB
3404 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
3405 (term_init): Don't set them.
3406 Turn off any standout/underline modes that require magic cookies.
c2d53558 3407 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
3408 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
3409 Remove special processing for magic-cookie standout modes.
3410 (turn_off_face, turn_on_face): Remove special processing for
3411 underline magic-cookie glitch.
abcce93a 3412
0b5f679f
RS
34132001-10-19 Richard M. Stallman <rms@gnu.org>
3414
3415 * eval.c (syms_of_eval): Doc fixes.
3416
5a4a5bd4
GM
34172001-10-19 Gerd Moellmann <gerd@gnu.org>
3418
3419 * xdisp.c (redisplay_internal): Don't clear echo area if the
3420 mini-window is selected.
3421
79f1f96c
MB
34222001-10-19 Miles Bader <miles@gnu.org>
3423
b57c2708
MB
3424 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
3425 doesn't take precedence if the affected property's value is nil.
3426
3427 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
3428
79f1f96c
MB
3429 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
3430 with fields and suggest using `forward-line' to avoid them.
3431 * editfns.c (Fline_beginning_position, Fline_end_position):
3432 Clarify documentation.
3433
ef879104
SM
34342001-10-18 Stefan Monnier <monnier@cs.yale.edu>
3435
3436 * keymap.c (current_minor_maps): `override' only shadows its
3437 correspondent in minor-mode-map-alist, not the whole tail.
3438
97f4db8c
AI
34392001-10-18 Andrew Innes <andrewi@gnu.org>
3440
3441 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
3442 optimization. The fontp->encoding array was not being initialized
3443 correctly when compiled with optimizations by MSVC.
3444
e6b70fd8
GM
34452001-10-18 Gerd Moellmann <gerd@gnu.org>
3446
30903479 3447 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 3448
0e804d38
AI
34492001-10-17 Andrew Innes <andrewi@gnu.org>
3450
3451 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
3452
3453 * w32fns.c (w32_load_system_font): Cache codepage for font, in
3454 font_info.charset field.
3455
3456 * w32term.c (w32_encode_char): Get cached codepage from font_info,
3457 rather than working it out by calling w32_codepage_for_font for
3458 every glyph.
3459
66e5868a
AI
34602001-10-17 Andrew Innes <andrewi@gnu.org>
3461
3462 * w32term.c (w32_read_socket): Determine clipping rectangle for
3463 the entire frame, including areas covered by scrollbars and the
3464 menubar. This avoids internal arguments about whether a frame is
3465 fully obscured or not.
3466
15b00083
GM
34672001-10-17 Gerd Moellmann <gerd@gnu.org>
3468
23e8bd86
GM
3469 * xdisp.c (try_window_id): Undo last change. Give up if
3470 window ends in strings.
30903479 3471
9c6ba6d1 3472 * xdisp.c (try_window_id): Don't display lines after the window
30903479 3473 end if the rest of the window after the window end was already blank.
23e8bd86 3474
30903479 3475 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
3476 for the release of 21.1.
3477
30903479 3478 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 3479
945220bd
MB
34802001-10-17 Miles Bader <miles@gnu.org>
3481
3482 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
3483 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
3484 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
3485 Change doc-string comments to `new style' [w/`doc:' keyword].
3486 (DOC_STRINGS_IN_COMMENTS): Macro removed.
3487 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
3488 out make-docfile.
3489
14242528
MB
34902001-10-16 Miles Bader <miles@gnu.org>
3491
3492 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
3493
3ddf952f
GM
34942001-10-16 Gerd Moellmann <gerd@gnu.org>
3495
3496 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
3497 *scratch*.
3498
f3fbd155
KR
34992001-10-16 Ken Raeburn <raeburn@gnu.org>
3500
3501 Avoid the assumption that car and cdr slots of cons cells are
3502 addressable lvalues; this allows for easier experimentation with
3503 other lisp implementations that may not permit such accesses for
3504 various reasons. Not quite complete -- buffer.c still needs some
3505 work, and w32/mac files need rechecking -- so compile-time
3506 enforcement is left disabled for now.
3507
3508 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 3509 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
3510 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
3511 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
3512 (XSETCAR, XSETCDR): New macros.
3513 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
3514 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
3515 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
3516 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
3517 XSETCDR.
3518 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
3519 * buffer.c (record_buffer, Fbury_buffer)
3520 (swap_out_buffer_local_variables, recenter_overlay_lists)
3521 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
3522 fields of a cons cell respectively.
3523 * callint.c (quotify_args, Fcall_interactively): Likewise.
3524 * ccl.c (Fregister_code_conversion_map): Likewise.
3525 * coding.c (detect_coding_system): Likewise.
3526 * composite.c (get_composition_id, make_composition_value_copy):
3527 Likewise.
30903479
SM
3528 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
3529 (swap_in_symval_forwarding, set_internal, Fset_default)
3530 (Fmake_variable_buffer_local, Fmake_local_variable)
3531 (Fmake_variable_frame_local): Likewise.
f3fbd155 3532 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 3533 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 3534 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
3535 * minibuf.c (get_minibuffer): Likewise.
3536 * search.c (Fmatch_data): Likewise.
3537 * textprop.c (extend_property_ranges): Likewise.
c2d53558 3538 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
3539 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
3540 Likewise.
3541 * w32term.c (x_delete_display): Likewise.
3542 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
3543 Likewise.
c2d53558 3544 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 3545 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 3546 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
3547 (Fread_file_name): Use XSETCAR.
3548 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
3549 CHECK_NUMBER_CDR.
3550 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
3551 * frame.c (Fmake_terminal_frame): Use XSETCDR.
3552 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
3553 CHECK_NUMBER_CDR.
3554 * keyboard.c (read_char): Alter list traversal to avoid taking the
3555 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
3556 (parse_menu_item): Use XSETCAR and XSETCDR.
3557 (reach_char_x_menu_prompt): Use XSETCAR.
3558 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
3559 (Fcommand_execute): Use XSETCDR.
3560 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
3561 (openp): Change list traversal to avoid using XCAR as lvalue.
3562 (read_list): Use XSETCDR.
3563 * process.c (wait_reading_process_input): Change wait_for_cell
3564 handling to avoid taking addresses of cons cell slots.
30903479
SM
3565 * xselect.c (x_own_selection, x_handle_selection_clear)
3566 (x_clear_frame_selections): Use XSETCDR.
3567 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
3568 (x_handle_property_notify, x_get_foreign_selection)
3569 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 3570
e4ac8240 35712001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
502150e5 3572
018ba359
PJ
3573 * buffer.c: Put doc strings in comments.
3574
30903479 3575 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 3576
b56ba8de
SS
35772001-10-15 Sam Steingold <sds@gnu.org>
3578
3579 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
3580
e4ac8240 35812001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6a0b793a 3582
30903479
SM
3583 * process.c (process-inherit-coding-system-flag)
3584 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
3585 in comment.
3586
a1f17501 3587 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 3588 arguments. Put doc strings in comments.
a65da641
PJ
3589
3590 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 3591
aa601ad0
GM
35922001-10-15 Gerd Moellmann <gerd@gnu.org>
3593
30903479 3594 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 3595
aa601ad0
GM
3596 * window.c (select_window_1): Unfreeze window start. Remove a
3597 doubled test for WINDOW being live.
3598
e4ac8240 35992001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
288148a1 3600
dd8d1e71
PJ
3601 * fns.c (Fmapconcat): Fix typo in a doc string.
3602
288148a1
PJ
3603 * dispnew.c (Fsleep_for): Fix typo in a doc string.
3604
9f5eb4a3
GM
36052001-10-15 Gerd Moellmann <gerd@gnu.org>
3606
3607 * xterm.c (x_draw_glyph_string): Restore clipping after
3608 drawing box.
3609
e4ac8240 36102001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
dbae44c8 3611
30903479 3612 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 3613
0c88c937
SM
36142001-10-14 Stefan Monnier <monnier@cs.yale.edu>
3615
56378db4
GM
3616 * indent.c (skip_invisible): Use new retval of
3617 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 3618
845e4cf4
SM
3619 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
3620 If a parent is reached and noinherit is set, exit immediately.
3621 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
3622
0c88c937
SM
3623 * s/ms-w32.h (EXEC_SUFFIXES):
3624 * s/msdos.h (EXEC_SUFFIXES):
3625 * process.h (EXEC_SUFFIXES): Remove.
3626
3627 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
3628 (decode_suffixes): Remove.
3629
3630 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
3631 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
3632 (invisible_ellipsis_p): Remove.
0c88c937
SM
3633
3634 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
3635 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
3636 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
3637 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
3638 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 3639
e4ac8240 36402001-10-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
d19be8a9 3641
04d7d066
PJ
3642 * lisp.h (Ftop_level): Add prototype.
3643
d624284c
PJ
3644 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
3645 (XTread_socket): Improve style of comments to follow other
3646 comments.
3647
a87414f9
PJ
3648 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
3649 is already prototyped in included lisp.h).
3650
d19be8a9
PJ
3651 * frame.c (Fset_mouse_position): Improve style of comment to
3652 follow other comments.
3653 (Fset_mouse_pixel_position): Improve style of comment to follow
3654 other comments.
3655 (Fmake_frame_visible): Doc fix and typo in comment.
3656 (Fmake_frame_invisible): Doc fix and typo in comment.
3657 (Ficonify_frame): Fix typo in comment.
3658
c061c855
GM
36592001-10-14 Gerd Moellmann <gerd@gnu.org>
3660
37f6b5b6 3661 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 3662 * term.c, alloc.c: Put doc strings in comments.
c061c855 3663
e641b454
GM
36642001-10-13 Gerd Moellmann <gerd@gnu.org>
3665
3666 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
3667 Provide definitions for doc strings in comments.
3668
3669 * fns.c: Put doc strings in comments.
3670
51724e26
EZ
36712001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
3672
3673 * dired.c (file_name_completion): Ignore a candidate directory if
3674 it matches an element in completion-ignored-extensions that ends
3675 in a slash.
3676 (syms_of_dired) <completion-ignored-extensions>: Mention the above
3677 feature in the doc string.
3678 (Ffile_name_completion): Ditto.
3679
be5fc59b
SM
36802001-10-12 Stefan Monnier <monnier@cs.yale.edu>
3681
5a1373f3
SM
3682 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
3683
3684 * xfns.c (syms_of_xfns): Update calls to Fprovide.
3685
3686 * lisp.h (Fprovide): Update prototype.
3687 (Ffeaturep, invisible_p): Remove.
3688
bbc4a3d3 3689 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
3690 (DOLIST, LOOP_PROPVAL): New macros.
3691 (invisible_p, invisible_ellipsis_p): Use them.
3692 (invisible_noellipsis_p): New function.
3693 (syms_of_xdisp): Use empty_string.
3694
3695 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
3696
3697 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
3698 (syms_of_lread) <Vafter_load_alist>: Update docstring.
3699
3700 * print.c (Fwith_output_to_temp_buffer): Align with
3701 internal_with_output_to_temp_buffer.
3702 (print_preprocess): Use traverse_intervals_noorder.
3703 (print_object): Update call to traverse_intervals.
3704
3705 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
3706 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
3707
3708 * intervals.c (traverse_intervals_noorder): New function.
3709 (search_for_interval, count_intervals): Use it.
3710 (traverse_intervals): Use less stack space and drop `depth' arg.
3711
3712 * fns.c (Ffeaturep): Add new `subfeature' arg.
3713 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
3714 (Qsubfeatures): New var.
3715 (syms_of_fns): Initialize it.
3716
026f408d
SM
3717 * keymap.c (Fkey_description): Use empty_string.
3718 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
3719 (syms_of_keymap): Setup inheritance between maps.
3720 Don't export Sdescribe_bindings_internal any more.
3721
be5fc59b
SM
3722 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
3723
3365175e
GM
37242001-10-12 Gerd Moellmann <gerd@gnu.org>
3725
3726 * xterm.c (notice_overwritten_cursor): Renamed from
3727 note_overwritten_text_cursor. Rewritten to take glyph widths into
3728 account.
3729
2ab7765c
EZ
37302001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3731
3732 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
3733 multi-line strings without a trailing "\n\".
3734
e4ac8240 37352001-10-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
311346bb
PJ
3736
3737 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
3738 defined.
3739
2168e04d
SM
37402001-10-11 Stefan Monnier <monnier@cs.yale.edu>
3741
026f408d
SM
3742 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
3743
c0ec53ad
SM
3744 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
3745 * w32proc.c (sys_spawnve):
3746 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
3747 * w32.c (check_windows_init_file):
3748 * sound.c (Fplay_sound):
026f408d 3749 * emacs.c (init_cmdargs):
c0ec53ad
SM
3750 * process.c (Fstart_process): Update calls to openp.
3751
3752 * callproc.c (Vexec_suffixes): New var.
3753 (Fcall_process): Update call to openp.
3754 (decode_suffixes): New function.
3755 (syms_of_callproc): Init exec-suffixes.
3756
3757 * lread.c (Vload_suffixes, default_suffixes): New vars.
3758 (openp): Take a lisp list of suffixes.
3759 Check for file-name-handlers even if the file was absolute already.
3760 (syms_of_lread): Declare load-suffixes.
3761 (Fload): Fix up call to openp.
3762 Don't bother checking for file-name-handler at the very beginning.
3763
f6333468
SM
3764 * keymap.h (Fcopy_keymap): Don't export.
3765
3766 * lisp.h (empty_string): Declare.
c0ec53ad
SM
3767 (Vload_suffixes, Vexec_suffixes): Declare.
3768 (openp): Update prototype.
f6333468
SM
3769
3770 * emacs.c (empty_string): New var.
3771 (syms_of_emacs): Initialize it.
3772
3773 * search.c (wordify): Use it.
3774
3775 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
3776 selected window if it's not displayed there. Handle the case
3777 when the window is dedicated.
3778 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
3779
3780 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
3781
2168e04d
SM
3782 * syntax.h (struct gl_state_s): Change the meaning of b_property.
3783 Remove left_ok and right_ok.
3784 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
3785 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
3786 new meaning of b_property.
3787
3788 * syntax.c (update_syntax_table): Simplify.
3789 (Fforward_comment): Don't skip quoted chars when going backward.
3790
13d95cc0
GM
37912001-10-11 Gerd Moellmann <gerd@gnu.org>
3792
beb0990f
GM
3793 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
3794 in case I is of some unsigned type, in which case
3795 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
3796 comparison becomes bogus.
3797
cb938d46
GM
3798 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
3799 (Fuser_full_name): Fix bug treating a float as a fixnum.
3800
3801 * data.c (Fstring_to_number): Use make_fixnum_or_float.
3802
3803 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 3804
13d95cc0
GM
3805 * lisp.h (circular_list_error): Add prototype.
3806
3807 * data.c (Qcircular_list): New variable.
3808 (circular_list_error): New function.
3809 (syms_of_data): Initialize it Qcircular_list.
3810
e35f6ff7
SM
38112001-10-10 Stefan Monnier <monnier@cs.yale.edu>
3812
7dee7ff7
PJ
3813 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
3814 * casefiddle.c, buffer.c: Include keymap.h.
e35f6ff7 3815
619632ac
GM
38162001-10-10 Gerd Moellmann <gerd@gnu.org>
3817
3818 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
3819 options. From Dave Love <d.love@dl.ac.uk>.
3820
5e5388f6
GM
38212001-10-09 Gerd Moellmann <gerd@gnu.org>
3822
3823 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
3824 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3825
14a3dff7
GM
3826 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
3827 unsigned char.
3828 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 3829
76ba8daf
AI
38302001-10-08 Andrew Innes <andrewi@gnu.org>
3831
3832 * lisp.h [max]: Undef min and max before redefining them.
3833
3834 * w32gui.h: Do not undef min and max.
3835
3836 * w32heap.h: Do not undef min and max.
3837
3838 * s/ms-w32.h: Do not undef min and max.
3839
166253cb
SM
38402001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3841
3842 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
3843
0c4d9527
SS
38442001-10-08 Sam Steingold <sds@gnu.org>
3845
3846 * keymap.c (current-active-maps): Quote newlines (compilation error).
3847
14bfa771
EZ
38482001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3849
3850 * Makefile.in (lisp, shortlisp): Replace bindings.el with
3851 bindings.elc, since otherwise doc strings in bindings.el get wrong
3852 offsets in etc/DOC.
3853
bdb7aa47
SM
38542001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3855
9985827f
SM
3856 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
3857
3858 * keyboard.h (map_prompt): Remove.
3859
3860 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 3861 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 3862
bdb7aa47
SM
3863 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3864
3865 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3866
3867 * keyboard.c (map_prompt): Remove.
3868 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3869 Use Fkeymap_prompt.
3870
3871 * keymap.h: New file. Extracted from lisp.h.
3872
9985827f
SM
3873 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
3874 (accessible_keymaps_1): New function.
3875 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
3876 (Fwhere_is_internal): Use Fcurrent_active_maps.
3877 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
3878 Insert in current buffer rather than standard-output.
3879 Don't call `help-mode'. Export to elisp.
3880 (describe_buffer_bindings): New wrapper.
3881 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
3882 and Sdescribe_buffer_bindings.
3883
402c9a51
GM
38842001-10-08 Gerd Moellmann <gerd@gnu.org>
3885
9985827f 3886 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
3887 Remove code setting signal handler.
3888
9985827f 3889 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
3890 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
3891
e4ac8240 38922001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3fe81fdf
PJ
3893
3894 * keyboard.c: Don't define min/max.
3895
55fa7820
GM
38962001-10-08 Gerd Moellmann <gerd@gnu.org>
3897
9985827f 3898 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 3899 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 3900 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 3901 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 3902 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
3903 Don't define min/max.
3904
3905 * lisp.h (min, max): New macros.
3906
55fa7820
GM
3907 * puresize.h (BASE_PURESIZE): Increase to 725000.
3908
e4ac8240 39092001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1aad31e4 3910
9180dc8c
PJ
3911 * xfaces.c (free_frame_menubar): Add prototype.
3912
01f67d2c
PJ
3913 * lisp.h (init_window): Add prototype.
3914
3915 * editfns.c: Include ctype.h.
3916
3917 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 3918 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
3919 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
3920 variable `sb'.
3921
5f351ff1
PJ
3922 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
3923 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
3924 `popup_activated_flag' and `title'.
3925
479dfe87
PJ
3926 * doc.c (Fdocumentation_property): Fix typo in a doc string.
3927
dff49fc8
PJ
3928 * emacs.c (main): Remove extra `;'.
3929
248ac615
PJ
3930 * atimer.h (struct atimer): Fix typos in a comment.
3931
3932 * atimer.c: Fix typo.
3933
af232c7d
PJ
3934 * Makefile.in: Fix typo.
3935
3936 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 3937
d876f455
MB
39382001-10-07 Miles Bader <miles@gnu.org>
3939
3940 * Makefile.in (lisp, shortlisp): Add `button.elc'.
3941
0037e2f2
KR
39422001-10-07 Ken Raeburn <raeburn@gnu.org>
3943
b056f36d
KR
3944 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
3945 Lisp_Object.
3946
0037e2f2
KR
3947 * lisp.h (Ffield_end): Declare.
3948
1a4372ef
GM
39492001-10-07 Gerd Moellmann <gerd@gnu.org>
3950
a4a74e8c
GM
3951 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
3952
3953 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
3954
3955 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
3956
3957 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
3958
1a4372ef
GM
3959 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
3960 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
3961
3962 * alloc.c (inhibit_garbage_collection): Simplify.
3963 (Fmemory_use_counts): Ditto.
3964
9985827f 3965 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
3966 (syms_of_data): DEFVAR_INT most-positive-fixnum and
3967 most-negative-fixnum.
3968
9985827f 3969 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
3970 (FIXNUM_OVERFLOW_P): New macros.
3971
4650e362
MB
39722001-10-06 Miles Bader <miles@gnu.org>
3973
3974 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
3975 scroll_bar_bottom_shadow_pixel fields.
3976 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
3977 for the shadows, and tell the toolkit about them if we succeed.
3978 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
3979 Free scroll-bar shadow colors.
3980 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
3981 Free scroll-bar shadow colors when the background color changes.
3982 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
3983 Initialize scroll-bar shadow-color fields.
3984
ace64e0a
GM
39852001-10-05 Gerd Moellmann <gerd@gnu.org>
3986
3987 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
3988
ec66bdc7
MB
39892001-10-05 Miles Bader <miles@gnu.org>
3990
9985827f
SM
3991 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
3992 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 3993 New functions (were in simple.el).
9985827f 3994 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
3995 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
3996 (syms_of_minibuf): Initialize them.
3997
a0fb4492
GM
39982001-10-05 Gerd Moellmann <gerd@gnu.org>
3999
4000 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
4001 (tiff_load): Install them as error and warning handler.
4002
0bcf87c1
AI
40032001-10-04 Andrew Innes <andrewi@gnu.org>
4004
4005 * w32fns.c (x_to_w32_color): Fix argument to alloca.
4006 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 4007 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
4008 (x_to_w32_charset): Handle private format for unknown charsets.
4009 Handle wildcards in charset spec, by ignoring them.
4010 (w32_codepage_for_font): Fix argument to alloca. Don't remove
4011 "*-" prefix from charset.
4012 (x_to_w32_font): Enlarge remainder array for safety. Specifically
4013 handle the truncated font spec form constructed by font_list_1, so
4014 that we correctly identify the charset fields. Don't remove "*-"
4015 prefix from charset.
4016 (w32_list_synthesized_fonts): Fix argument to alloca.
4017
c89e4bc5
GM
40182001-10-04 Stefan Monnier <monnier@cs.yale.edu>
4019
4020 * window.h (MINI_WINDOW_P): Use NILP.
4021
4022 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
4023
4024 * termhooks.h (struct input_event): Use proper type for `kind'.
4025
40262001-10-04 Gerd Moellmann <gerd@gnu.org>
4027
4028 This handles unknown keysyms better than before. For example,
4029 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
4030 Emacs formerly completely ignored F5. With the change, it derives
4031 a key symbol from the name of the X keysym, `ccaron' in this case.
4032 Reported by Martin Buchholz.
4033
4034 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
4035 unknown keysyms.
4036
4037 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
4038 that EVENT->code isn't a function key, use the keysym's name.
4039
40402001-10-04 Gerd Moellmann <gerd@gnu.org>
4041
4042 FOREACH is a macro that should make it easier to loop over Lisp
4043 lists with checks for cycles and proper lists.
4044
4045 * lisp.h (LIST_END_P, FOREACH): New macros.
4046
40472001-10-04 Gerd Moellmann <gerd@gnu.org>
4048
4049 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
4050 called for a lost connection. Prevent dumping core in this case.
4051 Instead print the X error, and exit. On user request.
4052
4053 * xterm.c (error_msg): New variable.
4054 (x_fatal_error_signal): New function.
4055 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
4056 as fatal_error_signal_hook around the call to XtCloseDisplay.
4057
4058 * emacs.c (fatal_error_signal_hook): New variable.
4059 (fatal_error_signal): Call that function.
4060
40612001-10-04 Gerd Moellmann <gerd@gnu.org>
4062
4063 With this, Emacs prints how much pure storage it will
4064 approximately need in case pure storage overflows while dumping.
4065
4066 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
4067 New variables.
4068 (init_alloc_once): Initialize new variables.
4069 (PURE_POINTER_P): Use new variables.
4070 (pure_alloc): If pure storage overflows, allocate from the heap.
4071 (check_pure_size): New function.
4072 (Fgarbage_collect): Don't GC if pure storage has overflowed.
4073
4074 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
4075 (check_pure_size): Add prototype.
4076
4077 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
4078
40792001-10-04 Gerd Moellmann <gerd@gnu.org>
4080
4081 This adds a post-gc-hook that's run with GC inhibited.
4082 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
4083
4084 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
4085 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
4086 (Fgarbage_collect): Run post-gc-hook.
4087
40882001-10-04 Gerd Moellmann <gerd@gnu.org>
4089
4090 This adds `defvaralias' and `indirect-variable'. Changes not
4091 directly related to this feature are there to gain the same
4092 performance again as before variable aliases.
4093
4094 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
4095 code to get and set symbol values, to take defvaralias into account.
4096
4097 (Note: the new `constant' bit-flag in symbols would make it
4098 possible to define arbitrary read-only variables, e.g. with
4099 `defconst'.)
4100
4101 Documentation is in lispref/variables.texi. Added to NEWS.
4102
4103 * lisp.h (enum symbol_interned): New enumeration.
4104 (struct Lisp_Symbol): Remove member `obarray', add
4105 `indirect_variable', `constant', and `interned'.
4106 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
4107 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
4108 (indirect_variable): Add prototype.
4109
4110 * print.c (print_preprocess, print_object): Test internedness of
4111 symbols differently.
4112
4113 * lread.c (Fintern, Funintern): Set symbol's interned and constant
4114 bit-fields.
4115 (init_obarray): Likewise for t and nil.
4116
4117 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
4118 (Fdefvaralias): New function.
4119 (specbind): Simplify the test if symbol is a constant.
4120 (syms_of_eval): Defsubr Fdefvaralias.
4121
4122 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
4123 (Qcyclic_variable_indirection): New variable.
4124 (Fkeywordp): Check for internedness differently.
4125 (Fmakunbound): Simplify the test if symbol is a constant.
4126 (indirect_variable, Findirect_variable): New functions.
4127 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
4128 aliased symbol.
4129 (let_shadows_buffer_binding_p): Check for variable aliases.
4130 (set_internal): Simplify the test if SYMBOL is a constant.
4131 If SYMBOL has a buffer-local value and is an alias, use the aliased
4132 symbol instead.
4133 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
4134 Sindirect_variable.
4135
4136 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
4137 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
4138 set directly.
4139
4140 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
4141
4142 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
4143 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
4144 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
4145
ab952a4f
GM
41462001-10-04 Gerd Moellmann <gerd@gnu.org>
4147
4148 * Branch for 21.1.
b56ba8de 4149
ba88ff28
MB
41502001-10-03 Miles Bader <miles@gnu.org>
4151
4152 * callproc.c (syms_of_callproc): Explicitly state in the
4153 documentation for `process-environment' that earlier entries take
4154 precedence over later ones.
4155
ae1a9581
MB
41562001-10-02 Miles Bader <miles@gnu.org>
4157
4158 * textprop.c (Fnext_char_property_change)
4159 (Fprevious_char_property_change): Remove reference to non-existant
4160 argument OBJECT from doc-string.
4161
257e3f57
GM
41622001-10-01 Gerd Moellmann <gerd@gnu.org>
4163
4164 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
4165 (try_window_id): Skip back over lines ending in a newline from a
4166 string.
4167
4168 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
4169 New bit flag
4170
c1f29759
RS
41712001-10-01 Richard M. Stallman <rms@gnu.org>
4172
4173 * search.c (Freplace_match): Doc fix.
4174
c30dce3d
AI
41752001-09-28 Andrew Innes <andrewi@gnu.org>
4176
4177 * w32menu.c (set_frame_menubar): Take into account that
4178 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4179 <raeburn@gnu.org>.
4180
03be5931
EZ
41812001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
4182
4183 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
4184
e4ac8240 41852001-09-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
75bec752
PJ
4186
4187 * s/gnu-linux.h: Fix a typo in comment.
4188
83100e0a
AS
41892001-09-28 Andreas Schwab <schwab@suse.de>
4190
4191 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
4192 nocombreloc, in case -z combreloc is the default.
4193
a74b48cf
GM
41942001-09-28 Gerd Moellmann <gerd@gnu.org>
4195
4196 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
4197 really going on here.
4198
09c4719e
SM
41992001-09-27 Stefan Monnier <monnier@cs.yale.edu>
4200
4201 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
4202
f7d5d963
EZ
42032001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
4204
4205 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
4206 utf-8, menu-bar, and latin-N.
4207 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
4208 unconditionally now.
4209 (lisp): Add latin-N, since they are preloaded.
4210
9240e746
GM
42112001-09-27 Gerd Moellmann <gerd@gnu.org>
4212
14531065
GM
4213 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
4214 to the left. Some cleanup.
4215
9240e746
GM
4216 * xdisp.c (display_mode_element): One more case where a string's
4217 multibyteness should be used for display.
4218
edd1e654
GM
42192001-09-26 Gerd Moellmann <gerd@gnu.org>
4220
b02439c8
GM
4221 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
4222 reading at EOF.
4223
032906b1 4224 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 4225 of the only temporarily set echoing flag for deciding when
032906b1
GM
4226 the cancel echoing.
4227
4228 * keyboard.c (echo_kboard): Make externally visible.
4229
4230 * lisp.h (echo_kboard): Declare extern.
4231
cb617e7c 4232 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 4233 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
4234 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
4235 this round of redisplay if make_cursor_line_fully_visible fails.
4236 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 4237 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
4238
4239 * dispextern.h (required_matrix_width, required_matrix_height):
4240 Add prototypes.
4241
09c4719e
SM
4242 * dispnew.c (required_matrix_width, required_matrix_height):
4243 New functions.
cb617e7c 4244 (allocate_matrices_for_window_redisplay)
09c4719e
SM
4245 (allocate_matrices_for_frame_redisplay: Use them.
4246 Remove parameters CH_DIM.
cb617e7c 4247
edd1e654
GM
4248 * xdisp.c (display_mode_lines): Temporarily set selected_frame
4249 and selected_window to the frame of the window whose mode-lines
4250 are displayed, and to the window itself.
4251 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 4252 here.
edd1e654 4253
924b604c
GM
42542001-09-25 Gerd Moellmann <gerd@gnu.org>
4255
daba7643
GM
4256 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
4257 the image cache under us.
4258
b7a22712 4259 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 4260 with a string value, use that string's multibyteness for displaying.
b7a22712 4261
ad648212
GM
4262 * keyboard.c (read_char): Don't clear a message for a switch-frame
4263 event. From Stefan Monnier <monnier@cs.yale.edu>.
4264
9f8531e5
GM
4265 * xterm.c (fast_find_position) [0]: Add a presumably more correct
4266 version for after 21.1.
4267
4268 * xdisp.c (row_containing_pos): Make externally visible.
4269
4270 * dispextern.h (row_containing_pos): Add prototype.
4271
924b604c
GM
4272 * process.c (send_process): Disable composition if from_byte < 0.
4273 From Kenichi Handa <handa@etl.go.jp>.
4274
6f3f0db4
GM
42752001-09-24 Gerd Moellmann <gerd@gnu.org>
4276
c69c0ebc
GM
4277 * xterm.c (refreshicon): Function removed.
4278
d1182bc4
GM
4279 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
4280
4281 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
4282
4283 * xterm.c (toplevel): Remove includes in #if 0.
4284
6f3f0db4
GM
4285 * process.c (sigchld_handler) [LINUX]: Don't return from
4286 the signal handler at the end of the loop.
4287
59957f85
GM
42882001-09-21 Gerd Moellmann <gerd@gnu.org>
4289
09c4719e
SM
4290 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
4291 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 4292
a0528984
EZ
42932001-09-21 Markus Rost <rost@math.ohio-state.edu>
4294
4295 * Makefile.in (shortlisp): Add ../lisp/env.elc.
4296
db92b288
GM
42972001-09-20 Gerd Moellmann <gerd@gnu.org>
4298
3fed8ad5
GM
4299 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
4300 since this function can be called during GC.
4301
db92b288
GM
4302 * callproc.c (Fcall_process): Handle errors from pipe(2).
4303 (child_setup): Delete code in #ifdef vipc.
4304
7121b85a
GM
43052001-09-19 Gerd Moellmann <gerd@gnu.org>
4306
72f62cb5
GM
4307 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
4308 (display_mode_element): Display the string from decode_mode_spec
4309 depending on its multibyteness.
4310
a2697022
GM
4311 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
4312
7121b85a
GM
4313 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
4314
bfc97351
GM
43152001-09-18 Gerd Moellmann <gerd@gnu.org>
4316
c9063433
GM
4317 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
4318 recursive_edit_unwind.
4319 (recursive_edit_unwind): Set kboard state according to
4320 SINGLE-KBOARD.
4321
3fbdba3e
GM
4322 * buffer.c (modify_overlay): Don't do nothing if START == END;
4323 This can still be a modification, for example when an overlay has
4324 a before-string or after-string.
4325 (Fdelete_overlay): Prevent redisplay optimizations when deleting
4326 an overlay with before-string or after-string.
4327
1270031d
GM
4328 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
4329 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
4330
bfc97351
GM
4331 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
4332 first_unchanged_at_end_row is in front of
4333 last_unchanged_at_beg_row. This code should be removed after the
4334 release of 21.1.
4335
d8a973aa
GM
43362001-09-17 Gerd Moellmann <gerd@gnu.org>
4337
e18c8b8d
GM
4338 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
4339 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
4340
d8a973aa
GM
4341 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
4342 versions >= 2.95.
4343
ed7d6ba4
EZ
43442001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
4345
4346 * dired.c (Ffile_attributes): Doc fix.
4347
551629f9
GM
43482001-09-14 Gerd Moellmann <gerd@gnu.org>
4349
4350 * fileio.c (Ffile_symlink_p): Fix last change.
4351
4352 * filelock.c (current_lock_owner): Fix last change.
4353
4c8c7926
GM
43542001-09-13 Gerd Moellmann <gerd@gnu.org>
4355
620c4704
GM
4356 * filelock.c (current_lock_owner): If readlink returns ERANGE,
4357 take that to mean that the buffer is too small.
4358
81c3310d
GM
4359 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
4360 that to mean that the buffer is too small.
4361
06fd3792
GM
4362 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
4363 current buffer's multibyteness when discarding the iterator's
4364 stack.
4365
4c8c7926
GM
4366 * xfns.c (Fx_window_property): Handle case that property gets
4367 deleted between the two calls to XGetWindowProperty.
4368
9a72e4c1
GM
43692001-09-11 Gerd Moellmann <gerd@gnu.org>
4370
bd819d14 4371 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 4372
a41edd99
GM
4373 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
4374 in addition to read-only.
4375
4376 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
4377 to t in addition to read-only.
4378
4379 * lisp.h (Qinhibit_modification_hooks): Declare.
4380
4381 * insdel.c (Qinhibit_modification_hooks): New variable.
4382 (syms_of_insdel): Initialize and staticpro it.
4383
d4881c6a
GM
4384 * textprop.c (verify_interval_modification): Don't run
4385 modification-hooks if inhibit_modification_hooks.
4386
4387 * dispnew.c (set_window_cursor_after_update): Fix code
4388 finding glyph row containing cursor when cursor_in_echo_area
4389 is >= 0.
4390
9a72e4c1
GM
4391 * xdisp.c (init_from_display_pos): Put some code in #if 0.
4392 (add_to_log): Use bcopy instead of strcpy.
4393 (init_from_display_pos): Use an explicit loop over bytes in
4394 overlay strings instead of calling index.
4395
f4a374a1
GM
43962001-09-10 Gerd Moellmann <gerd@gnu.org>
4397
300e57bd
GM
4398 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
4399
4400 * dispnew.c (direct_output_for_insert): Don't change IT's
4401 stop_charpos to something in front of its current position.
4402
f4a374a1
GM
4403 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
4404 `format'.
4405
7e4cbc91
RS
44062001-09-10 Richard M. Stallman <rms@gnu.org>
4407
4408 * frame.c (Fmouse_position): Doc fix.
4409
6afad91e
GM
44102001-09-07 Gerd Moellmann <gerd@gnu.org>
4411
4412 * xdisp.c (init_from_display_pos): Don't compare the result
4413 of calling index with NULL.
4414
f76e0368
GM
44152001-09-06 Gerd Moellmann <gerd@gnu.org>
4416
4417 * xfns.c (x_set_background_color): Don't change the colors
4418 of the X window of scroll bar widgets.
4419
9ead1b60
AI
44202001-09-05 Andrew Innes <andrewi@gnu.org>
4421
4422 * w32fns.c (w32_createwindow): Undo last change.
4423
c3b497b3
GM
44242001-09-05 Gerd Moellmann <gerd@gnu.org>
4425
08e1d6df
GM
4426 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
4427
c3b497b3
GM
4428 * xdisp.c (string_buffer_position): Use *single_char_property*
4429 functions instead of the *single_property* functions.
b56ba8de 4430
8f860180
AI
44312001-09-04 Andrew Innes <andrewi@gnu.org>
4432
9a72e4c1
GM
4433 * w32term.c (w32_read_socket): Add more information to debugging
4434 output.
8f860180
AI
4435
4436 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
4437 from Emacs frames, so that calls to GetClipBox in w32term.c
4438 correctly report when part of a frame is visible (including
4439 scrollbars, etc). This prevents repeated redrawing of frames when
4440 only a scrollbar is visible.
4441 (w32_wnd_proc): Add more frame information to debugging output.
4442
2ee1aa00
SM
44432001-09-03 Stefan Monnier <monnier@cs.yale.edu>
4444
4445 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
4446
e3b22517
GM
44472001-09-03 Gerd Moellmann <gerd@gnu.org>
4448
7e376260
GM
4449 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
4450 help-echo for a string which doesn't have help-echo itself, use
4451 get-char-property to obtain the help-echo from the string's buffer
4452 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
4453 have mouse-face, look ``under'' the string for mouse-face from an
4454 overlay.
4455 (fast_find_position): Add parameter STOP. In the final row, stop
4456 before glyphs having STOP as object. Don't consider glyphs that
4457 are not from a buffer.
4458
e3b22517
GM
4459 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
4460
9a249bba
EZ
44612001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
4462
4463 * fns.c (Fmd5): Doc fix.
4464
c9979669
GM
44652001-08-31 Gerd Moellmann <gerd@gnu.org>
4466
4467 * composite.c (update_compositions): Do nothing if
4468 inhibit-modification-hooks is set.
4469
9584e63a
GM
44702001-08-30 Gerd Moellmann <gerd@gnu.org>
4471
986ec8f2 4472 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 4473 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
4474 glyph matrices etc. in a core dump.
4475
92a25631
GM
4476 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
4477 (syms_of_xdisp): Initialize them.
4478 (handle_single_display_prop): Don't change point, bind `object',
4479 `position', and `buffer-position' instead to the object having the
2ee1aa00 4480 `display' property, position in the object and position in the buffer.
92a25631 4481
9584e63a
GM
4482 * fileio.c (Finsert_file_contents): Don't change the multibyteness
4483 of the buffer if REPLACE is non-nil.
4484
d38633a3
GM
44852001-08-29 Gerd Moellmann <gerd@gnu.org>
4486
4487 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
4488
f4fccc1e
EZ
44892001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
4490
4491 * w32term.c (x_set_glyph_string_background_width)
4492 (show_mouse_face): Track the last changes in xterm.c.
4493
eaaa65b0
GM
44942001-08-28 Gerd Moellmann <gerd@gnu.org>
4495
7b0870b2
GM
4496 * xterm.c (x_set_glyph_string_background_width): Set the glyph
4497 string's background width so that multi-line mouse-face is drawn
4498 to the right edge of the window.
4499 (show_mouse_face): Set the row's mouse_face_p flag after drawing
4500 glyphs.
4501
6b6e2422 4502 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 4503 before inserting/writing glyphs.
6b6e2422 4504
eaaa65b0
GM
4505 * xdisp.c (display_mode_element): Use string_byte_to_char to
4506 determine character positions in strings, use chars_in_text
4507 instead of strwidth.
4508 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
4509 a matrix as parameter; this is easier to use from GDB.
4510
9ad62cf8
MB
45112001-08-28 Miles Bader <miles@gnu.org>
4512
2ee1aa00
SM
4513 * textprop.c (Fprevious_single_char_property_change)
4514 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 4515
32171635
GM
45162001-08-27 Gerd Moellmann <gerd@gnu.org>
4517
47d57b22
GM
4518 * fileio.c (Finsert_file_contents): Allocate, restore, and
4519 free composition data in the case of REPLACE not being nil.
4520
4521 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
4522 there exist overlay strings with newlines at POS.
4523 (text_outside_line_unchanged_p): Return 0 if changes start at
4524 START and overlays exist at START. Likewise for END.
4525 (try_window_id): Give up if init_to_row_end returns 0.
4526
32171635
GM
4527 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
4528 unconditionally.
4529
e1249666
GM
45302001-08-24 Gerd Moellmann <gerd@gnu.org>
4531
33954c45
GM
4532 * keymap.c (access_keymap): Return the cdr of the binding of
4533 a generic character instead of its definition (KEY . BINDING).
4534
e1249666
GM
4535 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
4536 to 0 also in the REPLACE case.
4537
fb4c6c96
AC
45382001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
4539
4540 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
4541 open to determine whether file is readable (as for DOS_NT).
4542
59ecf80b
GM
45432001-08-23 Gerd Moellmann <gerd@gnu.org>
4544
4545 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
4546 coding.type is coding_type_no_conversion or coding_type_raw_text,
4547 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
4548 non-nil instead of just setting enable_multibyte_characters in the
4549 buffer to nil.
4550
40e33037
GM
45512001-08-22 Gerd Moellmann <gerd@gnu.org>
4552
374388c3
GM
4553 * dispextern.h (struct face_cache): Add member
4554 menu_face_changed_p.
4555
4556 * xfaces.c (menu_face_changed_default): New variable.
4557 (menu_face_changed_count): Variable removed.
4558 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
4559 the menu_face_changed_default flag, otherwise set the FRAME's
4560 menu_face_changed_p flag if the `menu' face has been changed.
4561 Prevent calling set_font_frame_param if FRAME is t.
4562 (make_face_cache): Initialize cache's menu_face_changed_p
4563 from menu_face_changed_default.
4564 (realize_basic_faces): Look into the frame's face cache to
4565 determine if the menu appearance needs updating.
4566
40e33037
GM
4567 * keymap.c (access_keymap): Fix last change to not consider
4568 IDX when it has modifiers.
4569
859ea4b8
GM
45702001-08-21 Gerd Moellmann <gerd@gnu.org>
4571
4572 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
4573 . BINDING) exists, where GENERIC-CHAR is the generic character of
4574 the charset of IDX, return BINDING unless there exists a binding
4575 for IDX itself.
4576
e8660d73
GM
45772001-08-16 Gerd Moellmann <gerd@gnu.org>
4578
cca1b1d7
GM
4579 * xrdb.c (SYSV): Don't define on Solaris 2.
4580 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4581
e8660d73 4582 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 4583 of the screen line, not text line, containing IT's current position.
e8660d73 4584
93aba6fc
GM
45852001-08-15 Gerd Moellmann <gerd@gnu.org>
4586
288d4e06
GM
4587 * window.c (window_scroll_pixel_based): Don't recenter if
4588 PT is partially visible in the window.
4589
3452efc2
SM
4590 * xterm.c (expose_window_tree, expose_window, expose_line):
4591 Return 1 when overwriting mouse-face.
82f053ab
GM
4592 (expose_frame): If mouse-face was overwritten, redo it.
4593
93aba6fc
GM
4594 * xfaces.c (x_update_menu_appearance): Don't call
4595 set_frame_menubar, let the next redisplay do it.
4596
858a55c1
AI
45972001-08-14 Andrew Innes <andrewi@gnu.org>
4598
4599 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
4600 drawing glyph string.
4601
3a990b67
EZ
46022001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
4603
4604 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
4605 running HI-UX/MPP.
4606
04386463
GM
46072001-08-14 Gerd Moellmann <gerd@gnu.org>
4608
4609 * xfaces.c (x_update_menu_appearance): Save and restore value of
4610 interrupt_input_blocked.
4611
3e6385a4
GM
46122001-08-13 Gerd Moellmann <gerd@gnu.org>
4613
b0e619b4
GM
4614 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
4615 a line start, move back to the line start.
3452efc2 4616
0de73d5a
GM
4617 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
4618 exactly when a mini-buffer is active.
4619
3e6385a4
GM
4620 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
4621 in units of 1/8 character on non window-system frames.
4622 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
4623
d1b5f629
EZ
46242001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4625
4626 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
4627 a doc string.
4628
eaa2319f
GM
46292001-08-09 Gerd Moellmann <gerd@gnu.org>
4630
8e3189f0
GM
4631 * keyboard.c (Vpre_help_message): New variable.
4632 (syms_of_keyboard): Initialize and staticpro it.
4633 (show_help_echo): Record current message before displaying a
4634 help-echo, and restore that message when clearing the help.
4635
eaa2319f
GM
4636 * xfns.c (x_create_im): Remove prototype.
4637
4638 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
4639
4640 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 4641
eaa2319f
GM
46422001-08-08 Gerd Moellmann <gerd@gnu.org>
4643
4644 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 4645 windows whose height has changed, disable partially visible lines.
eaa2319f 4646
17fdcfc8
GM
46472001-08-07 Gerd Moellmann <gerd@gnu.org>
4648
22d01aed 4649 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 4650 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 4651
17fdcfc8
GM
4652 * xdisp.c (start_display): Don't try to determine the continuation
4653 lines width if lines are truncated. It's superfluous and leads to
4654 incorrect results if POS is not visible in the window after
4655 reseating the iterator at the previous line start.
4656
8e3fe78e
GM
46572001-08-06 Gerd Moellmann <gerd@gnu.org>
4658
4659 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
4660
e4ac8240 46612001-08-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
98a8938c
GM
4662
4663 * alloc.c (init_stack): Remove declaration.
4664
18f9986a
GM
46652001-08-03 Gerd Moellmann <gerd@gnu.org>
4666
5e1f85e0
GM
4667 * keyboard.c (read_key_sequence): Check that key is an integer
4668 before comparing it with quit_char.
4669 (add_command_key): Use larger_vector.
4670 (read_char_x_menu_prompt): Instead of converting symbol and
4671 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 4672 which cannot be confused with valid events.
5e1f85e0
GM
4673 (read_char): When reading from Vunread_command_events, check for
4674 events of the form (EVENT . disabled) instead of
4675 (EVENT . nil).
4676
18f9986a
GM
4677 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
4678 a float, determine the max height from the frame's height.
4679
fbc7f2a6
GM
46802001-08-02 Gerd Moellmann <gerd@gnu.org>
4681
4682 * xdisp.c (redisplay_internal): Take message_cleared_p into
4683 account only if minibuf_level == 0.
4684
81b1a79d
GM
46852001-08-01 Gerd Moellmann <gerd@gnu.org>
4686
e5c60873
GM
4687 * xdisp.c (redisplay_internal): Add a check for the last
4688 displayed message.
3452efc2 4689
6e019995
GM
4690 * xdisp.c (message_cleared_p): New variable.
4691 (clear_message): Set message_cleared_p when clearing the current
4692 message.
4693 (redisplay_internal): Look at message_cleared_p to capture
4694 the case that the echo area should be cleared.
4695
308a74d8
GM
4696 * keyboard.c (command_loop_1): Fix spelling of
4697 resize_echo_area_exactly.
4698
3452efc2 4699 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
4700
4701 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
4702
81b1a79d
GM
4703 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
4704 current matrix when the window gets smaller.
4705
ada329e6
EZ
47062001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
4707
4708 * print.c (strout): Cast the character passed to insert_char to
4709 unsigned char, to avoid sign extension when it is promoted to int.
4710
ed86208c
GM
47112001-07-31 Gerd Moellmann <gerd@gnu.org>
4712
4713 * fileio.c (Finsert_file_contents): Don't treat a return value
4714 of 0 from emacs_read as an IO error.
4715
6594ac22
GM
47162001-07-30 Gerd Moellmann <gerd@gnu.org>
4717
cef68af5
GM
4718 * keyboard.c (abs): New macro.
4719 (double_click_fuzz): New variable.
4720 (make_lispy_event): Use it to determine what makes a double-click.
4721 (syms_of_keyboard): DEFVAR_INT it.
4722
6594ac22
GM
4723 * xmenu.c (set_frame_menubar): Take into account that
4724 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4725 <raeburn@gnu.org>.
4726
75c5350a
GM
47272001-07-27 Gerd Moellmann <gerd@gnu.org>
4728
4729 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
4730
4731 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
4732 of row's visible height.
4733
4734 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
4735 deal with the first overlay string having an image `display' property.
4736 (try_window_reusing_current_matrix, compute_line_metrics):
4737 Fix computation of row's visible height for the case that part of the
75c5350a
GM
4738 row is invisible above and part of the row is at the same time
4739 invisible below the window.
4740
ac49effe
GM
47412001-07-26 Gerd Moellmann <gerd@gnu.org>
4742
4743 * xfns.c (x-show-tip): Doc fix.
3452efc2 4744
ac49effe
GM
4745 * xfns.c (Vx_max_tooltip_size): New variable.
4746 (syms_of_xfns): DEFVAR_LISP it.
4747 (Fx_show_tip): Set frame's window_width to the width of the
4748 window. Use a maximum tooltip size specified by
4749 Vx_max_tooltip_size, if that has valid contents.
4750 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 4751
8c3b00cb
AI
47522001-07-26 Andrew Innes <andrewi@gnu.org>
4753
4754 * w32term.c (x_display_list): New variable.
4755 (w32_term_init): Set it.
4756
4757 * w32term.h (x_display_list): New extern.
4758
16098288
GM
47592001-07-26 Gerd Moellmann <gerd@gnu.org>
4760
4761 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
4762 is non-nil, instead of when redisplaying_p is non-zero.
4763 See comment there.
16098288
GM
4764 (mark_window_display_accurate_1): Add an assertion.
4765
64c5be50
GM
47662001-07-25 Gerd Moellmann <gerd@gnu.org>
4767
e743f599
GM
4768 * dispextern.h (struct it): Increase size of ctl_chars to 16.
4769
563b384d
GM
4770 * xfns.c (Fx_file_dialog): Block/unblock input while processing
4771 events so that we get a chance of processing expose events.
4772
64c5be50
GM
4773 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
4774
296808a5
GM
47752001-07-24 Gerd Moellmann <gerd@gnu.org>
4776
4777 * xfns.c (valid_image_p): Protect better against invalid image
4778 specifications. Previous code could signal an error.
4779
5247262a
GM
47802001-07-23 Gerd Moellmann <gerd@gnu.org>
4781
3452efc2 4782 * indent.c (current_column): Fix column computation in the
f1004faf
GM
4783 presence of display table entries.
4784 (current_column_1, Fmove_to_column, compute_motion): Likewise.
4785
dd42b31a
GM
4786 * dispnew.c (adjust_glyph_matrix): In the optimization for
4787 windows whose height has changed, use the new window height
4788 to compute which rows to invalidate.
4789
9e5a7f2a
GM
4790 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4791 (MAX_10_EXP): New macro.
4792 (Fformat): Use it.
4793
5247262a
GM
4794 * coding.c (code_convert_region): Handle the multibyte case if
4795 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
4796
177ab8ce
GM
47972001-07-20 Gerd Moellmann <gerd@gnu.org>
4798
6e07c0a5
GM
4799 * dispextern.h (struct face): Change type of `stipple' to
4800 int; it's an ID.
4801
177ab8ce
GM
4802 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
4803
b5b80599
GM
48042001-07-19 Gerd Moellmann <gerd@gnu.org>
4805
4e2a256b
GM
4806 * dispnew.c (update_window): Don't set the cursor at the end
4807 of the update if display update has been paused.
4808
3452efc2 4809 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 4810
c1fd9232
KR
48112001-07-18 Ken Raeburn <raeburn@gnu.org>
4812
4813 * fns.c (Fset_char_table_default): Check that a charset is defined
4814 before checking its dimension.
4815
928a85c1
KR
48162001-07-17 Ken Raeburn <raeburn@gnu.org>
4817
4818 * coding.c (setup_coding_system): Don't do any designation based
4819 on reg_bits if charset is not yet defined.
4820
fb4c6c96 4821 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
4822 pointer, using eassert.
4823
de11c1ea
GM
48242001-07-17 Gerd Moellmann <gerd@gnu.org>
4825
3452efc2
SM
4826 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
4827 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 4828
467f1209
GM
48292001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
4830
4831 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
4832
c3d6be34
GM
48332001-07-16 Gerd Moellmann <gerd@gnu.org>
4834
c1d61a7d
GM
4835 * fileio.c (unwind_read): Function removed.
4836 (read_non_regular, read_non_regular_quit): New functions.
4837 (Finsert_file_contents): When reading from non-regular files,
4838 arrange to catch a `quit' and terminate the loop. Rearrange
4839 code so that a `quit' when reading from a regular file doesn't
4840 insert text in the buffer.
4841
c3d6be34
GM
4842 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
4843 Clear faces afterwards.
4844 (clear_font_table): Take a x_display_info parameter. Don't free
4845 fonts being the default font of any frame on the given display.
4846
e06aa1f9
GM
48472001-07-13 Gerd Moellmann <gerd@gnu.org>
4848
4849 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
4850 instead of CHAR_STRING which can signal an error.
4851
4852 * charset.c (char_to_string_1): Extracted from char_to_string.
4853 Return -1 instead of signaling an error.
4854 (char_to_string): Use it.
4855
4856 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
4857
176c92e6
SM
48582001-07-12 Stefan Monnier <monnier@cs.yale.edu>
4859
4860 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
4861 is t, don't try to append anything to it.
4862
1c56232f
EZ
48632001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
4864
4865 * dired.c (file_name_completion): Pass dp->d_name to
4866 Fstring_match, not elt, which is always nil here.
4867
1d2b2268
GM
48682001-07-12 Gerd Moellmann <gerd@gnu.org>
4869
4870 * xselect.c (x_decline_selection_request): Handle errors
4871 caused by receivers that have vanished.
4872
4873 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
4874 ignoring events on foreign windows in #if 0. Always dispatch
4875 the event after checking it with x_handle_property_notify.
4876
4877 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
4878 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
4879 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
4880 (toplevel): Add prototypes for file-local functions.
4881 (x_atom_to_symbol): Remove DPYINFO parameter.
4882
fe5a0162
SM
48832001-07-11 Stefan Monnier <monnier@cs.yale.edu>
4884
4885 * w32menu.c (menubar_selection_callback, w32_menu_show):
4886 Initialize `entry' to nil.
4887 (w32_dialog_show): Remove unused `save_wv' variable.
4888 (name_is_separator): Recognize "--:foo" and "--foo-bar".
4889
a777242c
GM
48902001-07-11 Gerd Moellmann <gerd@gnu.org>
4891
8ee5b6a3
GM
4892 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
4893
d0e2444e
GM
4894 * fileio.c (unwind_read): Print a message when discarding inserted
4895 text or switching the buffer to unibyte. Change parameter.
4896 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 4897
a777242c
GM
4898 * fileio.c (unwind_read): New function.
4899 (Finsert_file_contents): Record it as unwind-function for
4900 the case that reading is interrupted by C-g.
4901
ae794295
GM
49022001-07-10 Gerd Moellmann <gerd@gnu.org>
4903
fe5a0162 4904 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
4905 update when scrolling_window returns 0.
4906
6b05fae3
GM
4907 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
4908
4909 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 4910 for the case that x_decode_color signals an error.
6b05fae3 4911
ae794295
GM
4912 * xdisp.c (add_to_log): Do nothing if called asynchronously.
4913
bb6e8cee
GM
49142001-07-09 Gerd Moellmann <gerd@gnu.org>
4915
4916 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
4917 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
4918 around ioctls.
4919
36b40a8a
EZ
49202001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
4921
24b97d4b
EZ
4922 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
4923 doc string line for dos-timezone-offset.
4924
36b40a8a
EZ
4925 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
4926 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
4927 (syms_of_msdos): Add \n\ at the end of a line in the doc string
4928 line for dos-unsupported-char-glyph.
36b40a8a
EZ
4929
4930 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
4931
0967b4b0
GM
49322001-07-05 Gerd Moellmann <gerd@gnu.org>
4933
f25cfe53
GM
4934 * sound.c: Include Emacs' header files with #include "...".
4935
0967b4b0
GM
4936 * eval.c (specbind): Additionally record the buffer that was
4937 current when a buffer-local or frame-local variable was bound.
4938
c347a1c3
GM
49392001-07-04 Gerd Moellmann <gerd@gnu.org>
4940
4941 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
4942 to unibyte characters in unibyte buffers.
4943
6332ca8a
GM
49442001-07-03 Gerd Moellmann <gerd@gnu.org>
4945
38472d44
GM
4946 * eval.c (specbind): If SYMBOL has a frame-local binding, record
4947 the frame on the binding stack. Change format of entries for
4948 local bindings on the binding stack to '(SYMBOL . WHERE)'.
4949 (unbind_to): Handle unbinding a frame-local variable.
4950
6332ca8a 4951 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 4952 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
4953 (dump_glyph_row): Print row's continuation_lines_width.
4954 (try_window_id): Take the shortcut if ZV is visible in the
4955 window, but there are actually no changes at ZV.
4956
63d1b174
GM
49572001-07-02 Gerd Moellmann <gerd@gnu.org>
4958
4c175203
GM
4959 * xterm.h (x_free_dpy_colors): Add prototype.
4960
4961 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
4962 right number of arguments.
4963
0b54ce28
GM
4964 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
4965 ($(lwlibdir)TAGS): New target.
4c175203 4966 (TAGS): Fix dependency list.
0b54ce28 4967
63d1b174
GM
4968 * xterm.c (x_list_fonts): Make sure XFreeFont is called
4969 with input blocked.
4970
d827466c
GM
49712001-06-30 Gerd Moellmann <gerd@gnu.org>
4972
4973 * emacs.c (main): Remove extern declaration for sys_nerr, which
4974 isn't used and causes a compilation error with GCC 3.0 on
4975 FreeBSD 4.3.
4976
b5cb1ada
GM
49772001-06-27 Gerd Moellmann <gerd@gnu.org>
4978
a5d3ec3f 4979 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 4980 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
4981 (toplevel): Include <signal.h> and syssignal.h.
4982
b5cb1ada
GM
4983 * sound.c (vox_configure, vox_close): Turn off atimers
4984 around ioctls.
4985
d9bad487
GM
49862001-06-26 Gerd Moellmann <gerd@gnu.org>
4987
fdbb67fe
GM
4988 * keyboard.c (read_char) <non_reread>: Record the previous idle
4989 start time before calling timer_stop_idle.
4990 (read_char) <reread_first>: After processing a help-echo event,
4991 restore the previous idle start time.
4992
d9bad487
GM
4993 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
4994 the start of invisible text.
4995 (setup_for_ellipsis): New function.
4996 (next_overlay_string): After all overlay strings have been
4997 processed, display an ellipsis if necessary.
4998 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
4999 (push_it): Initialize display_ellipsis_p on the iterator's stack.
5000
5001 * dispextern.h (struct iterator_stack_entry): Add member
5002 display_ellipsis_p.
5003
2b9c25e0
GM
50042001-06-25 Gerd Moellmann <gerd@gnu.org>
5005
80de57df
GM
5006 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
5007 on the value of the wait-for-wm frame parameter.
5008
5009 * xterm.h (struct x_output): Add member wait_for_wm.
5010
5011 * xfns.c (Qwait_for_wm): New variable.
5012 (x_frame_parms): Add entry for `wait-for-wm".
5013 (x_set_wait_for_wm): New function.
5014 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
5015 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
5016
2b9c25e0
GM
5017 * xdisp.c (try_window_id) <all changes below window end>: Don't
5018 take this shortcut if ZV is visible in the window.
5019 (try_window_id): When checking for window start being in changed
5020 text, don't check that the buffer's size has changed.
5021
f772775c
RS
50222001-06-23 Richard M. Stallman <rms@gnu.org>
5023
5024 * minibuf.c (Fcompleting_read): Doc fix.
5025
fa9090b8
GM
50262001-06-19 Gerd Moellmann <gerd@gnu.org>
5027
5028 * composite.c (Ffind_composition_internal): Accept ZV
5029 and a string's end position as POS.
5030
f6f1beba
GM
50312001-06-18 Gerd Moellmann <gerd@gnu.org>
5032
5033 * composite.c (Ffind_composition_internal): Check POS
5034 for validity.
5035
0ae83348
EZ
50362001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
5037
5038 * editfns.c (Fmessage_box): If the frame is not under a window
5039 system, output the message in the echo area.
5040
e4cdc335
RS
50412001-06-14 Richard M. Stallman <rms@gnu.org>
5042
5043 * xdisp.c (try_window_id): When EOB is visible, don't treat
5044 insertion at EOB as if it were "off the bottom of the screen."
5045
a55a5f3c
AI
50462001-06-11 Andrew Innes <andrewi@gnu.org>
5047
5048 * w32proc.c (create_child): Add new parameter is_gui_app.
5049 (w32_executable_type): Add new parameter is_gui_app.
5050 (sys_spawnve): Use it.
5051 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
5052 SIGQUIT. This matches better how the signals are interpreted by
5053 MSVC compiled programs.
5054 (syms_of_ntproc): Update docstring.
5055
1b85dc1c
SM
50562001-06-02 Stefan Monnier <monnier@cs.yale.edu>
5057
5058 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
5059 well otherwise note_mouse_highlight might optimize away highlighting
5060 if we pass over that same overlay again.
5061
b75f8eab
EZ
50622001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
5063
5064 * lread.c (Fload): Document that the argument is run via
5065 substitute-in-file-name.
5066
94843cc1
GM
50672001-05-31 Gerd Moellmann <gerd@gnu.org>
5068
b14659e6
GM
5069 * Makefile.in (bootstrap-doc): New target.
5070 (bootstrap-emacs): Depend on it.
5071
0894672f
GM
5072 * fileio.c (Fdo_auto_save): Don't try to create the directory of
5073 auto-save-list-file-name when shutting down Emacs, because
5074 creating the directory might signal an error, and leaves
5075 Emacs in a strange state.
5076
94843cc1
GM
5077 * term.c: (tty_cursor_hidden): New variable.
5078 (update_begin): Don't call tty_hide_cursor. Clean up.
5079 (update_end, set_terminal_window, set_scroll_region): Clean up.
5080 (ring_bell, reset_terminal_modes): Clean up.
5081 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
5082 on tty_cursor_hidden.
5083 (write_glyphs): Call tty_hide_cursor.
5084
db3a49a6
SM
50852001-05-30 Stefan Monnier <monnier@cs.yale.edu>
5086
5087 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
5088
8bd189fb
GM
50892001-05-30 Gerd Moellmann <gerd@gnu.org>
5090
6f1be3b9
GM
5091 * xfns.c (enum image_value_type): New enumerator
5092 IMAGE_STRING_OR_NIL_VALUE.
5093 (parse_image_spec): Handle it.
5094 (xbm_format, pbm_format): Use it for :foreground and :background.
5095 (xbm_load, pbm_load): Check for nil color names.
5096
8bd189fb
GM
5097 * xterm.c (note_mouse_highlight): If an overlapping overlay
5098 exists, but we find that we highlight the same overlay as before,
5099 don't do the highlighting again.
5100
7bdba03c
GM
51012001-05-29 Gerd Moellmann <gerd@gnu.org>
5102
4c329aa8
GM
5103 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
5104 Protect unibyte strings created by replacing their multibyte
5105 equivalents in menu_items.
5106
e15e2828
GM
5107 * keymap.c (Fsingle_key_description): NUL-terminate the string
5108 buffer before calling build_string.
5109
7bdba03c
GM
5110 * callproc.c (Fcall_process): Deal with decode_coding returning
5111 CODING_FINISH_INCONSISTENT_EOL.
5112
89c8dc6c
GM
51132001-05-28 Gerd Moellmann <gerd@gnu.org>
5114
db3a49a6 5115 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
5116 an item's name with its key description in case the description
5117 is a multibyte string.
5118
5119 * keymap.c (Fsingle_key_description): Create a multibyte string
5120 only if necessary.
5121
eb04d6cd
GM
5122 * macros.c (Fstart_kbd_macro): Doc fix.
5123
8bd6307f
GM
5124 * xterm.c (cursor_in_mouse_face_p): New function.
5125 (x_draw_stretch_glyph_string): Use it to choose a different GC
5126 when drawing a cursor within highlighted text.
5127
e26c4089
GM
5128 * editfns.c (char_property_eq): Put in #if 0.
5129
5130 * indent.c (string_display_width): Put in #if 0.
5131
5132 * lread.c (Fload): Remove unused label.
5133
89c8dc6c
GM
5134 * termcap.c (speeds): Put in #if 0.
5135
9a1211f2
GM
51362001-05-18 Gerd Moellmann <gerd@gnu.org>
5137
29148a3f
GM
5138 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
5139
9a1211f2
GM
5140 * xfaces.c (xlfd_point_size): Don't divide pixel size from
5141 transformation matrix by 10.
5142
09393d07
GM
51432001-05-16 Gerd Moellmann <gerd@gnu.org>
5144
5145 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
5146 only if it's equal to the former foreground pixel color.
db3a49a6 5147 (x_set_foreground_color, x_set_background_color)
09393d07
GM
5148 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
5149
460e6bae
GM
51502001-05-16 Dave Love <fx@gnu.org>
5151
5152 * insdel.c (signal_before_change, signal_after_change): Consider a
5153 local change hook which changes the buffer.
99c78ce8
GM
5154
5155 * process.c (read_process_output): Don't call signal_after_change
5156 and update_compositions after insert_from_string_before_markers.
5157
dbcf3c03
GM
51582001-05-16 Gerd Moellmann <gerd@gnu.org>
5159
a90b3d3c
GM
5160 * xfaces.c (split_font_name): Use the right field when
5161 checking for `[...]' syntax.
5162
1b7818b4
GM
5163 * buffer.c (copy_overlays): New function.
5164 (clone_per_buffer_values): Use it.
5165
5166 * buffer.h (OVERLAY_PLIST): New macro.
5167
9bae8781
GM
5168 * keymap.c (Fsingle_key_description): Replace a build_string with
5169 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
5170
dbcf3c03
GM
5171 * fontset.c (Ffontset_info): Check that face is non-null
5172 before accessing its fields.
5173
8a1ae4dd
GM
51742001-05-15 Gerd Moellmann <gerd@gnu.org>
5175
18a0a39e
GM
5176 * keyboard.c (read_key_sequence): Prevent generating a fake
5177 prefix key twice.
5178
e335b66a
GM
5179 * xfaces.c (split_font_name): Handle `[...]' for the right
5180 font name fields.
5181
8a1ae4dd
GM
5182 * ccl.c (ccl_driver): Don't copy remaining bytes in case
5183 of CCL_STAT_INVALID_CMD.
5184
3cf80731
SM
51852001-05-14 Stefan Monnier <monnier@cs.yale.edu>
5186
33568849
SM
5187 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
5188 in <var> has no default value yet.
5189
3cf80731
SM
5190 * xfaces.c (try_alternative_families): First try the FAMILY.
5191 And if nothing is found in the end, try again with scalable fonts.
5192 (try_font_list): Let try_alternative_families do a bit more of
5193 the work. Only use FAMILY if it is not nil.
5194 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
5195
933b0249
GM
51962001-05-14 Gerd Moellmann <gerd@gnu.org>
5197
58e5af83
GM
5198 * xterm.c (note_mouse_highlight): Avoid changing the mouse
5199 pointer shape when show_mouse_face has already done it.
33568849 5200
58e5af83 5201 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
5202 full-width rows.
5203
7b16a6bf
GM
5204 * xfaces.c (split_font_name): Make sure to leave the loop
5205 with the right value of `i'.
3cf80731 5206
933b0249
GM
5207 * xfaces.c (split_font_name): Handle matrix transformations
5208 in the pixel and point size fields of XLFD font names.
5209 (xlfd_point_size): Likewise.
5210
dddcbf00
EZ
52112001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
5212
3cf80731 5213 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
5214 (x_to_w32_font): Add prototype.
5215
7689ef0b
EZ
5216 * regex.c (malloc, realloc, free) [emacs]: Undefine before
5217 redefining, to avoid compiler warnings.
5218
e7c15bba
EZ
5219 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
5220
dddcbf00
EZ
5221 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
5222 (w32_get_bdf_glyph): Cast between unsigned char and char when
5223 passing arguments to subroutines, to shut up compiler warnings.
5224 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
5225 GET_HEX_VAL.
5226
5227 * xfaces.c: Include keyboard.h before frame.h, not after it.
5228
5229 * widget.c: Include keyboard.h before frame.h.
5230
5231 * w32term.h (struct image, struct face): Forward declaration, to
5232 avoid compiler warnings.
5233
7bd2d083
GM
52342001-05-11 Gerd Moellmann <gerd@gnu.org>
5235
47e72862
GM
5236 * keyboard.c (read_key_sequence): Don't modify events when
5237 generating fake prefix keys (mode-line, scroll-bar, ...) since
5238 this prevents proper processing of such events when pushed back
5239 into unread-command-events.
5240
dd5f324b
GM
5241 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
5242 actually redrawn. Make the function static.
5243 (note_mouse_highlight): Fix a case where the mouse cursor
5244 was changed back to the text cursor.
5245
5246 * xterm.h (clear_mouse_face): Remove prototype.
5247
d88a79d4
GM
5248 * xdisp.c (try_window_id): Fix the fix and set the right
5249 window_end_vpos.
5250
5251 * xdisp.c (try_window_id): Fix computation of window end in the
5252 case that lines were deleted at the end of the window. Add some
5253 more debug_method_adds.
0416532f 5254
7bd2d083
GM
5255 * xfaces.c (try_alternative_families): New function.
5256 (try_font_list): Use it. If ATTRS specifies a family, check
5257 fonts from that family first.
5258 (choose_face_font): Remove code setting the family part of
5259 the pattern to nil.
5260
23fca891
GM
52612001-05-10 Gerd Moellmann <gerd@gnu.org>
5262
ff9aa2ca
GM
5263 * xdisp.c (try_window_id): Fix case of all changes before
5264 the window start.
7b2654b5 5265
23fca891
GM
5266 * xdisp.c (try_window_id): Add some xasserts.
5267
e9726794
GM
52682001-05-09 Gerd Moellmann <gerd@gnu.org>
5269
5270 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
5271
9e53a675
GM
52722001-05-09 Dave Love <fx@gnu.org>
5273
5274 * xdisp.c (GIVE_UP): Fix for K&R C.
5275
0d487c52
GM
52762001-05-09 Gerd Moellmann <gerd@gnu.org>
5277
fe88d421
GM
5278 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
5279
0d487c52
GM
5280 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
5281 back to the text cursor shape without need.
5282
1e9fc92e
GM
52832001-05-07 Gerd Moellmann <gerd@gnu.org>
5284
a2a6232e
GM
5285 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
5286
5287 * dispextern.h (inverse_video): Declare extern.
5288
1e9fc92e
GM
5289 * keyboard.c (delete_kboard): Handle the case that selected_frame
5290 has been deleted in the course of x_connection_closed.
5291
12949a7f
EZ
52922001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
5293
7b2654b5
SM
5294 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
5295 Fix the change from 2001-04-30.
12949a7f 5296
2fa2f461
GM
52972001-05-03 Gerd Moellmann <gerd@gnu.org>
5298
a779d213
GM
5299 * xfns.c (file_dialog_unmap_cb): New function.
5300 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
5301 where a dialog is closed via the window manager.
5302
7b2654b5 5303 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
5304 the window start or all below the window end mostly rewritten.
5305 (redisplay_window): Move the tests if try_window_id is
5306 applicable to try_window_id.
5307 (GIVE_UP): New macro.
5308
3356df63
GM
53092001-05-02 Gerd Moellmann <gerd@gnu.org>
5310
a39202f6 5311 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
5312 currently being updated, mark the frame garbaged.
5313 Fix computation of rows intersecting the exposed rectangle.
a39202f6 5314 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 5315
3356df63
GM
5316 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
5317 again if it has already been drawn.
5318
a9d2fd1d
SM
53192001-05-01 Stefan Monnier <monnier@cs.yale.edu>
5320
5321 * syntax.c (update_syntax_table): Check that oldi has the same
5322 properties as old_prop before deciding not to invalidate.
5323
c95fc5f1
GM
53242001-04-30 Gerd Moellmann <gerd@gnu.org>
5325
a9793e45
GM
5326 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
5327 read-only text that is so because of text properties.
5328
c95fc5f1 5329 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 5330 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
5331 windows that are components of a Lucid menu bar.
5332
5a5d9185
GM
53332001-04-27 Gerd Moellmann <gerd@gnu.org>
5334
5335 * term.c (turn_on_face): Fix reverse video handling on terminals
5336 that don't support colors.
5337
ba973f7a
GM
53382001-04-26 Gerd Moellmann <gerd@gnu.org>
5339
5340 * editfns.c (save_excursion_restore): Don't use XBUFFER on
5341 a non-buffer.
5342
8c56a983
GM
53432001-04-25 Gerd Moellmann <gerd@gnu.org>
5344
a728644c
GM
5345 * term.c (toggle_highlight): New function.
5346 (turn_on_face): Change handling of reverse video.
5347
7b2654b5
SM
5348 * process.c (wait_reading_process_input):
5349 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 5350
bfd8410f
GM
5351 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
5352 of the number of overlays to check.
5353
be2488ca
GM
5354 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
5355
8c56a983
GM
5356 * xdisp.c (try_window_id): Fix a case where window_end_pos
5357 and window_end_bytepos were not adjusted.
5358
522d42f7
GM
53592001-04-23 Gerd Moellmann <gerd@gnu.org>
5360
5361 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
5362 zero instead of -1.
5363
78c1afb6
EZ
53642001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
5365
a9d2fd1d
SM
5366 * process.c (wait_reading_process_input) [!subprocesses]:
5367 Don't reference waiting_for_user_input_p, it's not defined in the
5368 branch without async subprocesses support.
78c1afb6 5369
a2fab450
GM
53702001-04-19 Gerd Moellmann <gerd@gnu.org>
5371
a122a38e
GM
5372 * keyboard.c (delete_kboard): Prevent a dangling reference
5373 from current_kboard to KB, which is freed.
5374
a9d2fd1d
SM
5375 * process.c (wait_reading_process_input):
5376 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
5377 read_key_sequence aware of buffer changes from under it.
5378
0f8d6dc7
GM
53792001-04-18 Gerd Moellmann <gerd@gnu.org>
5380
eeffb293
GM
5381 * xfaces.c (Qscalable_fonts_allowed): New variable.
5382 (realizing_basic_faces_p): Removed.
2fa2f461
GM
5383 (x_face_list_fonts): Special handling for realizing_basic_faces_p
5384 removed.
eeffb293 5385 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
5386 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
5387 for scalable-fonts-allowed to t.
eeffb293 5388
0f8d6dc7
GM
5389 * fileio.c (Finsert_file_contents): If the file size returned from
5390 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 5391 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 5392
eec2d1de
EZ
53932001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
5394
5395 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
5396 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
5397 (__memalign_hook): Make the two prototypes consistent.
5398
f4f480bd
GM
53992001-04-17 Gerd Moellmann <gerd@gnu.org>
5400
5401 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
5402 matrix of mini-windows.
5403
52283633
SM
54042001-04-12 Stefan Monnier <monnier@cs.yale.edu>
5405
5406 * intervals.c (find_interval): Don't rebalance during signal handling.
5407
ec2423c9
GM
54082001-04-11 Gerd Moellmann <gerd@gnu.org>
5409
30cb0001 5410 * fns.c: Include blockinput.h.
52283633 5411
ec2423c9
GM
5412 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
5413
719d83ad
GM
54142001-04-10 Gerd Moellmann <gerd@gnu.org>
5415
60f8d735
GM
5416 * fns.c (Fcompare_strings): Fix return values.
5417
afffeb57
GM
5418 * window.c (window_scroll): Change the meaning of N to mean
5419 N screen-fulls or N lines.
5420 (window_scroll_pixel_based, window_scroll_line_based)
5421 (scroll_command, Fscroll_other_window): Change accordingly.
5422
52283633
SM
5423 * window.c (window_scroll_pixel_based, Frecenter):
5424 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
5425 height of the window.
5426
5427 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
5428 instead of using it.last_visible_y for the height of the window.
52283633 5429
719d83ad 5430 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 5431 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
5432
5433 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
5434 able to write to hidden and system files. From Dan Holmsand
5435 <dan@eyebee.com>.
719d83ad 5436
8ddf3ee1
GM
5437 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
5438 Holmsand <dan@eyebee.com>.
719d83ad 5439
522ed7fb
GM
54402001-04-09 Gerd Moellmann <gerd@gnu.org>
5441
9170e5d4
GM
5442 * fns.c (Fplist_get, Fplist_put): Add QUITs.
5443
522ed7fb
GM
5444 * window.c (window_internal_height): Return 1 less if the
5445 window has a header line.
5446
5447 * xdisp.c (try_window_id): When scrolling on a terminal, take
5448 the change of window_internal_height into account.
5449
ceeb3d7d
EZ
54502001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
5451
5452 * gmalloc.c (align): If the argument SIZE would overflow
5453 __malloc_ptrdiff_t, fail right away.
5454
63685b9d
GM
54552001-04-06 Gerd Moellmann <gerd@gnu.org>
5456
5457 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
5458 Make sure the tooltip is completely visible.
5459 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
5460
5461 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
5462
5463 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
5464
3ffb33bb
DL
54652001-04-06 Dave Love <fx@gnu.org>
5466
52283633
SM
5467 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
5468 Fix test of `from'.
3ffb33bb 5469
869fb12c
GM
54702001-04-06 Gerd Moellmann <gerd@gnu.org>
5471
52283633 5472 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 5473
869fb12c
GM
5474 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
5475
441bf856
GM
54762001-04-05 Gerd Moellmann <gerd@gnu.org>
5477
4d664b04
GM
5478 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
5479
52283633 5480 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 5481
30ca89f5
GM
5482 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
5483 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
5484
5485 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
5486 shell widget's position only if it is non-null.
5487
52283633
SM
5488 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
5489 Set f->output_data.x->widget to null after destroying it.
30ca89f5 5490
81a81c0f
GM
5491 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
5492 FILENAME to bring it in synch with the documentation.
5493
441bf856
GM
5494 * xfaces.c (realizing_basic_faces_p): Renamed from
5495 realize_default_face_p.
5496 (realize_basic_faces): Set/clear realizing_basic_faces_p.
5497 (realize_default_face): Don't set the flag.
5498
702a1e8e
GM
54992001-04-04 Gerd Moellmann <gerd@gnu.org>
5500
1013f4e3
GM
5501 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
5502
52283633
SM
5503 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
5504
1013f4e3
GM
5505 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
5506 the buffer that was used for echoing.
5507
702a1e8e
GM
5508 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
5509 (first_font_matching): Removed unused function.
5510 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
5511 (may_use_scalable_font_p): Remove parameter FONT; rename
5512 parameter NAME to FONT.
5513 (x_face_list_fonts): Fix missing bounds check.
5514 (realizing_default_face_p): New variable.
5515 (realize_default_face): Set and clear that flag.
5516 (x_face_list_fonts): When called during the realization of the
5517 default face, and no matching fonts are found when ignoring
5518 scalable fonts and fonts matching a regexp from
5519 face-ignored-fonts, try without ignoring fonts.
5520
f9dbcda4
GM
55212001-04-03 Gerd Moellmann <gerd@gnu.org>
5522
ad18ffb1
GM
5523 * xfns.c (postprocess_image): New function.
5524 (lookup_image): Call it for all image types except PostScript.
5525 (x_kill_gs_process): Call postprocess_image.
5526
f9dbcda4
GM
5527 * xterm.c (x_use_underline_position_properties): New variable.
5528 (x_draw_glyph_string): Use it.
5529 (syms_of_xterm): DEFVAR_BOOL it.
5530
651f03b6
GM
55312001-04-02 Gerd Moellmann <gerd@gnu.org>
5532
5533 * xterm.c (x_alloc_nearest_color_1): New function.
5534 (x_alloc_nearest_color): Use it.
5535 (x_color_cells): Take a Display as argument, instead of a frame.
5536 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
5537 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
5538 (x_initialize): Register cvt_string_to_pixel as resource converter
5539 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
5540
73d75a62
GM
55412001-03-30 Gerd Moellmann <gerd@gnu.org>
5542
b2046df8
GM
5543 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
5544 (set_iterator_to_next): If a string from a display property ends,
5545 consider the case that this might also be the end of an
5546 overlay string having the display property.
5547
52283633 5548 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 5549
87d8eba4
GM
5550 * xdisp.c (reseat_to_string): Undo last change.
5551
73d75a62
GM
5552 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
5553 matrix of a window when the header line changes, when
5554 new rows are allocated, or when the width changes.
5555
911a2406
EZ
55562001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
5557
52283633 5558 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 5559
aea51abe
EZ
55602001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
5561
5562 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
5563 deprecated.
5564
176bc847
GM
55652001-03-29 Gerd Moellmann <gerd@gnu.org>
5566
ed31fabf
GM
5567 * data.c (Fsubr_interactive_form): New function.
5568 (syms_of_data): Defsubr it.
5569
176bc847
GM
5570 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
5571 (live_float_p, live_misc_p): Return 1 only if the offset of the
5572 pointer in its block is >= 0.
5573
e59d0e9d
GM
55742001-03-28 Paul Eggert <eggert@twinsun.com>
5575
5576 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
5577 microseconds calcuation. Avoid double-rounding problem.
5578 In doc string, warn that the result is approximate.
5579
f827b862
GM
55802001-03-28 Gerd Moellmann <gerd@gnu.org>
5581
30a3f61c
GM
5582 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
5583 bind `inhibit-eval-during-redisplay' to t.
5584
5585 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
5586
5587 * xdisp.c (inhibit_eval_during_redisplay)
5588 (Qinhibit_eval_during_redisplay): New variables.
5589 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
5590 don't eval, return nil instead.
5591 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
5592 Initialize Qinhibit_eval_during_redisplay.
5593
e719f5ae
GM
5594 * xdisp.c (reseat_to_string): If STRING is multibyte, set
5595 the iterator's multibyte_p flag.
5596
deb2613a
GM
5597 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
5598 instead of setting it to zero; it's incremented for each frame
5599 where the menu face is changed.
5600
52283633
SM
5601 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
5602 change bottom shadow accordingly.
5603
5604 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
5605 intersections here.
5606 (expose_window): Do it here instead.
52283633 5607 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 5608
f827b862
GM
5609 * bytecode.c (BYTE_CODE_QUIT): New macro.
5610 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
5611
4bde0ebb
GM
56122001-03-27 Gerd Moellmann <gerd@gnu.org>
5613
607ec83c
GM
5614 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
5615 Give up if matrix starts in an ellipsis.
5616 (init_from_display_pos): Do nothing if POS doesn't specify
5617 a dpvec_index but the iterator has such a position.
5618
0245398f
GM
5619 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
5620
aba25348
GM
5621 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
5622 x/y position is (0, 0) after destroying the menu bar, restore
5623 its original position.
5624
4bde0ebb
GM
5625 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
5626 (init_from_display_pos): Use it.
5627 (try_window_reusing_current_matrix): Don't use cursor_row_p.
5628
8cdb267e
GM
56292001-03-26 Gerd Moellmann <gerd@gnu.org>
5630
5631 * xdisp.c (try_window_id): Undo last change.
5632
9948db79
EZ
56332001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
5634
5635 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
5636
5637 * buffer.c (syms_of_buffer): Doc fix.
5638
2eddf899
GM
56392001-03-26 Gerd Moellmann <gerd@gnu.org>
5640
5641 * xfaces.c (x_update_menu_appearance): Use local variable
5642 popup_path for setting font resources.
5643
6c145d35
EZ
56442001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
5645
6a65b1b5
EZ
5646 * frame.c (Fframe_list): Don't reference tip_frame if
5647 HAVE_WINDOW_SYSTEM is not defined.
5648
6c145d35
EZ
5649 * emacs.c (main): Update the copyright year. From Werner LEMBERG
5650 <wl@gnu.org>.
5651
d74c1900
GM
56522001-03-25 Gerd Moellmann <gerd@gnu.org>
5653
20fbd925
GM
5654 * xdisp.c (init_from_display_pos): Test invisible property
5655 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 5656
927c5b3b
GM
5657 * xdisp.c (redisplay_internal) <update one window>: Make sure
5658 last_arrow_position and last_arrow_string are set.
5659
d74c1900
GM
5660 * frame.c (Fframe_list): Don't return a tooltip frame.
5661
091f8878
GM
56622001-03-23 Gerd Moellmann <gerd@gnu.org>
5663
52283633
SM
5664 * xdisp.c (mark_window_display_accurate_1): New function,
5665 extracted from mark_window_display_accurate.
5666 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
5667 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
5668 (mark_window_display_accurate): Use it.
5669 (redisplay_internal): Use it for the selected window.
5670 (redisplay_internal): Avoid duplicate mark_window_display_accurate
5671 for the selected frame.
5672
ac90c44f
GM
5673 * xdisp.c Use make_number, for readability.
5674 (try_window_id): Disable rows below the window end.
5675 (try_window_reusing_current_matrix): Use cursor_row_p.
5676 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
5677 of rows.
5678 (init_from_display_pos): If POS specifies a position in a display
5679 vector, maybe get the iterator set up for that ellipsis.
43c09969 5680
091f8878
GM
5681 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
5682
991786dd
EZ
56832001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
5684
5685 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
5686
6c29b43c
GM
56872001-03-23 Gerd Moellmann <gerd@gnu.org>
5688
5689 * xfaces.c (x_update_menu_appearance): Use a different path
5690 for Lucid popup menus.
5691
d8731202
SM
56922001-03-22 Stefan Monnier <monnier@cs.yale.edu>
5693
5694 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
5695
5696 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
5697 (string_buffer_position): Use `make_number'.
5698
f61a541b
GM
56992001-03-22 Gerd Moellmann <gerd@gnu.org>
5700
3c9e997b
GM
5701 * xfaces.c (x_update_menu_appearance): Renamed from
5702 x_set_menu_face_resources. Use different resources for popups.
5703
5704 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
5705 (GC_CHECK_STRING_BYTES): Don't define.
5706
364cd450
GM
5707 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
5708 Removed, together with subroutines.
5709 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 5710 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 5711
d8731202
SM
5712 * dispextern.h (x_set_menu_resources_from_menu_face):
5713 Remove prototype.
364cd450 5714
d8731202 5715 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
5716 Remove calls to x_set_menu_resources_from_menu_face.
5717
d8731202
SM
5718 * xfaces.c (xm_set_menu_resources_from_menu_face):
5719 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
5720
5721 * xmenu.c: Include widget.h.
5722 (single_submenu): Return int. Some cleanup.
5723 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
5724
140330de
GM
57252001-03-21 Gerd Moellmann <gerd@gnu.org>
5726
5727 * xterm.c (x_update_window_end): Handle overwritten mouse face
5728 also for tool bar windows.
5729 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
5730 DRAW is DRAW_IMAGE_RAISED.
5731
1741905c
GM
57322001-03-20 Gerd Moellmann <gerd@gnu.org>
5733
fa88947e
GM
5734 * print.c (syms_of_print): Doc fixes.
5735
1741905c
GM
5736 * fns.c (Fmd5): Doc fix.
5737
ade0bee1
GM
57382001-03-19 Gerd Moellmann <gerd@gnu.org>
5739
357e7376
GM
5740 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5741 Clear area of the frame not occupied by the scroll bar.
5742
c2c097cc
GM
5743 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
5744 tip frame's root window buffer to *tip* right after creating
5745 the frame.
5746
ade0bee1
GM
5747 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
5748 is an integer don't have to be for space characters.
5749
88c6e37e
GM
57502001-03-16 Gerd Moellmann <gerd@gnu.org>
5751
52283633
SM
5752 * indent.c (current_column, current_column_1, Fmove_to_column)
5753 (compute_motion): Handle characters from display vectors differently.
88c6e37e 5754
c62eed76
KH
57552001-03-15 Kenichi Handa <handa@etl.go.jp>
5756
5757 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
5758 drawing glyph string.
5759
c899e7e6
GM
57602001-03-15 Gerd Moellmann <gerd@gnu.org>
5761
d0bbfc99
GM
5762 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
5763 (command_loop_1): Undo last change.
5764
03d1a189
GM
5765 * xterm.c (fast_find_position): Return the correct vpos.
5766
c899e7e6 5767 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 5768 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
5769 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
5770 Call store_symval_forwarding with BUF null.
5771 (set_internal): Call store_symval_forwarding with the BUF
5772 parameter passed to set_internal. Formerly, the value was always
5773 set in the current buffer; the buffer recorded in specbind for
5774 this case wasn't used.
5775 (arith_driver): Reindent.
5776
52283633
SM
5777 * buffer.c (swap_out_buffer_local_variables):
5778 Call store_symval_forwarding with BUF null.
c899e7e6
GM
5779
5780 * lisp.h (store_symval_forwarding): Change prototype.
5781
5782 * eval.c (specbind): Call store_symval_forwarding with BUF null.
5783
57ac7c81
GM
57842001-03-14 Gerd Moellmann <gerd@gnu.org>
5785
697617d9
GM
5786 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
5787 FOR_DELETION. Avoid resizing the mini-window of the selected
5788 frame if FOR_DELETION is set.
5789 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
5790 (Fmake_frame_invisible): Change calls to do_switch_frame for new
5791 signature.
5792
5793 * window.c (Fset_window_configuration): Change call to
5794 do_switch_frame to new format.
5795
5796 * keyboard.c (quit_throw_to_read_char): Change call to
5797 do_switch_frame to new format.
5798
5799 * lisp.h (do_switch_frame): Change prototype.
5800
819dce0f
GM
5801 * frame.c (Fframe_parameters): In the `buffer-list' frame
5802 parameter, store the buffer list of FRAME, not the list of the
5803 selected frame.
5804
57ac7c81
GM
5805 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
5806 box just because the glyph row's full_width_p flag is set.
5807
65008712
GM
58082001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
5809
5810 * xdisp.c (highlight_trailing_whitespace): On character terminals,
5811 skip the padding blanks inserted in extend_face_to_end_of_line,
5812 before checking for trailing whitespace.
5813
159cf431
GM
58142001-03-13 Gerd Moellmann <gerd@gnu.org>
5815
52283633 5816 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
5817 Remove special handling for LessTif/Motif.
5818 (toplevel): Don't include Xm/Xm.h.
5819
52283633
SM
5820 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
5821 Remove workaround code for LessTif; it doesn't work anymore.
5822
2564ea1b 5823 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 5824 Xm/ScrollBarP.h.
afcdc0a1 5825
52283633
SM
5826 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
5827 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
5828 contemporary LessTif.
5829
52283633
SM
5830 * xfaces.c (xm_set_menu_resources_from_menu_face):
5831 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 5832
159cf431
GM
5833 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
5834 removing button grabs.
5835
c6f7429a
KH
58362001-03-13 Kenichi Handa <handa@etl.go.jp>
5837
cb82d767
KH
5838 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
5839 and clip-large-size-font as obsolete.
5840
c6f7429a
KH
5841 * lread.c (read_multibyte): Check the validity of multibyte
5842 sequence. If invalid, return the first byte.
5843
760cefb5
GM
58442001-03-12 Gerd Moellmann <gerd@gnu.org>
5845
5846 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
5847 before running the command; timer functions or process
5848 filters may have set it.
5849
5141f9d0
EZ
58502001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
5851
5852 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
5853 Doc fix.
5854
b6a15240
GM
58552001-03-12 Gerd Moellmann <gerd@gnu.org>
5856
5857 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
5858 to sprintf.
5859
95522746
GM
58602001-03-09 Gerd Moellmann <gerd@gnu.org>
5861
db14cfc5
GM
5862 * dispextern.h (string_buffer_position): Add prototype.
5863
52283633 5864 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
5865 (single_display_prop_string_p): New functions.
5866
5867 * xterm.c (note_mouse_highlight): If there's no help-echo on
5868 a string, look at the buffer text ``under'' it.
5869
5870 * keyboard.c (make_lispy_event): Add string info to the event,
5871 analogous to what's done on mode lines.
5872 (read_key_sequence): For a click on a string, consider `local-map'
5873 and `keymap' of that string.
5874
52283633
SM
5875 * keyboard.c (make_lispy_event, make_lispy_movement):
5876 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
5877
5878 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
5879
5880 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
5881 POS; return void.
5882
95522746
GM
5883 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
5884 flags argument to emacs_open; it seems to conflict with O_EXCL.
5885
898a399d
KH
58862001-03-09 Kenichi Handa <handa@etl.go.jp>
5887
28cd4910
KH
5888 * composite.h (struct composition): Change types of members;
5889 glyph_len to unsigned, width to unsigned short.
898a399d 5890
4cdf6a6c
AI
58912001-03-08 Andrew Innes <andrewi@gnu.org>
5892
5893 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
5894 menu titles.
5895
129004d3
GM
58962001-03-08 Gerd Moellmann <gerd@gnu.org>
5897
221dd3e7
GM
5898 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
5899 instead of nil.
5900
52283633 5901 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
5902 help-echo in strings.
5903 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
5904 (fast_find_string_pos): New function.
5905
52283633
SM
5906 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
5907 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
5908
5909 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
5910 Handle `mouse-face'.
5911
5912 * dispextern.h (face_at_string_position): Change prototype.
5913
52283633 5914 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 5915
129004d3
GM
5916 * keyboard.c (make_lispy_event): Avoid generating drag events
5917 if the mouse hasn't actually moved to another buffer position.
52283633 5918
80c8ab8c
DL
59192001-03-08 Dave Love <fx@gnu.org>
5920
129004d3 5921 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 5922
989521fd
GM
59232001-03-08 Gerd Moellmann <gerd@gnu.org>
5924
5925 * process.c (Fset_process_window_size): Fix a typo.
5926
bb5c338d
KH
59272001-03-08 Kenichi Handa <handa@etl.go.jp>
5928
5929 * coding.c (detect_coding_sjis): Do more rigid check.
5930 (detect_coding_big5): Likewise.
5931 (decode_coding_sjis_big5): Likewise.
5932 (Fdetect_coding_region): Call detect_coding_system with tailing
5933 anchor byte `\0' for more rigid detection.
52283633 5934 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
5935 (Fdetect_coding_string): Likewise.
5936
8b8f9197
SM
59372001-03-07 Stefan Monnier <monnier@cs.yale.edu>
5938
5939 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
5940 a string before extracting its data.
5941
3bdf2660
GM
59422001-03-07 Gerd Moellmann <gerd@gnu.org>
5943
5944 * window.c (Frecenter): Rewrite code handling negative values
5945 of ARG on graphical frames.
5946
59472001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
5948
5949 * window.c (displayed_window_lines): If W->start is outside the
5950 accessible portion of the buffer, call start_display with BEGV or
5951 ZV instead of W->start.
5952
471f86b9
GM
59532001-03-07 Gerd Moellmann <gerd@gnu.org>
5954
2ab62c6c
GM
5955 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
5956
471f86b9
GM
5957 * process.c (Fset_process_filter): Don't crash if the input
5958 file descriptor of PROCESS is closed.
5959 (Fset_process_window_size): Likewise.
5960
101922c3
GM
59612001-03-06 Kenichi Handa <handa@etl.go.jp>
5962
5963 * xterm.c (XTflash): Make the timeout of select shorter, and call
5964 select repeatedly until the desired time expires.
5965
45d051a7
GM
59662001-03-06 Gerd Moellmann <gerd@gnu.org>
5967
5968 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
5969
5970 * xfns.c (Fx_create_frame): Clear Vwindow_list.
5971
5972 * lisp.h (Vwindow_list): Declare extern.
5973
8f372c46
EZ
59742001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
5975
5976 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
5977
f16a7aa5
GM
59782001-03-06 Gerd Moellmann <gerd@gnu.org>
5979
157ae273
GM
5980 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
5981 to detect a case where we have to highlight a different region
5982 despite not having left the currently highlighted region.
5983 Set mouse_face_overlay in the x_display_info.
45d051a7 5984 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
5985
5986 * xterm.h (struct x_display_info): Add mouse_face_overlay.
5987
5988 * buffer.c (mouse_face_overlay_overlaps): New function.
5989
5990 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
5991 (Qmouse_face): Declare extern.
5992
f16a7aa5
GM
5993 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
5994 if face_change_count is non-zero.
5995
827afcac
KH
59962001-03-06 Kenichi Handa <handa@etl.go.jp>
5997
5998 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
5999 that the source is unibyte.
6000
14c7242e
DL
60012001-03-05 Dave Love <fx@gnu.org>
6002
827afcac 6003 * xterm.c (XTmouse_position): Fix typo.
14c7242e 6004
c28b847b
GM
60052001-03-05 Gerd Moellmann <gerd@gnu.org>
6006
6007 * minibuf.c (read_minibuf): Clean up the binding stack if
6008 called noninteractively.
6009
b86644f2
KH
60102001-03-05 Kenichi Handa <handa@etl.go.jp>
6011
6012 * coding.c (syms_of_coding): Docstring modified.
6013
203682cc 60142001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
6015
6016 * charset.c (char_to_string): If a single byte char has modifier
6017 bits that can't be reflected to the character code, ignore them
45d051a7 6018 instead of signaling an error.
b86644f2 6019
e30bd7b7
EZ
60202001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
6021
6022 * s/msdos.h: Update copyright notice.
6023
6024 * dosfns.h: Update copyright notice.
6025
6026 * dosfns.c: Update copyright notice.
6027
6028 * msdos.c: Update copyright notice.
6029
b52b65bd
GM
60302001-03-02 Gerd Moellmann <gerd@gnu.org>
6031
6032 * xterm.c (glyph_rect): New function.
6033 (XTmouse_position): Use it to raise the threshold for mouse
6034 movement event generation.
6035
53c4b1e6
EZ
60362001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
6037
6038 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
6039 specifies (reverse . t), reverse the initial screen colors.
6040 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
6041 but we are reversing the colors, set bg_set, not fg_set.
6042 Likewise for setting background-color and reversing: set fg_set.
6043 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
6044 in effect.
6045
6046 * xfaces.c (Finternal_set_lisp_face_attribute)
6047 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
6048 parameters alist.
6049
f964b4d7
GM
60502001-03-02 Gerd Moellmann <gerd@gnu.org>
6051
ef53d75e
GM
6052 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
6053 to a single slash in the middle of file names.
6054
52283633 6055 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
6056 Accept only alphanumeric time zone names.
6057
f964b4d7
GM
6058 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
6059 or width area.
6060 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
6061 a widget to zero height.
52283633 6062
c3c45f65
GM
60632001-03-01 Gerd Moellmann <gerd@gnu.org>
6064
6065 * window.c (Fwindow_end): Call move_it_past_eol only if
6066 ending up on a partially visible line.
6067
028d739a
DL
60682001-03-01 Dave Love <fx@gnu.org>
6069
6070 * ccl.c (Fccl_execute): Doc fix.
6071
57c5889c
GM
60722001-03-01 Gerd Moellmann <gerd@gnu.org>
6073
35f59f6b
GM
6074 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
6075 of the tool bar before calling x_figure_window_size.
6076
f84ff02c
GM
6077 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
6078 NULL after destroying it, otherwise XTread_socket can access a
6079 destroyed widget when input is unblocked.
6080
8b8f9197 6081 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 6082
57c5889c
GM
6083 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
6084 same name as before, although there was a change in fontsets.
6085
224227d1
KR
60862001-02-28 Ken Raeburn <raeburn@gnu.org>
6087
4560730a
KR
6088 * lisp.h (Fframe_parameter): Declare.
6089
224227d1 6090 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 6091 Lisp_Object.
224227d1 6092
ece93c02
GM
60932001-02-28 Gerd Moellmann <gerd@gnu.org>
6094
11ef99b9
GM
6095 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
6096 NULL instead.
6097
6098 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
6099 NULL instead.
6100
ece93c02
GM
6101 * alloc.c (toplevel): Include process.h.
6102 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
6103 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
6104 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
6105 (allocate_vector, allocate_hash_table, allocate_window)
6106 (allocate_frame, allocate_process, allocate_other_vector):
6107 New functions.
ece93c02
GM
6108 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
6109 (mark_maybe_pointer): New function.
52283633 6110 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
6111 remain and not Lisp_Objects.
6112 (min_heap_address, max_heap_address): New variables.
6113 (mem_find): Return MEM_NIL if START is below min_heap_address or
6114 above max_heap_address.
6115 (mem_insert): Compute min_heap_address and max_heap_address.
6116
6117 * process.c (make_process): Use allocate_process.
6118
6119 * frame.c (make_frame): Use allocate_frame.
6120
6121 * window.c (make_window, make_dummy_parent): Use allocate_window.
6122 (Fcurrent_window_configuration): Use allocate_other_vector.
6123
6124 * lisp.h (allocate_vectorlike): Remove prototype.
6125 (allocate_vector, allocate_other_vector, allocate_frame)
6126 (allocate_window, allocate_process, allocate_hash_table):
6127 Add prototypes.
6128
6129 * fns.c (Fdelete, larger_vector): Use allocate_vector.
6130 (make_hash_table, copy_hash_table): Use allocate_hash_table.
6131
063af457
KH
61322001-02-27 Kenichi Handa <handa@etl.go.jp>
6133
6134 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
6135 treat the produced bytes as a valid multibyte sequence.
6136
6137 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
6138 (ccl_driver) <CCL_WriteMultibyteChar2>:
6139 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
6140 <ccl_finish>: Set ccl->eight_bit_control properly.
6141
6142 * ccl.h (struct ccl_program): New member eight_bit_control.
6143
f58c6494
SM
61442001-02-26 Stefan Monnier <monnier@cs.yale.edu>
6145
6146 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
6147 accessible_keymaps_char_table.
6148 (accessible_keymaps_char_table): Obey `is_metized'.
6149 (where_is_internal, Fwhere_is_internal): Don't confuse int and
6150 Lisp_Object.
6151
c596c392
GM
61522001-02-26 Gerd Moellmann <gerd@gnu.org>
6153
6154 * dispnew.c: Check HAVE_TERM_H before including term.h.
6155
425de386
AI
61562001-02-24 Andrew Innes <andrewi@gnu.org>
6157
6158 * makefile.w32-in: Update copyright notice.
6159
2ba11bbd
SM
61602001-02-24 Stefan Monnier <monnier@cs.yale.edu>
6161
6162 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
6163
66c56ed1
KH
61642001-02-24 Kenichi Handa <handa@etl.go.jp>
6165
4c1593ce
KH
6166 * Makefile.in (lisp): Add international/utf-8.elc.
6167
66c56ed1
KH
6168 * fontset.c (Fnew_fontset): Fix handling of the case that an
6169 element of FONTLIST is a cons of family and registry.
6170
796ead7e
JR
61712001-02-23 Jason Rumney <jasonr@gnu.org>
6172
6173 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
6174 to height unconditionally.
6175
6176 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 6177 background face to the end of the drawing area in the text area, only.
796ead7e
JR
6178 (x_insert_glyphs): Call window_box_left to obtain the left
6179 x-coordinate of the area to shift.
6180
6181 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
6182 safe_run_hooks.
6183
f6839838
AI
61842001-02-22 Andrew Innes <andrewi@gnu.org>
6185
52283633 6186 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
6187 ($(BLD)\dispnew.obj):
6188 ($(BLD)\editfns.obj):
6189 ($(BLD)\fileio.obj):
6190 ($(BLD)\filelock.obj):
6191 ($(BLD)\keyboard.obj):
6192 ($(BLD)\w32proc.obj):
6193 ($(BLD)\process.obj):
6194 ($(BLD)\sysdep.obj): Ditto.
6195
6196 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
6197 header files.
52283633
SM
6198 ($(BLD)/dispnew.$(O)):
6199 ($(BLD)/editfns.$(O)):
6200 ($(BLD)/fileio.$(O)):
6201 ($(BLD)/filelock.$(O)):
6202 ($(BLD)/keyboard.$(O)):
6203 ($(BLD)/w32proc.$(O)):
6204 ($(BLD)/process.$(O)):
f6839838
AI
6205 ($(BLD)/sysdep.$(O)): Ditto.
6206
c224f70b
GM
62072001-02-22 Gerd Moellmann <gerd@gnu.org>
6208
51695746
GM
6209 * xdisp.c (forward_to_next_line_start): When taking the shortcut
6210 at the start of the function, check that the \n in it->c is
6211 from the iterator's current position.
52283633 6212
a61b7058
GM
6213 * xdisp.c (handle_single_display_prop): Add parameter
6214 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
6215 properties which replace the display of text with something else.
6216 (handle_display_prop): Call handle_single_display_prop with
6217 additional argument saying if we already replaced text display
6218 with something else. Use AREF.
52283633 6219 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
6220 (decode_mode_spec_coding): Use AREF and ASIZE.
6221
3473f362
GM
6222 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
6223 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
6224 * vmstime.h: Files removed.
52283633 6225
2bb58df3
GM
6226 * unexencap.c, unexfx2800.c: Files removed.
6227
c224f70b
GM
6228 * dispnew.c (direct_output_for_insert): Give up if we are showing
6229 a message or just cleared the message because we might need to
6230 resize the echo area window or display an empty echo area.
6231
ffc9ff0c
GM
62322001-02-21 Gerd Moellmann <gerd@gnu.org>
6233
0528abe1
GM
6234 * xdisp.c (redisplay_internal): Do the
6235 mark_window_display_accurate after all windows have been
6236 redisplayed because this call resets flags in buffers which are
6237 needed for proper redisplay.
6238
52283633
SM
6239 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
6240 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
6241 the old names.
6242
52283633
SM
6243 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
6244 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
6245
6246 * msdos.h (struct x_output): Rename busy_window to
6247 hourglass_window, busy_p to hourglass_p.
6248
52283633
SM
6249 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
6250 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
6251
6252 * xfns.c: Rename everything containing *busy_cursor* and similar
6253 to *hourglass*.
6254 (syms_of_w32fns): Rename x-busy-pointer-shape to
6255 x-hourglass-pointer-shape, display-busy-cursor to
6256 display-hourglass, busy-cursor-delay to hourglass-delay.
6257
6258 * w32fns.c: Rename everything containing *busy_cursor* and similar
6259 to *hourglass*.
6260 (syms_of_w32fns): Rename x-busy-pointer-shape to
6261 x-hourglass-pointer-shape, display-busy-cursor to
6262 display-hourglass, busy-cursor-delay to hourglass-delay.
6263
6264 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
6265 of its busy_p flag.
6266
6267 * dispextern.h (start_hourglass, cancel_hourglass)
6268 (display_hourglass_p): Renamed from *busy_cursor*.
6269
ab2c5f0a
GM
62702001-02-20 Gerd Moellmann <gerd@gnu.org>
6271
d17e49a8
GM
6272 * keyboard.c (read_char): When an event from unread-command-events
6273 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
6274
fa97adf6
GM
6275 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
6276 equal to the current buffer.
6277
ab2c5f0a
GM
6278 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
6279 nil, otherwise we're left with truncate_lines t when a message
6280 is printed with message-truncate-lines bound to t.
6281
aeac019e
GM
62822001-02-19 Gerd Moellmann <gerd@gnu.org>
6283
c8bc6f65
GM
6284 * window.c (Fmove_to_window_line): Undo last change.
6285 (displayed_window_lines): Call line_bottom_y to determine
6286 the line's bottom position.
6287
6288 * dispextern.h (line_bottom_y): Add prototype.
6289
52283633 6290 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
6291 (pos_visible_p): Use it.
6292
980a2d69
GM
6293 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
6294 set redisplaying_p to 0 here instead of in Frecursive_edit.
6295 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
6296 set redisplaying_p.
6297
52283633 6298 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
6299 New variables.
6300 (syms_of_xdisp): Initialize new variables.
6301 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
6302 Specbind `inhibit-menubar-update' when updating the menu bar.
6303
65048e97
GM
6304 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
6305 safe_run_hooks.
6306
6307 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
6308 safe_run_hooks.
6309
a57c4026
GM
6310 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
6311 is null.
6312
aeac019e
GM
6313 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
6314 to the start of the file.
6315
76846b31
GM
63162001-02-16 Gerd Moellmann <gerd@gnu.org>
6317
f3f053f3 6318 * window.c (set_window_buffer): Fix last change.
52283633 6319
f3f053f3
GM
6320 * window.c (set_window_buffer): Set window's vscroll to 0.
6321
dad75588
GM
6322 * window.c (coordinates_in_window): Increase width of area
6323 where the vertical line can be dragged.
6324
c220b753
GM
6325 * xterm.c (x_set_glyph_string_background_width): Extend the
6326 background face to the end of the drawing area in the text
6327 area, only.
6328
c56b1c1b
GM
6329 * xdisp.c (handle_single_display_prop): Set iterator's position
6330 to where the `display' property starts, like for images.
6331 (dump_glyph): New function.
6332 (dump_glyph_row): Use it. Dump info about marginal areas.
6333
6334 * dispnew.c (direct_output_for_insert): Recognize more cases where
6335 glyphs can be written instead of being inserted.
6336
6337 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
6338 the left x-coordinate of the area to shift.
6339
76846b31
GM
6340 * dired.c (directory_files_internal): Set result list to nil
6341 before retrying.
6342
0fc71a77
KH
63432001-02-15 Kenichi Handa <handa@etl.go.jp>
6344
6345 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
6346 invalid multibyte sequence, treat *SRC as a character of
6347 eight-bit-graphic.
6348
25078b54
EZ
63492001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
6350
6351 * textprop.c (Fset_text_properties): Doc fix.
6352
8399f8a0
GM
63532001-02-15 Gerd Moellmann <gerd@gnu.org>
6354
6355 * dispnew.c (update_text_area): Undo change of 2001-01-12.
6356
9a2a6f73
DL
63572001-02-14 Dave Love <fx@gnu.org>
6358
6359 * coding.c: Doc and message fixes.
6360
bf853fee
AI
63612001-02-14 Andrew Innes <andrewi@gnu.org>
6362
6363 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
6364 Emacs frame above the screen size.
6365
78c663d8
GM
63662001-02-14 Gerd Moellmann <gerd@gnu.org>
6367
6368 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
6369
7cc9f69f
GM
63702001-02-13 Gerd Moellmann <gerd@gnu.org>
6371
0a411995
GM
6372 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
6373 case that TO ends up beyond ZV after running before-change-functions.
6374
5ddc1b75
GM
6375 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
6376 the selected window if it is showing the buffer in question.
6377
7cc9f69f
GM
6378 * dired.c (directory_files_internal): Initialize errno.
6379 (toplevel): Include errno.h.
6380
2e6621ca
GM
63812001-02-13 Kenichi Handa <handa@etl.go.jp>
6382
6383 * xfaces.c (best_matching_font): New parameter width_ratio.
6384 Multiply avgwidth by width_ratio.
6385 (choose_face_font): Call best_matching_font with width_ratio
6386 calculated from the column width of C.
6387
60222d69
AI
63882001-02-12 Andrew Innes <andrewi@gnu.org>
6389
6390 The following changes are to draw box lines inside characters area
6391 if line-width is negative.
52283633 6392
60222d69
AI
6393 * w32term.c (x_produce_image_glyph): Pay attention to the case that
6394 face->box_line_width is negative.
6395 (x_produce_stretch_glyph): Likewise.
6396 (x_produce_glyphs): Likewise.
6397 (x_estimate_mode_line_height): Likewise.
6398 (x_draw_glyph_string_background): Likewise.
6399 (x_draw_glyph_string_foreground): Likewise.
6400 (x_draw_composite_glyph_string_foreground): Likewise.
6401 (x_draw_glyph_string_box): Likewise.
6402 (x_draw_image_foreground): Likewise.
6403 (x_draw_image_relief): Likewise.
6404 (x_draw_image_foreground_1): Likewise.
6405 (x_draw_image_glyph_string): Likewise.
6406
9804b846
KH
64072001-02-09 Kenichi Handa <handa@etl.go.jp>
6408
6409 The following changes are to draw box lines inside characters area
6410 if line-width is negative.
52283633 6411
9804b846
KH
6412 * xterm.c (x_produce_image_glyph): Pay attention to the case that
6413 face->box_line_width is negative.
6414 (x_produce_stretch_glyph): Likewise.
6415 (x_produce_glyphs): Likewise.
6416 (x_estimate_mode_line_height): Likewise.
6417 (x_draw_glyph_string_background): Likewise.
6418 (x_draw_glyph_string_foreground): Likewise.
6419 (x_draw_composite_glyph_string_foreground): Likewise.
6420 (x_draw_glyph_string_box): Likewise.
6421 (x_draw_image_foreground): Likewise.
6422 (x_draw_image_relief): Likewise.
6423 (x_draw_image_foreground_1): Likewise.
6424 (x_draw_image_glyph_string): Likewise.
6425
6426 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
6427 and :line-width can be negative.
52283633 6428 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 6429
49be9f70
JR
64302001-02-09 Jason Rumney <jasonr@gnu.org>
6431
6432 * w32term.c (w32_encode_char): Treat eight bit graphic and control
6433 characters the same as ASCII and latin-1.
6434 (x_display_and_set_cursor): Check for the focus frame's selected
6435 window instead of selected_window.
6436 (x_after_update_window_line): Don't clear if frame's internal
6437 border width is zero.
6438 (x_new_font): Don't change a tooltip's size.
6439 (w32_initialize): Set char_ins_del_ok to 1.
6440
6441 * w32fns.c (Fx_show_tip): Fix calls to make_number.
6442 (x_set_font): If font hasn't changed, avoid recomputing
6443 faces and other things.
52283633
SM
6444 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
6445 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
6446 (x_create_tip_frame): Prevent changing the tooltip's
6447 background color by specifying a color for the default font
6448 in .Xdefaults.
6449 (Qcancel_timer): New variable.
6450 (syms_of_w32fns): Initialize and staticpro it.
6451 (Fx_hide_tip, Fx_show_tip): Use it.
6452 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6453 the timer.
6454 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
6455
6456 * w32.c (init_environment): Duplicate local string before putenv.
6457
555e35d2
SZ
64582001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
6459
6460 * charset.c (Fstring): A typo.
6461
19c92c94
KH
64622001-02-09 Kenichi Handa <handa@etl.go.jp>
6463
e47a1c33
KH
6464 * charset.c (Fstring): If all arguments are less than 256, return
6465 a unibyte string.
6466
6467 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
6468 return a unibyte string.
6469
19c92c94
KH
6470 * coding.c (code_convert_region): After detecting a coding, if
6471 nothing found, set coding->composing to COMPOSITION_NO.
6472 (decode_coding_string): Likewise.
6473
d8e675f5
SM
64742001-02-08 Stefan Monnier <monnier@cs.yale.edu>
6475
6476 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
6477 to avoid overflow.
6478
bd503487
KH
64792001-02-07 Kenichi Handa <handa@etl.go.jp>
6480
6481 * charset.c (parse_str_to_multibyte): New function.
6482
6483 * charset.h (parse_str_to_multibyte): Extern it.
6484
6485 * print.c (print_string): If we are going to print a unibyte
6486 string into a multibyte buffer, convert the string to multibyte by
6487 str_to_multibyte.
6488
a8370d72
AI
64892001-02-06 Andrew Innes <andrewi@gnu.org>
6490
6491 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
6492 been created. It seems we can get sent window messages such as
6493 WM_ERASEBKGND before we properly update a frame.
6494
c363a1d6
GM
64952001-02-06 Gerd Moellmann <gerd@gnu.org>
6496
6497 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
6498 Avoid some unnecessary cursor positioning.
6499
a08332c0
GM
65002001-02-05 Gerd Moellmann <gerd@gnu.org>
6501
52283633 6502 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
6503 (LFACE_AVGWIDTH): New macro.
6504 (LFACEP): Use AREF.
6505 (check_lface_attrs): Check LFACE_AVGWIDTH.
6506 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6507 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
6508 (merge_face_vectors): Check LFACE_AVGWIDTH.
6509 (Finternal_make_lisp_face): Use AREF.
6510 (xm_set_menu_resources_from_menu_face)
6511 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
6512 (Finternal_lisp_face_empty_p): Use AREF.
6513 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
6514 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
6515 Compare average widths..
6516 (best_matching_font): Arrange for comparing average widths.
6517
52283633
SM
6518 * dispextern.h (enum lface_attribute_index):
6519 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
6520
5cb3c8d4
DL
65212001-02-05 Dave Love <fx@gnu.org>
6522
6523 * puresize.h: Revert last change following loadup.el change.
6524
193fba87
AI
65252001-02-05 Andrew Innes <andrewi@gnu.org>
6526
6527 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
6528 invocation of temacs, to work with Windows 2000.
6529 (bootstrap-emacs): Ditto.
6530
e16f52ce
GM
65312001-02-05 Gerd Moellmann <gerd@gnu.org>
6532
7a58ab59
GM
6533 * xterm.c (x_display_and_set_cursor): Check for the focus
6534 frame's selected window instead of selected_window.
6535
e89aaabd
GM
6536 * xdisp.c (try_scrolling): If point is in the line below the
6537 window, make sure to move the iterator at least a canonical
6538 char height down.
6539
52283633 6540 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 6541
789ce875
KH
65422001-02-05 Kenichi Handa <handa@etl.go.jp>
6543
52283633
SM
6544 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
6545 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
6546 (ccl_driver): If the CCL program is terminated because of
6547 CCL_STAT_INVALID_CMD, copy the remaining source data to the
6548 destination instead of throwing them away.
6549
20b28f82
GM
65502001-02-02 Gerd Moellmann <gerd@gnu.org>
6551
79fb38c0
GM
6552 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
6553 faces and other things.
6554
20b28f82
GM
6555 * xdisp.c (get_next_display_element): Fix case of empty
6556 display table entry.
6557
5a72551e
EZ
65582001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
6559
eb24d0bf
EZ
6560 * editfns.c (Fconstrain_to_field): Doc fix.
6561
6a3f48c7
EZ
6562 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
6563 into `thoroughly', to make it consistent with the doc string.
6564
5a72551e
EZ
6565 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
6566
01acdb05
GM
65672001-02-01 Gerd Moellmann <gerd@gnu.org>
6568
0353b28f
GM
6569 * search.c (search_buffer): Call set_search_regs with a byte
6570 position, not a character position.
6571
01acdb05
GM
6572 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
6573 minibuffer-only,
6574
e86b5133
EZ
65752001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
6576
6577 * frame.c (Fmodify_frame_parameters): Doc fix.
6578
7442878f
GM
65792001-01-31 Gerd Moellmann <gerd@gnu.org>
6580
01acdb05
GM
6581 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
6582 identifier which is not reserved by Standard C.
52283633 6583
7442878f
GM
6584 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
6585
6586 * window.c (enum window_part): New enumeration.
6587 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
6588 Qright_bitmap_area.
6589 (coordinates_in_window): Return an enumerator from enum
6590 window_part. Fix handling of right scroll bar.
6591 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
6592 `right-fringe' instead of `left-bitmap-area' and
6593 `right-bitmap-area'. Use enumerators from enum window_part
6594 instead of hard-coded integers.
52283633
SM
6595 (check_window_containing, window_from_coordinates):
6596 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
6597 (syms_of_window): Replace Qleft_bitmap_area and
6598 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
6599
7c132cba
EZ
66002001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
6601
6602 * editfns.c (Fformat_time_string): Doc fix.
6603
c359dd9e
SM
66042001-01-31 Stefan Monnier <monnier@cs.yale.edu>
6605
6606 * keymap.c (Fwhere_is_internal): Use the first valid binding
6607 if no ascii binding is found (when firstonly is t).
6608
ce070307
GM
66092001-01-31 Gerd Moellmann <gerd@gnu.org>
6610
b4f30ec5
GM
6611 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
6612 instead of Finteractive_p.
6613
6614 * lisp.h (interactive_p): Add prototype.
6615
6616 * eval.c (interactive_p): New function.
6617 (Finteractive_p): Use it.
6618
ce070307
GM
6619 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
6620
f57b6e64
DL
66212001-01-31 Dave Love <fx@gnu.org>
6622
d61c7afe
DL
6623 * .gdbinit (hook-run): Define to run xreload.
6624
f57b6e64
DL
6625 * textprop.c (Fset_text_properties): Fix newline in doc string.
6626
eef93f99
GM
66272001-01-30 Gerd Moellmann <gerd@gnu.org>
6628
52283633
SM
6629 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
6630 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
6631
6632 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 6633 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
6634 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
6635
6636 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
6637 height.
6638
d9c1f6f9
DL
66392001-01-30 Dave Love <fx@gnu.org>
6640
6641 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
6642 AFTER_POTENTIAL_GC.
6643
e8f044a0
GM
66442001-01-29 Gerd Moellmann <gerd@gnu.org>
6645
52283633
SM
6646 * bytecode.c (Fbyte_code) <Bcurrent_column>:
6647 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 6648
8e1db7b3
EZ
66492001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
6650
6651 * textprop.c (Fset_text_properties): Doc fix.
6652
4eefd9d2
GM
66532001-01-29 Gerd Moellmann <gerd@gnu.org>
6654
6655 * xdisp.c (forward_to_next_line_start): Remove xassert.
6656
fccb8288
EZ
66572001-01-29 Jason Rumney <jasonr@gnu.org>
6658
4eefd9d2 6659 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
6660 returning without releasing it.
6661
76581eab
KH
66622001-01-29 Kenichi Handa <handa@etl.go.jp>
6663
6664 * w32fns.c (w32_font_match): Allocate three more bytes to regex
6665 for '^', '$', and '\0'.
6666
83a96b4d
AC
66672001-01-28 Andrew Choi <akochoi@i-cable.com>
6668
5604ec34
AC
6669 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
6670 regex for '^', '$', and '\0'.
6671
83a96b4d
AC
6672 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
6673 only if current_sblock has been initialized.
6674
6675 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
6676 terminal frame even if it is the only visible frame.
6677
c09a6440
KH
66782001-01-28 Kenichi Handa <handa@etl.go.jp>
6679
6680 * fontset.c (font_family_registry): Even if FONTNAME conform to
6681 XLFD, if it specifies other fields than family and registry,
52283633 6682 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 6683 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
6684 a signle byte character. Don't set FAMILY part to nil here.
6685 It is handled by the caller choose_face_font.
c09a6440
KH
6686 (Fnew_fontset): Call font_family_registry with FORCE 0.
6687 (Fset_fontset_font): Likewise.
6688
4dcd74e6
GM
66892001-01-27 Gerd Moellmann <gerd@gnu.org>
6690
6691 * xdisp.c (display_line): Don't treat a newline as fitting
6692 on the line.
6693
d2906bf8
GM
66942001-01-26 Gerd Moellmann <gerd@gnu.org>
6695
0130fe1a
GM
6696 * window.c (size_window): Set the window's orig_top to nil when
6697 changing heights, so that a future shrink_mini_window won't
6698 restore a bogus height.
6699
550f0e6a
GM
6700 * frame.c (do_switch_frame): If selected frame has a mini-window,
6701 resize that to exact size.
6702
b7b20fbd
GM
6703 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
6704
a47b7816
GM
6705 * xdisp.c (display_line): Simplify check for glyphs fitting
6706 entirely in the line.
6707
d2906bf8
GM
6708 * xfns.c (xic_style): New variable.
6709 (create_frame_xic): Move static variable to global scope for
550f0e6a 6710 the case that `static' gets defined away.
d2906bf8 6711
73df2b1e
KH
67122001-01-26 Kenichi Handa <handa@etl.go.jp>
6713
6714 * coding.c (decode_coding): Set a flag for inhibiting
6715 inconsistent eol.
6716 (code_convert_region): Always set saved_coding_symbol.
6717 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 6718 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 6719
6613cfc4
GM
67202001-01-25 Gerd Moellmann <gerd@gnu.org>
6721
c5e6e06b
GM
6722 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
6723 XClearArea.
6724
6725 * xterm.c (x_after_update_window_line): Don't clear if frame's
6726 internal border width is zero.
6727 (x_clear_area): New function.
6728 (x_after_update_window_line, x_clear_end_of_line)
6729 (x_scroll_bar_create, x_scroll_bar_set_handle)
6730 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
6731 instead of XClearArea.
6732
6733 * xterm.h (x_clear_area): Add prototype.
6734
6613cfc4
GM
6735 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
6736 which doesn't seem necessary anymore with Lesstif 0.92.
6737
650cc6cc
DL
67382001-01-25 Dave Love <fx@gnu.org>
6739
34ac3367
DL
6740 * puresize.h (BASE_PURESIZE): Up to 720000.
6741
650cc6cc
DL
6742 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
6743
5e37dc22
GM
67442001-01-25 Gerd Moellmann <gerd@gnu.org>
6745
e1e441f9
GM
6746 * xdisp.c (echo_area_display): Don't call redisplay_internal
6747 when Emacs is shutting down. We can't run hooks etc. that
6748 would be necessary to do a redisplay.
6749
5e37dc22
GM
6750 * lread.c (read_integer): Use type EMACS_INT instead of int.
6751
0fb94c7f
EZ
67522001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
6753
6754 * ccl.c (ccl_driver): Fix last change.
6755
e3778624
KH
67562001-01-25 Kenichi Handa <handa@etl.go.jp>
6757
6758 * ccl.h (sturct ccl_program): New member suppress_error.
6759
bb264518 6760 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
6761 insert error message to the output.
6762 (setup_ccl_program): Initialize ccl->suppress_error to 0.
6763
6764 * coding.h (struct coding_system): New member suppress_error.
6765
6766 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
6767 (Fset_terminal_coding_system_internal): Set the member
6768 suppress_error to 1.
6769 (Fset_safe_terminal_coding_system_internal): Likewise.
6770
245ed2b1
SM
67712001-01-24 Stefan Monnier <monnier@cs.yale.edu>
6772
6773 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
6774 as if it was a `charset'.
6775
f9aaedb6
GM
67762001-01-24 Gerd Moellmann <gerd@gnu.org>
6777
6778 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
6779 value in where_is_cache; the next lookup in the cache returns
6780 something bogus if we do.
6781
c3902c3e
EZ
67822001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
6783
6784 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
6785 if HAVE_WINDOW_SYSTEM isn't defined.
6786
3497f73e
GM
67872001-01-24 Gerd Moellmann <gerd@gnu.org>
6788
e7e41584
GM
6789 * fns.c (sweep_weak_table): Fix code taking items out of
6790 the hash collision chain. Some cleanup.
6791
3497f73e
GM
6792 * xterm.c (x_new_font): Don't change a tooltip's size.
6793
6794 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
6795 background color by specifying a color for the default font
6796 in .Xdefaults.
6797
3d48e687
KH
67982001-01-24 Kenichi Handa <handa@etl.go.jp>
6799
96531b20
KH
6800 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
6801 a workaround for SunOS 4's cc.
6802 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
6803 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
6804 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
6805 statement.
3d48e687 6806
a30629d2
GM
68072001-01-23 Gerd Moellmann <gerd@gnu.org>
6808
6809 * xterm.c (x_set_window_size_1): New function extracted from
6810 x_set_window_size.
6811 (x_set_window_size): Use it.
6812 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
6813 doesn't have a widget, like tooltips.
6814
5a43decf
EZ
68152001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
6816
52283633 6817 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 6818
b0e98867
KH
68192001-01-23 Kenichi Handa <handa@etl.go.jp>
6820
6821 * fns.c (Fset_char_table_default): Fix to make sub char-table
6822 correctly.
6823
50606b4c
GM
68242001-01-22 Gerd Moellmann <gerd@gnu.org>
6825
cb2ddc53 6826 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
6827 a desired tool bar string, even if there are no tool bar items.
6828
57c28064
GM
6829 * xdisp.c (Ftool_bar_lines_needed): New function.
6830 (syms_of_xdisp): Defsubr it.
6831
50606b4c
GM
6832 * editfns.c (Fformat): Don't extend text properties from arguments
6833 to padding chars in the result.
6834
2f169c38
EZ
68352001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
6836
6837 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
6838
0f32f023
AI
68392001-01-20 Andrew Innes <andrewi@gnu.org>
6840
52283633 6841 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
6842 (w32_initialize): Don't set term hooks that aren't actually needed
6843 in windowed mode.
6844
6845 * xfaces.c (realize_default_face):
6846 (realize_face):
6847 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
6848
6849 * xdisp.c (handle_single_display_prop): Remove references to
6850 FRAME_W32_CONSOLE_P.
6851
52283633 6852 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
6853
6854 * frame.h (output_method): Remove output_w32_console method.
6855 (FRAME_W32_CONSOLE_P): Remove macro.
6856
6857 * frame.c (Qw32_console): Remove variable.
6858 (Fframep): Remove references to it.
6859 (syms_of_frame): Ditto.
6860 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
6861
6862 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
6863 redefinition.
6864
7173eada
KH
68652001-01-20 Kenichi Handa <handa@etl.go.jp>
6866
6867 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
6868
755b45ce
AI
68692001-01-19 Andrew Innes <andrewi@gnu.org>
6870
6871 * w32.c (init_environment): Add a version-independent site-lisp
6872 directory to EMACSLOADPATH, after the version dependent one.
6873
0a949811
GM
68742001-01-19 Gerd Moellmann <gerd@gnu.org>
6875
8501998a
GM
6876 * editfns.c (Fbuffer_substring): Doc fix.
6877
52283633
SM
6878 * xdisp.c (message_dolog, message2, message2_nolog):
6879 Rename parameter LEN to NBYTES.
0a949811 6880
e6ebcbbe
KH
68812001-01-19 Kenichi Handa <handa@etl.go.jp>
6882
200ecca2
KH
6883 * charset.c (strwidth): Use c_string_width.
6884 (c_string_width): New function.
6885 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
6886 Caller changed.
6887
6888 * charset.h (c_string_width, lisp_string_width): Extern them.
6889
52283633 6890 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 6891
e6ebcbbe
KH
6892 * indent.c (check_composition): Check validity of composition.
6893
200ecca2
KH
6894 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
6895 characters by calling c_string_width.
6896 (x_consider_frame_title): Get byte length of frame tile string
6897 correctly.
6898 (display_mode_element): Pay attention to width of non-ASCII
6899 characters by calling strwidth.
6900
8692ca92
GM
69012001-01-18 Gerd Moellmann <gerd@gnu.org>
6902
8962e303
GM
6903 * xfns.c (Qcancel_timer): New variable.
6904 (syms_of_xfns): Initialize and staticpro it.
6905 (Fx_hide_tip, Fx_show_tip): Use it.
6906 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6907 the timer.
6908 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
6909
91523be9
GM
6910 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
6911
6912 * window.h (WINDOW_LIVE_P): New macro.
6913
b0b7ed0e
GM
6914 * window.c (window_size_fixed): New variable.
6915 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
6916 the doc string.
6917
06bccf8e
GM
6918 * eval.c (specbind): If binding a per-buffer variable which
6919 doesn't have a buffer-local value in the current buffer, change
6920 the global value by changing the value of the symbol bound in all
6921 buffers not having their own value, to make it consistent with
6922 what happens with other buffer-local variables.
6923
8692ca92
GM
6924 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
6925
6926 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
6927 when searching for a newline.
6928
bb3a3b50
KH
69292001-01-18 Kenichi Handa <handa@etl.go.jp>
6930
6931 * xdisp.c (display_string): Fix previous change.
6932
c2cc16fa
JR
69332001-01-18 Jason Rumney <jasonr@gnu.org>
6934
6935 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
6936 GLYPH_DEBUG is defined.
6937 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
6938 true for images with `:ascent 100'.
6939 (x_set_mouse_face_gc): If the last used mouse face has gone in the
6940 meantime, use face MOUSE_FACE_ID.
6941 If first glyph isn't a character glyph, use the ASCII NUL
6942 character to determine the face.
6943 (expose_area): Do not treat left margin specially.
6944 (note_mode_line_highlight): If no local_map, check global keymap.
6945 (note_mouse_highlight): Initialize overlay.
52283633 6946 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
6947 (show_scroll_bars): Remove unused function.
6948 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
6949 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
6950 Clip to row.
52283633 6951 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
6952 (x_free_frame_resources): Unload relief colors.
6953
9c11f79e
GM
69542001-01-17 Gerd Moellmann <gerd@gnu.org>
6955
3aec8722 6956 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
6957 get_next_display_element when the newline is already found.
6958 This may change the iterator's position, when its current position is
3aec8722
GM
6959 equal to the iterator's stop_charpos.
6960
f3ffc2c3
GM
6961 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
6962 zero, use this method only at the end of a line.
6963
52283633 6964 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
6965 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
6966 if SCALABLE_FONTS_P is set.
52283633 6967
d26d6fd9
GM
6968 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
6969 so that scalable fonts are included.
6970
9c11f79e
GM
6971 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
6972 In the cache, use a key containing the information if scalable
6973 fonts are included.
6974 (x_load_font): Adapt to change of keys in the font cache.
6975
69762001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 6977
d26d6fd9
GM
6978 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
6979 XListFonts to take advantage of font caching.
6980
9c11f79e
GM
6981 * xterm.c (x_list_fonts): Ensure caching font information when
6982 called for a null frame, which is the case frequently when Emacs
6983 starts.
6984
51446987
GM
69852001-01-17 Gerd Moellmann <gerd@gnu.org>
6986
f864120f
GM
6987 * xfns.c (QCconversion): Replaces QCalgorithm.
6988
6989 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
6990
6991 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
6992 of :algorithm.
52283633 6993
e37d1417
GM
6994 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
6995 not everything could be displayed.
6996
51446987
GM
6997 * line.h, x-list-font.c: Files removed because unused.
6998
9ad4f3e5
AI
69992001-01-17 Andrew Innes <andrewi@gnu.org>
7000
7001 * dired.c (directory_files_internal): Convert result from readdir
7002 to a unibyte string initially, to avoid possible misinterpretation
7003 of some bytes as the internal form of Emacs characters.
7004
2eda09b5
KH
70052001-01-17 Kenichi Handa <handa@etl.go.jp>
7006
7007 * fns.c (concat): Be sure to avoid putting the same `composition'
7008 property on the adjacent regions.
7009
826f3788
GM
70102001-01-16 Gerd Moellmann <gerd@gnu.org>
7011
52283633 7012 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
7013 (Fscroll_right, Fscroll_left): Set it here instead, if called
7014 interactively.
7015
d57b83b3
GM
7016 * buffer.c (Fset_buffer_modified_p): Set buffer's
7017 prevent_redisplay_optimizations_p flag.
7018
826f3788 7019 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
7020 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
7021 with additional arg.
7022
7023 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
7024 Change prototype.
826f3788 7025
826f3788
GM
7026 * xdisp.c (redisplay_preserve_echo_area): Add parameter
7027 FROM_WHERE, for debugging.
7028
261d788b
KH
70292001-01-16 Kenichi Handa <handa@etl.go.jp>
7030
7031 * ccl.c (Fregister_ccl_program): Handle the return value of
7032 resolve_symbol_ccl_program correctly.
52283633 7033 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 7034
bccee4f2
GM
70352001-01-15 Gerd Moellmann <gerd@gnu.org>
7036
e4ded23c
GM
7037 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
7038 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
7039
7040 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
7041 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
7042 the display; we didn't open it.
7043
bccee4f2
GM
7044 * dispnew.c (save_or_restore_current_matrices): Function removed.
7045 (save_current_matrix, restore_current_matrix): New functions.
7046 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
7047 restore the frame's current matrix. Due to the glyph pointer
7048 setup done in adjust_glyph_matrix, there is no easy way to make
7049 saving the current matrix in the desired matrix generally correct,
7050 so don't try it.
7051
ebeccffa
KH
70522001-01-15 Kenichi Handa <handa@etl.go.jp>
7053
7054 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
7055 truncation glyphs.
7056 (display_line): Optimize for wide characters.
e4ded23c 7057 (display_string): Don't try to display a multi-column character
ebeccffa
KH
7058 partially. On ttys, produce more than one truncation glyph for
7059 multi-column characters that don't fit on the line.
7060
64388126
KH
70612001-01-13 Kenichi Handa <handa@etl.go.jp>
7062
52283633
SM
7063 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
7064 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 7065
8edb0a6f
JR
70662001-01-13 Jason Rumney <jasonr@gnu.org>
7067
7068 * w32fns.c (Fimage_size, image_ascent, lookup_image)
7069 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
7070 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7071 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 7072
52283633
SM
7073 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
7074 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
7075 (x_draw_image_glyph_string): Adapt to change of image margins.
7076
7077 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
7078 variables.
7079
7080 * w32bdf.c (search_file_line, get_cached_font_char)
7081 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
7082
7083 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
7084
7085 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
7086 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
7087 (Fw32_send_sys_command): Remove unused variables.
7088 (w32_msg_pump): Add parentheses.
7089
7090 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
7091 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
7092 Add parentheses.
7093
4956d1ef
GM
70942001-01-12 Gerd Moellmann <gerd@gnu.org>
7095
b30623be
GM
7096 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
7097 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
7098 being a pair of margins.
7099 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
7100 to DEFVAR_LISP. Extend doc.
7101
7102 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
7103 margins.
7104 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
7105 pair of integers `(X . Y)', use X for the horizontal and Y for the
7106 vertical margin.
7107 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
7108 (parse_image_spec): Check it.
52283633
SM
7109 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7110 (tiff_format, gif_format, gs_format):
7111 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 7112
52283633
SM
7113 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
7114 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
7115 (x_draw_image_glyph_string): Adapt to the change of image margins.
7116
7117 * dispextern.h (struct image): Replace member `margin' with
7118 `hmargin' and `vmargin'.
7119
4554cc79
GM
7120 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
7121 and GLYPHS.
7122
7123 * dispnew.c (update_text_area): Put code which decrements the
7124 stop position when the row's face extends to the end of the
3bffc665 7125 line in #if 0.
4554cc79 7126
3cccce8d
GM
7127 * xfns.c (x_set_mouse_color): Fix color allocation.
7128
4956d1ef
GM
7129 * keyboard.c: Call get_local_map with new argument list.
7130
7131 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
7132
7133 * intervals.h (enum map_property): Removed.
7134 (get_local_map): Change prototype.
7135
7136 * keymap.c: Call get_local_map with new argument list.
7137 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
7138
2c2ff7f2
GM
71392001-01-11 Gerd Moellmann <gerd@gnu.org>
7140
a23887b9
GM
7141 * xdisp.c (build_desired_tool_bar_string): Correct the computation
7142 of the size needed for the tool bar string. For the last image,
7143 use a `display' property that reaches to the end of the string.
7144
a7ee2d2e
GM
7145 * xselect.c (selection_request_dpyinfo): New variable.
7146 (x_handle_selection_request): Set it.
7147 (x_selection_request_lisp_error): Don't call
7148 x_decline_selection_request if selection request's display has
7149 been closed.
7150
52283633
SM
7151 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
7152 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 7153
457b792c
GM
71542001-01-10 Dave Love <fx@gnu.org>
7155
7156 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
7157 ${SOME_MACHINE_LISP}, not ${lisp}.
7158
c1efd260
GM
71592001-01-10 Gerd Moellmann <gerd@gnu.org>
7160
52283633
SM
7161 * xdisp.c (display_line): On ttys, produce more than one truncation
7162 glyph for multi-column characters that don't fit on the line.
a98b5ed9 7163
ac95a621
GM
7164 * xselect.c (x_reply_selection_request): Add a comment.
7165
c1efd260
GM
7166 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
7167 XkbGetNames instead of XkbGetKeyboard.
7168
1bfb1345
DL
71692001-01-10 Dave Love <fx@gnu.org>
7170
7171 * sysdep.c (random): Revert the declaration.
7172
38119822
GM
71732001-01-09 Gerd Moellmann <gerd@gnu.org>
7174
52283633
SM
7175 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
7176 Call function string_bytes.
35f464a7
GM
7177 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
7178
7179 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
7180 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
7181 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
7182 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
7183 the current sblock.
7184 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
7185 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
7186 after sweeping strings, and at the end.
7187 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
7188
38119822
GM
7189 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
7190 ensure that pop_message is called.
7191
7192 * keyboard.c (Fexecute_extended_command): Use a
7193 record_unwind_protect to ensure that pop_message is called.
7194
7195 * lisp.h (push_message_unwind): Add prototype.
7196
7197 * xdisp.c (push_message_unwind): New function.
7198
7199 * fileio.c (do_auto_save_unwind): Do the pop_message here
7200 instead of in Fdo_auto_save.
7201 (Fdo_auto_save): Don't call pop_message.
7202
f47a9ec4
KR
72032001-01-08 Ken Raeburn <raeburn@gnu.org>
7204
7205 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
7206 in inner block.
7207
a758f97d
GM
72082001-01-08 Gerd Moellmann <gerd@gnu.org>
7209
6d0afc03
GM
7210 * window.c (window_scroll_pixel_based): Adjust glyph matrices
7211 when increasing window's vscroll.
7212
a758f97d
GM
7213 * macros.c (Qkbd_macro_termination_hook): New variable.
7214 (syms_of_macros): Initialize and staticpro it.
7215 (pop_kbd_macro): Run kbd-macro-termination-hook.
7216
7217 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
7218
1bfb1345 72192001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
7220
7221 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
7222 arglist, for documentation's sake.
7223
0dac6924
AI
72242001-01-06 Andrew Innes <andrewi@gnu.org>
7225
7226 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
7227 of *.pdb.
7228
8182406a
AI
72292001-01-05 Andrew Innes <andrewi@gnu.org>
7230
7231 * term.c (update_end): Don't check updating_frame; for some reason
7232 this can be 0 sometimes, such as after dismissing a popup menu,
7233 and isn't necessary given the explicit frame argument.
7234
3828218c
GM
72352001-01-05 Gerd Moellmann <gerd@gnu.org>
7236
7237 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
7238 on some systems, and an unsigned long on others, like FreeBSD 4.1.
7239
2f5ded21
GM
72402001-01-04 Gerd Moellmann <gerd@gnu.org>
7241
52283633 7242 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
7243
7244 * xfns.c (x_create_tip_frame): Preserve the value of
7245 face_change_count around the creation of the tip frame.
52283633 7246
2f5ded21
GM
7247 * xfns.c (last_show_tip_args): New variable.
7248 (compute_tip_xy): New function.
7249 (Fx_show_tip): Reuse an existing tip frame, if possible.
7250 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
7251
dfad65fa
DL
72522001-01-04 Dave Love <fx@gnu.org>
7253
64d4ec0f
DL
7254 * editfns.c (Fformat): Doc fix.
7255
dfad65fa
DL
7256 * systime.h (set_file_times): Prototype.
7257
7258 * widget.h (EmacsFrameSetCharSize_): Prototype.
7259
7260 * sysdep.c (random, srandom): Declare explicitly.
7261
7262 * dispextern.h (move_it_vertically_backward): Declare.
7263
85fe3b5e
GM
72642001-01-04 Gerd Moellmann <gerd@gnu.org>
7265
0f2ac578
GM
7266 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
7267 like in Fx_create_frame.
7268
482cca61
GM
7269 * xfaces.c (set_font_frame_param): Don't do anything for
7270 non-graphical frames.
7271
85fe3b5e
GM
7272 * window.c (Fdelete_other_windows): Set window's window_end_valid
7273 to nil when changing the window's start. Don't change the
7274 window's start when its top position hasn't changed. If we do,
7275 this will set the window's optional_new_start, which act's like a
7276 force_start during redisplay with C-x 1 M-> under particular
7277 circumstances (see report from Per Starback to emacs-pretest-bug
7278 from 2000-12-13.).
7279
3e99d3b4
GM
72802001-01-03 Gerd Moellmann <gerd@gnu.org>
7281
a77dc1ec
GM
7282 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
7283 short cut at the start of the function. Add an assertion.
7284 (reseat_at_next_visible_line_start): Add an assertion.
7285
2f3cad6c
GM
7286 * window.c (Frecenter): When changing the window start, set the
7287 window's window_end_valid to nil.
7288 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
7289
7290 * dispextern.h (move_it_past_eol): Add prototype.
7291
7292 * xdisp.c (move_it_past_eol): New function.
7293
3e99d3b4
GM
7294 * window.c (Fwindow_end): Doc fix.
7295
72962001-01-03 Dave Love <fx@gnu.org>
7297
52283633 7298 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 7299
bafb434c
GM
73002001-01-03 Gerd Moellmann <gerd@gnu.org>
7301
7302 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
7303 the enabled_p flag of the glyph row at window_end_vpos to 0.
7304 (handle_single_display_prop): Fix last change.
7305
5297fb00
RS
73062001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7307
7308 * window.c (Frecenter): Doc fix.
7309
13d6a61c
AI
73102001-01-02 Andrew Innes <andrewi@gnu.org>
7311
7312 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
7313
7314 * frame.h (output_method): Add output_w32_console method.
7315 (FRAME_W32_CONSOLE_P): New macro.
7316
7317 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
7318 use output_w32_console method.
7319 (Qw32_console): New Lisp_Object.
7320 (Fframep): Return it.
7321 (syms_of_frame): Init it.
52283633 7322 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
7323
7324 * xfaces.c (realize_default_face): Set face foreground and
7325 background to unspecified for w32_console frames.
7326 (realize_face): Realize face cache for w32_console frames.
7327 (realize_tty_face): Accept w32_console frames.
7328
52283633 7329 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
7330 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
7331 necessary, even if running interactively.
7332
7333 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
7334 w32_console frames.
7335
52283633
SM
7336 * w32term.c (x_update_begin):
7337 (x_update_end):
7338 (x_clear_frame):
7339 (x_ins_del_lines):
7340 (x_change_line_highlight):
7341 (x_delete_glyphs):
7342 (w32_ring_bell):
7343 (x_update_begin):
7344 (x_update_end):
7345 (w32_reassert_line_highlight):
7346 (w32_frame_rehighlight):
13d6a61c
AI
7347 (w32_frame_raise_lower): Do nothing if not w32 frame.
7348
7349 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
7350
7351 * w32fns.c (Fx_display_color_cells): Determine correct value, when
7352 system doesn't tell us directly.
7353 (Fx_display_visual_class): Implement properly.
7354
d6bb0c0d
GM
73552001-01-02 Gerd Moellmann <gerd@gnu.org>
7356
7357 * window.c (Frecenter): Handle centering in graphical frames
7358 specially. Centering on the basis of line counts doesn't work
7359 reliably with variable-height lines.
52283633 7360
315f5865
EZ
73612001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7362
7363 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
7364 and al[].
7365
52283633 7366 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
7367 (update_compositions): Remove unused variable `hook'.
7368
7369 * intervals.c (get_local_map): Remove unused variable `tem'.
7370
7371 * doprnt.c (doprnt1): Remove unused variable `size'.
7372
7373 * fns.c (Flength): Remove unused variable `tail'.
7374 (Fdelete): Remove unused variable `size'.
7375
7376 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
7377 and `gcpro2'.
7378
52283633 7379 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
7380
7381 * data.c (find_symbol_value): Remove extra 3rd argument in the
7382 call to swap_in_symval_forwarding.
7383
52283633 7384 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
7385
7386 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
7387 (trivial_regexp_p): Remove unused variable `c'.
7388 (boyer_moore): Remove unused variable `k'.
7389
7390 * indent.c (current_column): Remove unused variable `stopchar'.
7391 (Fcompute_motion): Remove unused variable `contin'.
7392
7393 * casefiddle.c (casify_object): Remove unused variable `tolen'.
7394
7395 * dired.c (directory_files_internal): Fix a typo in a comment.
7396 Remove an unused variable `handler'.
52283633 7397 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
7398 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
7399 on BSD4_2.
7400
52283633 7401 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
7402
7403 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
7404 and `buf'.
7405 (Fmarker_insertion_type): Remove unused variable `buf'.
7406
7407 * insdel.c (make_gap): Remove unused variable `result'.
7408
52283633 7409 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
7410 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
7411 (menu_bar_items): Remove unused function-scope variable `tem'.
7412
7413 * fontset.c (fontset_ref): Remove unused variable `i'.
7414 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 7415 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
7416 (make_fontset_for_ascii_face): Remove unused variable `name'.
7417 (fs_load_font): Remove unused variable `font_idx'.
52283633 7418 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
7419 (list_fontsets): Remove unused variable `tail'.
7420 (Fnew_fontset): Remove unused variables `family' and `registry'.
7421 (accumulate_font_info): Remove unused variable `tmp'.
7422 (Ffontset_font): Remove unused variable `id'.
7423 (syms_of_fontset): Remove unused variable `i'.
7424
7425 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
7426 to x_term_init.
7427 (lookup_image): Remove unused variable `file'.
7428 (xbm_load): Remove unused variables `bitmap_data', `height', and
7429 `width'. Remove function-local variable `i', leave the
7430 block-local one.
7431 (gif_load): Remove unused variable `inc'.
7432
52283633 7433 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
7434 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
7435 leave only the one in the inner block.
7436
7437 * xfaces.c (face_fontset, realize_default_face): Remove unused
7438 variable `fontset'.
7439 (face_at_buffer_position): Remove unused variable `multibyte_p'.
7440
7441 * term.c (encode_terminal_code): Remove unused variable `c'.
7442
7443 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
7444 char *' instead of `char *'.
7445
7446 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 7447 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
7448 (Fchar_category_set): Remove unused variables `val', `charset',
7449 `c1' and `c2'.
7450
52283633
SM
7451 * coding.c (detect_coding_iso2022, setup_coding_system):
7452 Remove unused variable `i'.
315f5865
EZ
7453 (detect_coding_mask): Remove unused variable `idx'.
7454 (detect_coding): Remove unused variable `i'.
7455 (ccl_coding_driver): Remove unused variable `result'.
7456 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 7457 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
7458 (encode_coding_string): Remove unused variables `gcpro1' and
7459 `saved_coding_symbol'.
7460 (Ffind_coding_systems_region_internal): Remove function-local
7461 variable args[], leave only the block-local one.
7462 (code_convert_region1): Remove unused variable `len'.
7463
7464 * charset.c (char_printable_p): Remove unused variable `chars'.
7465 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
7466 (str_to_multibyte): Remove unused variable `c'.
7467
7468 * window.c (size_window): Remove block-local variable `min_size'.
7469
7470 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
7471 `header_line_height'.
7472 (append_space, extend_face_to_end_of_line): Declare `saved_what'
7473 enum display_element_type.
7474
1a8a9daf
GM
74752001-01-02 Gerd Moellmann <gerd@gnu.org>
7476
6dde6abc 7477 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
7478 statements that call X. Save away the error message in a local copy.
7479
1883b2c6
GM
7480 * xterm.c (x_connection_closed): Set handling_signal to 0 at
7481 the start.
7482
a13be207
GM
7483 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
7484 in or at the start of invisible text.
7485
1a8a9daf
GM
7486 * dispnew.c (update_window): Don't check_current_matrix_flags.
7487
3608c0f9
JR
74882001-01-01 Jason Rumney <jasonr@gnu.org>
7489
7490 * w32fns.c (x_figure_window_size): Do not allow new_height and
7491 new_width of frame to override specified values.
7492
abb1acc4
KH
74932000-12-30 Kenichi Handa <handa@etl.go.jp>
7494
52283633 7495 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 7496
762a68ec
GM
74972000-12-29 Gerd Moellmann <gerd@gnu.org>
7498
52283633 7499 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
7500 (update_window) [GLYPH_DEBUG]: Call it.
7501 (scrolling_window): Prevent including current rows which are below
7502 what's displayed in the window.
7503
7504 * xdisp.c (try_window_reusing_current_matrix)
7505 <new start <= old start>: Disable rows in the current matrix
7506 which are below the window after scrolling.
52283633 7507
762a68ec
GM
7508 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
7509 is zero. It's not worth the complexity.
7510 (invisible_text_between_p): Put in #if 0 because unused.
7511
2d5912c1
GM
75122000-12-28 Gerd Moellmann <gerd@gnu.org>
7513
46f6a258
GM
7514 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
7515 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
7516
89f93679
GM
7517 * keyboard.c (echo_char): If C is an integer, always call
7518 push_key_description. Former code could signal an invalid
7519 character error.
7520
7521 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
7522 If set, print multibyte text.
7523 (Fsingle_key_description): Call push_key_description with
7524 FORCE_MULTIBYTE set.
7525 (describe_buffer_bindings): Likewise.
7526
7527 * lisp.h (push_key_description): Add prototype.
7528
c06017fb
GM
7529 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
7530 around the call to redisplay_internal.
7531
f1d2ce7f
GM
7532 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7533
2d5912c1
GM
7534 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7535
9371f831
KH
75362000-12-28 Kenichi Handa <handa@etl.go.jp>
7537
7538 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
7539 (ccl_driver): New local variable `extra_bytes'.
7540
7541 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
7542
52283633
SM
7543 * coding.c (setup_coding_system):
7544 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
7545 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
7546
0c80628a
KH
75472000-12-28 Kenichi Handa <handa@etl.go.jp>
7548
7549 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
7550 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
7551 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
7552 (decode_composition_emacs_mule): New function.
7553 (decode_coding_emacs_mule): Decode composition sequence by calling
7554 decode_composition_emacs_mule.
7555 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
7556 (encode_coding_emacs_mule): Changed from macro to function.
7557 If a text contains compositions, encode them correctly.
0c80628a
KH
7558 (setup_coding_system): Set coding->commong_flags for emacs-mule so
7559 that decoding and encoding are required.
7560
3e32cc27
GM
75612000-12-27 Gerd Moellmann <gerd@gnu.org>
7562
5e25feee
GM
7563 * xfaces.c (PT_PER_INCH): New macro.
7564 (xlfd_point_size): Compute real point size from font's pixel size.
7565 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
7566 instead of 72.
7567
892d8fcd
GM
7568 * .gdbinit: Comment out the line pointing to the Lesstif source
7569 directory.
7570
12c8b416
GM
7571 * window.c (Frecenter): Use displayed_window_lines instead
7572 of window_internal_height.
7573
6061fbf0
GM
7574 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7575 instead of x-toolkit-scroll-bars-p.
7576 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7577
7578 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7579 instead of x-toolkit-scroll-bars-p.
7580 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 7581
3e32cc27
GM
7582 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
7583 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
7584 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
7585 New variables.
7586 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
7587 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
7588 (build_frame_matrix_from_leaf_window): Remove unused code.
7589 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
7590 redisplay history.
7591 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
7592 (update_window) [GLYPH_DEBUG]: Likewise.
7593 (syms_of_display): Defsubr dump-redisplay-history.
7594
31798cfe
GM
75952000-12-23 Gerd Moellmann <gerd@gnu.org>
7596
f717c2ba
GM
7597 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
7598 the end of the prompt. Set echo_after_prompt to the offset
7599 of echoptr in echobuf.
7600
aeb2b8fc
GM
7601 * xdisp.c (init_from_display_pos): Pop until the iterator's
7602 stack is empty; there may be frames for stretch or images
7603 on the stack.
7604
31798cfe
GM
7605 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
7606 (save_or_restore_current_matrix): New function for the same
7607 purpose, but more efficient.
7608 (adjust_frame_glyphs_for_frame_redisplay): Use it.
7609
f8156156
EZ
76102000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
7611
7612 * xdisp.c (syms_of_xdisp): Fix last change.
7613
bdd6d4e8
GM
76142000-12-23 Gerd Moellmann <gerd@gnu.org>
7615
7616 * xdisp.c (syms_of_xdisp): Doc fix.
7617
7618 * xdisp.c (redisplay_window): Remove label restore_buffers;
7619 use finish_scroll_bars instead to make sure that scroll bars
7620 are redeemed. If we don't do this, flickering can result from
7621 scroll bars being destroyed and recreated.
7622
9436cdf9
JR
76232000-12-22 Jason Rumney <jasonr@gnu.org>
7624
7625 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
7626 in the wrong colors when the foreground is not black.
7627 (expose_window): Don't redraw the window that's currently being
7628 updated.
7629
951f9df5
GM
76302000-12-22 Gerd Moellmann <gerd@gnu.org>
7631
856ff7a7
GM
7632 * window.c (size_window): When setting the window's too_small_ok
7633 flag, compare old size with minimum size depending on WIDTH_P,
7634 don't compare with window_min_width.
52283633 7635
951f9df5
GM
7636 * window.c (delete_window): Simplify somewhat.
7637 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
7638 freeing window matrices. The flag windows_or_buffers_changed is
7639 set, so the next redisplay will consider all windows; this should
7640 suffice.
7641
886bc933
KH
76422000-12-22 Kenichi Handa <handa@etl.go.jp>
7643
7644 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
7645
7646 * ccl.h (struct ccl_program): New member cr_consumed.
7647
7648 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
7649 (CCL_READ_CHAR): Handle EOL conversion here.
7650 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
7651
177f4e88
GM
76522000-12-21 Gerd Moellmann <gerd@gnu.org>
7653
52283633 7654 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
7655
7656 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
7657 otherwise tabs of different size compare equal.
7658
7659 * callint.c (Fcall_interactively): Prevent a compiler warning.
7660
7661 * print.c (print_unwind): Return nil.
7662 (PRINTDECLARE): Initialize all local variables.
7663 (print_preprocess): Add a default case.
7664
8e15274f
GM
7665 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
7666
7667 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
7668
52283633 7669 * window.c (delete_window, Fsplit_window)
177f4e88
GM
7670 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
7671
7672 * dispextern.h (ensure_frame_matrix): Function declaration removed.
7673
7674 * dispnew.c (ensure_frame_matrix): Removed.
7675 (save_frame_matrix, restore_frame_matrix): New functions.
7676 (adjust_frame_glyphs_for_frame_redisplay): Use them.
7677
7678 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
7679 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
7680
99012074
AI
76812000-12-21 Andrew Innes <andrewi@gnu.org>
7682
7683 * w32term.c (x_update_begin): Regenerate the palette here, rather
7684 than for each window.
7685
7686 * w32xfns.c (select_palette): Avoid calling SelectPalette if
7687 palette is NULL, since this corrupts memory! Also get
7688 display_info reference from frame.
7689
29ef7d2d
JR
76902000-12-21 Jason Rumney <jasonr@gnu.org>
7691
7692 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
7693
7694 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
7695 to avoid returning without releasing it.
3e27fa1f 7696
3f9d67a6
KH
76972000-12-21 Kenichi Handa <handa@etl.go.jp>
7698
587fc3f9
KH
7699 * keymap.c (push_key_description): Don't convert eight-bit-control
7700 and eight-bit-graphic to multibyte character.
7701
3f9d67a6
KH
7702 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
7703 generic character and CODE1 is nil, return the smallest character
7704 in CHARSET.
7705
774ba8c9
DL
77062000-12-20 Dave Love <fx@gnu.org>
7707
7708 * s/osf5-0.h (NSIG): Don't redefine.
7709
88416888
SM
77102000-12-20 Stefan Monnier <monnier@cs.yale.edu>
7711
7712 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
7713 excluding menu-bar and tool-bar.
7714 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
7715 (menu_item_p): Remove.
7716 (where_is_internal_1): Don't ignore menu-items.
7717
a6426c6f
GM
77182000-12-20 Gerd Moellmann <gerd@gnu.org>
7719
03ff8aab
GM
7720 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
7721 into account.
7722
7723 * window.c (make_window): Initialize window's min_hscroll.
7724 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
7725 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
7726 to zero.
7727 (struct saved_window): New member min_hscroll.
7728 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
7729 (Fset_window_configuration): Set window's min_hscroll.
7730 (save_window_save): Save window's min_hscroll.
7731 (compare_window_configurations): Compare min_hscroll values.
7732
7733 * window.h (struct window): New member min_hscroll.
7734
7735 * keyboard.c (echo_prompt): Prevent a compiler warning.
7736
8de4aaf8
GM
7737 * xdisp.c (try_cursor_movement): Fix last change. The real
7738 condition is that PT is at the end of the row, and should
7739 be displayed at the start of the next row.
52283633 7740
3f7e3031
GM
7741 * xdisp.c (try_cursor_movement): If we end on a partially
7742 visible line, end we already decided to scroll, return -1.
7743
a6426c6f
GM
7744 * dispextern.h (ensure_frame_matrix): Add prototype.
7745
7746 * window.c (delete_window, Fsplit_window)
7747 (Fset_window_configuration): Call ensure_frame_matrix.
7748
52283633
SM
7749 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
7750 New functions.
a6426c6f
GM
7751 (adjust_frame_glyphs_for_frame_redisplay): If display has been
7752 completed, call fake_current_matrices instead of marking frame
7753 garbaged.
7754
57fa2774
JR
77552000-12-20 Jason Rumney <jasonr@gnu.org>
7756
7757 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
7758
d925df90
EZ
77592000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
7760
7761 * fns.c (Frequire): Doc fix.
7762
7b93a85b
GM
77632000-12-19 Gerd Moellmann <gerd@gnu.org>
7764
52283633 7765 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 7766
c74e645b
GM
7767 * dispnew.c (direct_output_for_insert): Fix check for mini-window
7768 currently displaying a message.
7769
7b93a85b
GM
7770 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
7771 xterm.h.
7772 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
7773
90d97e64
AI
77742000-12-18 Andrew Innes <andrewi@gnu.org>
7775
7776 * w32.c (w32_strerror): New function.
7777
7778 * w32.h (w32_strerror): New extern.
7779
7780 * w32fns.c (Fw32_shell_execute): Use it.
7781
91c9e6ce
GM
77822000-12-18 Gerd Moellmann <gerd@gnu.org>
7783
7784 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
7785
6f4745e2
EZ
77862000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7787
7788 * msdos.c (IT_set_face): Obey inverse_video.
7789
c9e088ce
KH
77902000-12-18 Kenichi Handa <handa@etl.go.jp>
7791
7792 * dired.c (directory_files_internal): Always return decoded filenames.
7793
c3695f5f
GM
77942000-12-18 Gerd Moellmann <gerd@gnu.org>
7795
52d8e4ff
GM
7796 * xterm.c (x_connection_closed): Prevent being called recursively
7797 because of an error condition in XtCloseDisplay.
52283633 7798
62be9979
GM
7799 * xdisp.c (init_iterator): If noninteractive, and the frame's
7800 face cache is null, make one.
7801
52283633 7802 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 7803
c3695f5f
GM
7804 * process.c (wait_reading_process_input): Check for pending
7805 input when running timers.
7806
78555fbe
EZ
78072000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7808
52283633 7809 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 7810
b2b36264
KH
78112000-12-18 Kenichi Handa <handa@etl.go.jp>
7812
7813 * process.c (read_process_output): Don't run a filter if the code
7814 decoder produces nothing but carryover.
7815
9c543fbf
AI
78162000-12-17 Andrew Innes <andrewi@gnu.org>
7817
7818 * w32.c (sys_rename): Only check errno against EEXIST, and not
7819 EACCES, when determining whether rename failed because the target
7820 exists. This was resulting in indefinite looping on Windows 9x if
7821 the source file was locked by another process.
7822
7823 * w32fns.c (Ffile_system_info): New function.
7824 (syms_of_w32fns): Defsubr it.
7825
10c2b5a8
GM
78262000-12-17 Gerd Moellmann <gerd@gnu.org>
7827
b0228ace
GM
7828 * window.c (coordinates_in_window): Fix computation for
7829 position on vertical line between mode lines.
7830
10c2b5a8
GM
7831 * xfns.c (unwind_create_frame): Return t if frame was deleted.
7832 Don't alter tip_frame or tip_window.
7833 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7834 was deleted.
7835
c844a81a
GM
7836 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
7837 Don't alter tip_frame or tip_window.
7838 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7839 was deleted.
7840
6c825f8e
EZ
78412000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
7842
7843 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
7844 be consistent with the doc string. Reported by NAKAJIMA Mikio
7845 <minakaji@osaka.email.ne.jp>.
7846
af4bb4c8
KH
78472000-12-16 Kenichi Handa <handa@etl.go.jp>
7848
7849 * xfaces.c (Vface_ignored_fonts): New variable.
7850 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
7851 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
7852
8062e53a
GM
78532000-12-15 Gerd Moellmann <gerd@gnu.org>
7854
e87b8809
GM
7855 * dispnew.c (update_window): Detect pending input every nth line
7856 updated, i.e. do it depending on real work done, and not on the
7857 vpos of the line.
7858
7859 * xterm.c (expose_window): Don't redraw the window that's
7860 currently being updated.
7861
a6768cc5
GM
7862 * window.c (Fset_window_point): Remove test for
7863 cursor_in_non_selected_windows.
7864
4ea7fdca
GM
7865 * lread.c (read1): Recognize end of file after `\\'.
7866
8062e53a
GM
7867 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
7868 not unwind_create_frame.
7869
bb7959c1
GM
78702000-12-15 Dave Love <fx@gnu.org>
7871
7872 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
7873 bcopy & al.
7874
7875 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
7876
ced04c42
KH
78772000-12-15 Kenichi Handa <handa@etl.go.jp>
7878
c5443913
KH
7879 * coding.c (setup_coding_system): Clear all members of the struct
7880 coding_system at first.
bc137305
KH
7881 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
7882 argument.
7883 (code_convert_region): Don't override coding->src_multibyte and
7884 coding->dst_multibyte.
c5443913 7885
ced04c42
KH
7886 * fns.c (Fmd5): Docstring improved.
7887
c2d7f289
MB
78882000-12-15 Miles Bader <miles@gnu.org>
7889
7890 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
7891 are actually marked as mode-lines; otherwise use
7892 estimate_mode_line_height.
7893
9d7d9263
GM
78942000-12-14 Gerd Moellmann <gerd@gnu.org>
7895
7896 * editfns.c (Fformat): Prevent a buffer overrun when the format
7897 specifies a precision.
7898
7cf0153a
EZ
78992000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
7900
7901 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
7902 argument is outside the range [2..3].
7903
1de0f662
AI
79042000-12-14 Andrew Innes <andrewi@gnu.org>
7905
7906 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
7907 nothing to do. Bind inhibit-quit.
7908 (tip_frame): Make it a Lisp_Object.
7909 (x_create_tip_frame): Set tip_frame after it has been added to
7910 Vframe_list.
7911 (Fx_show_tip): Don't set tip_frame here.
52283633 7912 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
7913 (unwind_create_frame, unwind_create_tip_frame): New functions.
7914 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7915 while a frame is only partially constructed.
7916
7917 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7918 (x_free_frame_resources): New function.
7919 (x_destroy_window): Use it.
7920
02387dcc
GM
79212000-12-14 Gerd Moellmann <gerd@gnu.org>
7922
7923 * xfns.c (Fx_backspace_delete_keys_p): New function.
7924 (syms_of_xfns): Defsubr it.
7925
7926 * config.in (HAVE_XKBGETKEYBOARD): Add.
7927
0544ef49
KH
79282000-12-14 Kenichi Handa <handa@etl.go.jp>
7929
98d62747
KH
7930 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
7931 Always store string in multibyte representation in echobuf.
7932 (echo_char): Always store string in multibyte representation in
7933 echobuf.
7934 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
7935 (read_key_sequence): Adjusted for the change of echo_prompt.
7936
a20193cd
KH
7937 * fns.c (Fmd5): Docstring improved.
7938
191b83b6
KH
7939 * lisp.h (detect_coding_system): Prototype adjusted.
7940
0544ef49
KH
7941 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
7942 (detect_coding_emacs_mule, detect_coding_iso2022,)
7943 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
7944 (detect_coding_utf_16, detect_coding_ccl): Make them static.
7945 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
7946 (detect_coding_mask, detect_coding_system): New argument
7947 MULTIBYTEP. Callers changed.
1da1bb05
KH
7948 (decode_coding_string): Set coding->src_multibyte and
7949 coding->dst_multibyte before calling detect_coding and detect_eol.
7950 Update them after some coding system is detected.
52283633 7951
d5b3eb1b
SM
79522000-12-13 Stefan Monnier <monnier@cs.yale.edu>
7953
7954 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
7955
7956 * keyboard.c (menu_bar_items, tool_bar_items):
7957 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
7958
f7f8bb69
GM
79592000-12-13 Gerd Moellmann <gerd@gnu.org>
7960
52283633 7961 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
7962 New variables.
7963 (unwind_create_frame, unwind_create_tip_frame): New functions.
7964 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7965 while a frame is only partially constructed.
7966
7967 * xterm.h (x_free_frame_resources): Declare.
7968
7969 * xterm.c (x_free_frame_resources): New function.
7970 (x_destroy_window): Use it.
7971
e10da507
GM
7972 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
7973 don't interrupt the update for pending input initially, i.e.
7974 update at least some lines.
7975
7976 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 7977
d5b3eb1b 7978 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
7979
7980 * xfns.c (gray_bitmap_bits): Declare `char *'.
7981
90aa2856
GM
79822000-12-12 Gerd Moellmann <gerd@gnu.org>
7983
7984 * xdisp.c (display_tool_bar_line): Make sure that tool bar
7985 lines start with a relief line.
7986
a308c9cd
DL
79872000-12-12 Dave Love <fx@gnu.org>
7988
7989 * window.c (Fdisplay_buffer): Doc fix.
7990 (Fwindow_list): Remove unused var.
7991
7992 * buffer.h (mmap_set_vars): Declare.
7993
7994 * window.h (Fset_window_point): Declare.
7995
d575011f
EZ
79962000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
7997
bf6282d2 7998 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
7999 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
8000 variable `area'. When looking for a row under (X,Y), give up if some
8001 of the previous rows is not enabled.
d575011f 8002
ecf4d726
GM
80032000-12-12 Gerd Moellmann <gerd@gnu.org>
8004
2ebf6139
GM
8005 * window.c (Fset_window_point): If displaying cursors in windows
8006 other than the selected window, make sure redisplay updates
8007 other windows to show the new value of point in the window.
8008
8009 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
8010
bfdb75ee
GM
8011 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
8012 the buffer is the sole visible buffer when in the mini-buffer.
8013
52283633 8014 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
8015 Bind `inhibit-read-only' to t.
8016 (unwind_with_echo_area_buffer): Use AREF.
8017
c0006262
GM
8018 * xfns.c (Fx_hide_tip): Simplified.
8019
52283633
SM
8020 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
8021 instead of `1'.
e9a59cad 8022
ecf4d726
GM
8023 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
8024
e5959a9a
GM
80252000-12-11 Gerd Moellmann <gerd@gnu.org>
8026
a3642e49 8027 * xfns.c (Fx_hide_tip): Fix last change.
52283633 8028
44b5a125
GM
8029 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
8030 nothing to do. Bind inhibit-quit.
8031 (tip_frame): Make it a Lisp_Object.
8032 (x_create_tip_frame): Set tip_frame after it has been added to
8033 Vframe_list.
8034 (Fx_show_tip): Don't set tip_frame here.
8035
8036 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
8037
8038 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
8039 Lisp_Object.
8040
8041 * dispextern.h: Change external declaration of tip_frame.
8042
d990421f
GM
8043 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
8044 return an empty string.
8045
4db87380
GM
8046 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
8047 of the window's update_mode_line flag, since the former is set by
8048 force-mode-line-update, not the latter. This makes
8049 column-number-mode slightly faster.
52283633 8050
e5959a9a
GM
8051 * xdisp.c (try_window_id) <all changes above window start>:
8052 Set the cursor.
8053
169fe44e
GM
80542000-12-11 Paul Eggert <eggert@twinsun.com>
8055
8056 * config.in (HAVE_FTELLO): Remove.
8057 (HAVE_FSEEKO): Add.
8058 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
8059 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
8060 HAVE_FTELLO.
8061 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
8062 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 8063
59ec59ae
MB
80642000-12-11 Miles Bader <miles@gnu.org>
8065
8066 * window.c (displayed_window_lines): Don't round up when
8067 converting empty space at bottom to lines.
ff904dd6
MB
8068 Handle non-newline-terminated final lines properly.
8069 (Fwindow_text_height): New function (used to be in lisp).
8070 (syms_of_window): Initialize it.
59ec59ae 8071
42ebfa31
SM
80722000-12-09 Stefan Monnier <monnier@cs.yale.edu>
8073
8074 * syntax.c (scan_lists): Check that the right quote char has the
8075 right Sstring syntax when jumping over strings.
8076 (init_syntax_once): Use Smax rather than 13.
8077
5cdb3cf3
MB
80782000-12-09 Miles Bader <miles@gnu.org>
8079
8080 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
8081 with PARTIALLY, inverting the sense.
8082 (window_scroll_pixel_based): Scroll partially visible lines into
8083 place if we hit the beginning or end of the buffer.
a12167c5
MB
8084 (displayed_window_lines): Don't include partially visible lines.
8085 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 8086
842b2a94
GM
80872000-12-08 Gerd Moellmann <gerd@gnu.org>
8088
8089 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
8090
8091 * tparam.c (tparam1): Change the way buffers are reallocated to be
8092 portable and less obfuscated.
8093
8094 * termcap.c (tgetent): Change the way buffers are reallocated to
8095 be portable and less obfuscated.
8096
8097 * macros.c (store_kbd_macro_char): Change the way buffers are
8098 reallocated to be portable and less obfuscated.
8099
8100 * lread.c (read1): Change the way buffers are reallocated to be
8101 portable and less obfuscated.
8102
8103 * doc.c (Fsubstitute_command_keys): Change the way buffers
8104 are reallocated so that it is portable.
8105
137cad7c
EZ
81062000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
8107
8108 * dosfns.c (Ffile_system_info): New function.
8109 (syms_of_dosfns): Defsubr it.
8110
5c7f629c
SM
81112000-12-07 Stefan Monnier <monnier@cs.yale.edu>
8112
8113 * alloc.c (gc_sweep): Add comment.
8114
959e647d
GM
81152000-12-07 Gerd Moellmann <gerd@gnu.org>
8116
52283633
SM
8117 * sound.c (vox_configure): Change order of ioctls.
8118 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
8119 Ignore errors when changing volume.
8120 (vox_close): Don't reset the device.
8121
926b7e5e
GM
8122 * process.c (read_process_output): Make sure the process marker's
8123 position is valid when the process buffer is changed in
8124 after-change functions. W3 does that.
52283633 8125
959e647d
GM
8126 * xfns.c (x_free_gcs): New function.
8127
8128 * xterm.h (x_free_gcs): Add prototype.
8129
8130 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
8131 freeing GCs here.
8132
8133 * xterm.c (x_destroy_window): Call x_free_gcs so that
8134 resources of non-toolkit X windows will be freed.
8135
478ea067
AI
81362000-12-07 Andrew Innes <andrewi@gnu.org>
8137
8138 * w32fns.c (xlfd_charset_of_font): Fix last change.
8139
fbee3231
DL
81402000-12-06 Dave Love <fx@gnu.org>
8141
67292061
DL
8142 * md5.h (__P): Don't define -- it comes from config.h.
8143
fbee3231
DL
8144 * strftime.c: Change some #if foo to #ifdef foo.
8145
4ee87dbb
AI
81462000-12-06 Andrew Innes <andrewi@gnu.org>
8147
8148 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
8149
52283633 8150 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 8151 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 8152 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 8153
9765b4a4
GM
81542000-12-06 Gerd Moellmann <gerd@gnu.org>
8155
d285b373
GM
8156 * alloc.c (gc_sweep): Prevent symbols read during loadup
8157 from being freed.
8158
384333ee
GM
8159 * xdisp.c (underlying_face_id): New function.
8160 (handle_face_prop, face_before_or_after_it_pos): Use it
8161 to determine the face ``under'' a string. Let strings inherit
8162 the face of the buffer under them.
8163
8164 * xfaces.c (face_at_string_position): Update function comment.
52283633 8165
d4b72d58
GM
8166 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
8167 matrix if the window's left position has changed; we need to
8168 redraw it in this case.
8169
8170 * dispextern.h (struct glyph_matrix): Add member window_left_x.
8171
e1d05387
GM
8172 * window.c (coordinates_in_window): Check mouse on mode-line or
8173 header-line first.
8174
eb1b0c74
GM
8175 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
8176 advertized by the function documentation.
8177
d94d636f
GM
8178 * window.c (syms_of_window): Doc fix.
8179
3887b449
GM
8180 * sound.c (vox_configure): Set volume for left and right channel.
8181 (sound_cleanup): Return nil.
8182
efc8f57a
GM
8183 * xdisp.c (move_it_by_lines): Fix paren typo.
8184
9765b4a4
GM
8185 * xterm.c (x_load_font): Don't use the font's max_bounds for
8186 computing the height of the font. If max_bounds' ascent or
8187 descent are greater than the font's ascent or descent, this means
8188 glyphs overlap, which should be handled now by redisplay.
8189
6529ed87
GM
8190 * window.c (Veven_window_heights): New variable.
8191 (syms_of_window): DEFVAR_LISP it.
8192 (Fdisplay_buffer): Check Veven_window_heights before evening the
8193 window heights.
52283633 8194
0eb2ecde
MB
81952000-12-06 Miles Bader <miles@gnu.org>
8196
8197 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
8198 update `default-frame-alist' instead of setting no frame parameters.
8199
03d7a167
KH
82002000-12-06 Kenichi Handa <handa@etl.go.jp>
8201
8202 * composite.c (update_compositions): Fix typo (use the correct
8203 variable).
8204
5f8803c2
JR
82052000-12-05 Jason Rumney <jasonr@gnu.org>
8206
8207 * md5.h: Remove underscores from function declarations.
8208 (__attribute__, __alignof__) [!__GNUC__]: Define.
8209
8210 * md5.c: Delay include of md5.h until after namespace cleaning.
8211
c28a075b
JR
8212 * makefile.w32-in (fns.o): Depend on md5.h
8213 (md5.o): New target.
8214 (sunfns.o): Remove.
8215
8216 * makefile.nt: Likewise.
8217
ff3c7056
JR
82182000-12-05 Jason Rumney <jasonr@altavista.net>
8219
8220 * w32term.c (expose_area): Complete last change.
8221
0c21eeeb
KR
82222000-12-05 Ken Raeburn <raeburn@gnu.org>
8223
8224 * minibuf.c: Include intervals.h.
8225
f201d732
JR
82262000-12-05 Jason Rumney <jasonr@gnu.org>
8227
8228 * w32term.c (x_produce_glyphs): If a font for a component of
8229 a composition is not found, use 1 pixel dot ascent and 0 dot
8230 descent value to avoid displaying terribly tall empty boxes.
8231 (expose_area): Pass x-coordinate relative to the exposed
8232 area to x_draw_glyphs instead of a window-relative coordinate.
8233
21999ab9
GM
82342000-12-05 Gerd Moellmann <gerd@gnu.org>
8235
4d2036e4
GM
8236 * xdisp.c (next_element_from_ellipsis): Save face before selective
8237 display in saved_face_id, and set face_before_selective_p.
8238 (reseat_1): Reset face_before_selective_p.
8239 (append_space, extend_face_to_end_of_line): If iterator's
8240 face_before_selective_p is set, use the face from saved_face_id.
8241 (extend_face_to_end_of_line): For tty frames, make sure to
8242 use the right face id when producing spaces at the end of
8243 the line.
8244
8245 * dispextern.h (struct it): Add face_before_selective_p.
8246
52be17cc
GM
8247 * keyboard.c (record_char): Don't record identical help-echo
8248 events in recent_keys.
8249
8a4f36cc
GM
8250 * xterm.c [USE_X_TOOLKIT]: Close the display.
8251 (xim_close_dpy): Handle case that the display has been closed.
8252
57d6e381
GM
8253 * xterm.c (x_destroy_window): Reset the frame's X window after
8254 destroying it.
8255
21999ab9
GM
8256 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
8257 variable window_width.
8258 (line_draw_cost): Fix code skipping over spaces at the end of the
8259 line when must_write_spaces is not set.
8260 (scrolling_window): Fix code inserting runs in list of all runs.
8261
91372bb7
KH
82622000-12-05 Kenichi Handa <handa@etl.go.jp>
8263
8264 * coding.c (setup_coding_system): Be sure to initialize
8265 coding->category_idx.
8266
6c083b4c
GM
82672000-12-04 Gerd Moellmann <gerd@gnu.org>
8268
0c68ce6f 8269 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 8270
6452929e
GM
8271 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
8272 area to x_draw_glyphs instead of a window-relative coordinate.
8273
d7f31e22
GM
8274 * fileio.c (auto_save_error): Add parameter ERROR. Show the
8275 error in the message.
8276
ae18aa3b
GM
8277 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
8278 timer after having read a key. It's not good for code reading
8279 several keys in a loop, like an input method.
8280
caa15ef7
GM
8281 * fileio.c (Finsert_file_contents): When VISIT is t, don't
8282 record undo information for format-decode.
8283
8284 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
8285 current buffer is read-only, not if it isn't.
8286
6c083b4c
GM
8287 * keyboard.c (record_char): Record `help-echo' input events
8288 in recent_keys only if they display some help. Don't record
8289 `help-echo' events as macro char.
8290
caa15ef7
GM
82912000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
8292
8293 * editfns.c (save_excursion_restore): Don't move point
8294 in another window if it is showing the wrong buffer.
8295 Avoid the call to Fwindow_live_p, for speed.
8296
5a13529b
KH
82972000-12-04 Kenichi Handa <handa@etl.go.jp>
8298
e225faa7
KH
8299 * xfaces.c (struct font_name): New member registry_priority.
8300 (split_font_name): Initialize the above member to zero.
8301 (concat_font_list): New function.
8302 (font_list): Include fonts of all alternative registries.
8303 (FONT_POINT_SIZE_QUANTUM): New macro.
8304 (better_font_p): Ignore point size difference less than
8305 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
8306
e89648b4
KH
8307 * xterm.c (x_produce_glyphs): If a font for a component of
8308 a composition is not found, use 1 pixel dot ascent and 0 dot
8309 descent value to avoid displaying terribly tall empty boxes.
8310
5a13529b
KH
8311 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
8312
d7935eb6
KR
83132000-12-03 Ken Raeburn <raeburn@gnu.org>
8314
8315 * coding.h (code_convert_string1): Declare.
8316
8317 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
8318
52283633 8319 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 8320
0dd5e255
JR
83212000-12-02 Jason Rumney <jasonr@gnu.org>
8322
8323 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
8324 correctly for single byte character case.
8325 (w32_per_char_metric): Do not try to make any assumptions about
8326 the metrics of BDF fonts.
250cfece 8327 (x_estimate_mode_line_height): If `mode-line' face
52283633 8328 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
8329 (note_mouse_highlight): Change the cursor shape on the vertical
8330 border between windows [not enabled].
8331
8332 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
8333
8334 * w32fns.c (Fx_create_frame): Reintroduce the call to
8335 face-set-after-frame-defaults.
8336 (Vx_window_horizontal_drag_shape): New variable.
8337 (syms_of_xfns): DEFVAR_LISP it.
8338 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
8339 enabled].
0dd5e255 8340
b5d8d2ca
GM
83412000-12-02 Simon Josefsson <simon@josefsson.org>
8342
8343 * fns.c (Fmd5): Use a different logic to decide the coding system
8344 to use.
8345
8346 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
8347
fbb87147
EZ
83482000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
8349
52283633 8350 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 8351
447e9da0
GM
83522000-12-01 Gerd Moellmann <gerd@gnu.org>
8353
7708ced0
GM
8354 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
8355 height for YNegative.
8356 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
8357 height; also see comment there.
8358
447e9da0
GM
8359 * window.c (coordinates_in_window): Handle computations for
8360 positions on the vertical bar and fringes differently for
8361 window-system frames. Consider some pixels near the vertical bar
8362 as on the bar if the frame doesn't have vertical scroll bars.
8363 Associate positions between mode or header lines with the
8364 right window, the left one.
8365
86d1db20
JR
83662000-12-01 Jason Rumney <jasonr@gnu.org>
8367
8368 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
8369
8370 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
8371 invalid frame.
8372
a1d58e5b
GM
83732000-12-01 Gerd Moellmann <gerd@gnu.org>
8374
52283633 8375 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
8376 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
8377 (save_window_save, Fset_window_configuration): Save/restore
8378 window's orig_top and orig_height.
8379
89c609af
JR
83802000-12-01 Jason Rumney <jasonr@gnu.org>
8381
4d177746 8382 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 8383
89c609af
JR
8384 * w32fns.c (x_set_cursor_color): Fix last change.
8385
eccc05db
GM
83862000-11-30 Gerd Moellmann <gerd@gnu.org>
8387
31b6671b
GM
8388 * xdisp.c (echo_area_display): If cursor is in the echo area, make
8389 sure that the next redisplay displays the minibuffer, so that
8390 the cursor will be replaced with what the minibuffer wants.
8391
eccc05db
GM
8392 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
8393 #ifndef instead of using #if.
8394 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
8395 USE_TOOLKIT_SCROLL_BARS is defined.
8396
162de750
JR
83972000-11-30 Jason Rumney <jasonr@gnu.org>
8398
8399 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
8400 x_display_cursor.
8401
693c4692
GM
84022000-11-30 Gerd Moellmann <gerd@gnu.org>
8403
8404 * fns.c (Fmd5): Doc fix.
8405
b5d8d2ca 84062000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
8407
8408 * fns.c (Fmd5): New function.
8409 (syms_of_fns): Defsubr md5.
8410
8411 * Makefile.in (obj): Add md5.o
8412
b02cd40b
GM
84132000-11-30 Gerd Moellmann <gerd@gnu.org>
8414
edfb795e
GM
8415 * md5.h, md5.c: New files, taken from glibc.
8416
df3aedcf
GM
8417 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
8418
b02cd40b 8419 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 8420 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 8421
8b5176cd
SM
84222000-11-29 Stefan Monnier <monnier@cs.yale.edu>
8423
8424 * eval.c (Frun_hooks): Allow 0 arguments.
8425
346598f1
GM
84262000-11-29 Gerd Moellmann <gerd@gnu.org>
8427
f9396e03
GM
8428 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
8429 is over the menu bar widget, say it's not on the frame.
8430
4a967a9b
GM
8431 * xfns.c (Fx_create_frame): Reintroduce the call to
8432 face-set-after-frame-defaults.
8433
346598f1
GM
8434 * eval.c (Fsignal): Reset handling_signal.
8435
222456a1
JR
84362000-11-28 Jason Rumney <jasonr@gnu.org>
8437
8438 * w32menu.c (add_menu_item): Reset menu item text when changing
8439 type to radio button.
8440
8049ddc0
GM
84412000-11-28 Gerd Moellmann <gerd@gnu.org>
8442
346598f1 8443 * xselect.c: Update copyright.
f4f4ee4d 8444
bebe4a2c
GM
8445 * window.c (coordinates_in_window): If on a mode or header line,
8446 but sufficiently close to its start, return ``on vertical
8447 border''. This gives us a way to drag windows horizontally when
8448 using toolkit scroll bars.
8449
8450 * xterm.c (note_mouse_highlight): Change the cursor shape
8451 on the vertical border between windows.
8452
8453 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
8454
8455 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
8456 (syms_of_xfns): DEFVAR_LISP it.
8457 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
8458
8d2c2642
GM
8459 * textprop.c (text_read_only): New function.
8460 (verify_interval_modification): Use it instead of signaling
8461 `text-read-only'. This makes it easier to catch this error
52283633 8462 with a breakpoint.:
8d2c2642 8463
52283633 8464 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
8465 not end of line, which includes CR.
8466
5a2bae6c
KH
84672000-11-28 Kenichi Handa <handa@etl.go.jp>
8468
8469 * coding.c (Ffind_coding_systems_region_internal): Be sure to
8470 include no-conversion.
8471
ae31f84d
JR
84722000-11-27 Jason Rumney <jasonr@gnu.org>
8473
8474 * w32fns.c (w32_load_system_font): Always mark font as double byte
8475 if codepage is unicode.
8476
67f1cf4c
GM
84772000-11-27 Gerd Moellmann <gerd@gnu.org>
8478
4a74d071 8479 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 8480 just consume it to avoid unintended skipping over invisible text below.
4a74d071 8481
902ae620
GM
8482 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
8483 `vertical-line', `mode-line' and `header-line' events.
8484
8485 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
8486 of a character, a TAB for instance. This is easier than to set
8487 up the iterator exactly, and it's not a frequent case, so the
8488 additional effort wouldn't really pay off.
8489
c1e279c2
AC
84902000-11-26 Andrew Choi <akochoi@i-cable.com>
8491
67f1cf4c 8492 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
8493 init_window_once.
8494
a609568a
JR
84952000-11-25 Jason Rumney <jasonr@gnu.org>
8496
52283633
SM
8497 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
8498 Args to window_from_coordinates should be pixel coordinates.
48b21762 8499
a609568a
JR
8500 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
8501 redisplay handles them properly.
8502
a658d039
MB
85032000-11-25 Miles Bader <miles@gnu.org>
8504
8505 * indent.c (compute_motion): Keep pos_byte in sync with pos.
8506
d3416cca
JR
85072000-11-24 Jason Rumney <jasonr@gnu.org>
8508
8509 * w32.c (init_environment): Set LANG environment variable based on
8510 locale settings, if not set.
8511
8512 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
8513 making tool bar smaller. When clearing the frame, also
8514 clear current matrices. Clear frame when tool bar disappears.
8515 Don't use more lines for the tool-bar than is available.
8516 (x_change_window_heights): New function.
8517
ba193890
GM
85182000-11-24 Gerd Moellmann <gerd@gnu.org>
8519
2be8f184
GM
8520 * xdisp.c (init_from_display_pos): If POS says we're already after
8521 an overlay string ending at POS, make sure to pop the iterator
8522 because it will be in front of that overlay string. When POS is
8523 ZV, we've thereby also ``processed'' overlay strings at ZV.
8524
ba193890
GM
8525 * xfaces.c (lface_from_face_name): Function comment fix.
8526
1862a24e
MB
85272000-11-24 Miles Bader <miles@gnu.org>
8528
8529 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
8530 apply `mode-line-inverse-video' -- zero means force display using
8531 the default face, non-zero means display using the specialized face.
8532 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
8533
f07fa1b8
KH
85342000-11-23 Kenichi Handa <handa@etl.go.jp>
8535
8536 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
8537 hard coded `4'.
8538
2bcdf662
EZ
85392000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
8540
8541 * coding.c (decode_coding_emacs_mule): Fix the case of
8542 CODING_EOL_LF, which used uninitialized value of c.
8543
ba8299ff
SM
85442000-11-23 Stefan Monnier <monnier@cs.yale.edu>
8545
8546 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
8547
f4117c4d
GM
85482000-11-22 Gerd Moellmann <gerd@gnu.org>
8549
03e757c1
GM
8550 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
8551 buffer object.
8552
f4117c4d
GM
8553 * frame.h (struct frame): Replace desired_tool_bar_items,
8554 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 8555 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
8556
8557 * frame.c (make_frame): Change initialization of tool bar
8558 items accordingly.
8559
8560 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 8561 Change references to members deleted from struct frame to use the
f4117c4d
GM
8562 new ones.
8563
8564 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 8565 references to members deleted from struct frame to use the new ones.
f4117c4d 8566
52283633 8567 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
8568
8569 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
8570
8571 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 8572 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
8573 from struct frame to use the new ones.
8574
f8e2f3f2
MB
85752000-11-23 Miles Bader <miles@gnu.org>
8576
8577 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
8578 the face's inverse-video attribute, rather than overriding it.
8579
60e8e0a5
GM
85802000-11-22 Gerd Moellmann <gerd@gnu.org>
8581
8582 * xfns.c (x_set_tool_bar_lines): Clear internal border when
8583 making tool bar smaller.
8584
92dd1b29
DL
85852000-11-22 Dave Love <fx@gnu.org>
8586
8587 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
8588
e672fdce
MB
85892000-11-22 Miles Bader <miles@gnu.org>
8590
3a17d6cc
MB
8591 * keyboard.c (Vminibuffer_message_timeout): New variable.
8592 (command_loop_1): Use it to determine message timeout.
8593 (syms_of_keyboard): Initialize it.
8594
60e8e0a5 8595 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 8596
e9655d81
KH
85972000-11-22 Kenichi Handa <handa@etl.go.jp>
8598
8599 * sysdep.c: Move the code for declaring h_errno after #include
8600 <netdb.h>.
8601
77270fac
GM
86022000-11-21 Gerd Moellmann <gerd@gnu.org>
8603
cd913aae
GM
8604 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
8605 the menu bar when the tooltip is unmapped.
8606
77270fac
GM
8607 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
8608 sole visible buffer when we're currently in the mini-buffer, and
8609 give up if so.
52283633 8610
556635d6
JR
86112000-11-21 Jason Rumney <jasonr@gnu.org>
8612
8613 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
8614 put on the clipboard.
8615 (Fw32_get_clipboard_data): Compare data on clipboard with saved
8616 copy of what Emacs last put there. If they are the same, do not
52283633 8617 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 8618
5b7bde64
MB
86192000-11-22 Miles Bader <miles@gnu.org>
8620
8621 * minibuf.c (Vminibuffer_prompt_properties): New variable.
8622 (syms_of_minibuf): Initialize it.
8623 (read_minibuf): Add properties from Vminibuffer_prompt_properties
8624 to prompt, don't make read-only.
8625
ff23e1dd
GM
86262000-11-21 Gerd Moellmann <gerd@gnu.org>
8627
52283633
SM
8628 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
8629 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 8630
7aaf4388
GM
8631 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
8632
f5f47add 8633 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 8634
ff23e1dd
GM
8635 * term.c, cm.c: Don't try to include termcap.h; see comment there.
8636
37c35586
KH
86372000-11-21 Kenichi Handa <handa@etl.go.jp>
8638
8639 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
8640 ... #endif scope.
8641
ff9ab414
GM
86422000-11-20 Gerd Moellmann <gerd@gnu.org>
8643
52283633 8644 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
8645 screen supports it.
8646
29a01b72
GM
8647 * s/gnu-linux.h: Don't use `#cpu'.
8648
09dfdf85
GM
8649 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
8650 not defined in mman.h.
8651
52283633 8652 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
8653 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
8654 and store an index in the XClientMessageEvent. Storing a
8655 Lisp_Object or pointer can fail on a 64 bit system, since X only
8656 transfers 32 bits.
52283633
SM
8657 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
8658
81459ac9
DL
86592000-11-20 Dave Love <fx@gnu.org>
8660
8661 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
8662
56c13ae6
GM
86632000-11-20 Gerd Moellmann <gerd@gnu.org>
8664
8665 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
8666
495a6df3
KH
86672000-11-20 Kenichi Handa <handa@etl.go.jp>
8668
2bcf3714
KH
8669 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
8670 by WIDTH.
8671
495a6df3
KH
8672 * alloc.c (make_string): Fix previous change. Be sure to make
8673 unibyte string correctly.
8674
6d950f4c
GM
86752000-11-19 Gerd Moellmann <gerd@gnu.org>
8676
39b39373
GM
8677 * window.c (Fwindow_list): Change parameter list to be XEmacs
8678 compatible.
8679 (window_list_1): New function.
8680 (window_loop): Use it instead of Fwindow_list.
8681
b95b34e5
GM
8682 * sysdep.c (emacs_ospeed): New variable.
8683 (toplevel): Don't declare ospeed extern.
8684 (init_baud_rate): Use emacs_ospeed instead of ospeed.
8685
8686 * termcap.c (ospeed): Remove.
8687 (tputs) [!emacs]: Remove unused code.
8688 (tgetent): Avoid a compiler warning.
8689
e83dc917
GM
8690 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
8691 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 8692 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
8693
8694 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
8695 removed.
8696 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
8697 Take the X display as additional argument.
8698 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
8699 `Widget' is a pointer type that's not easily stored in Lisp_Object
8700 form in a portable way.
52283633 8701
6d950f4c
GM
8702 * dispnew.c (update_text_area): Fix last change.
8703
e47306e6
GM
87042000-11-18 Gerd Moellmann <gerd@gnu.org>
8705
fb3cd89b
GM
8706 * xdisp.c: Use BINDING_STACK_SIZE throughout.
8707
8708 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
8709 clear current matrices.
8710
edaa9aed
GM
8711 * buffer.c (mmap_enlarge): Don't print a message on stderr
8712 if mapping new memory at the end of the existing region fails.
8713
e47306e6
GM
8714 * dispnew.c (update_text_area): Don't skip over equal glyphs
8715 when the last current glyph overlaps the glyph to its right.
8716
509633e3
MB
87172000-11-18 Miles Bader <miles@gnu.org>
8718
8719 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
8720 lines that *end* with "..." too (that's the most common case!).
8721
d392e9c5
GM
87222000-11-18 Gerd Moellmann <gerd@gnu.org>
8723
67988445
GM
8724 * xdisp.c (resize_mini_window): Temporarily change to the
8725 mini-window's buffer if necessary.
1bfdbe43 8726
d392e9c5
GM
8727 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
8728 the tooltip obscures less text under it.
8729
87302000-11-17 Gerd Moellmann <gerd@gnu.org>
8731
8732 * puresize.h (BASE_PURESIZE): Increase to 700000.
8733
92bb977f
JR
87342000-11-18 Jason Rumney <jasonr@gnu.org>
8735
8736 * w32term.c (w32_draw_bitmap): Use face to set colors.
8737
26fbf20b
DL
87382000-11-17 Dave Love <fx@gnu.org>
8739
8740 * lread.c (Fload): Fix #ifdef for pcc.
8741
100b593b
GM
87422000-11-17 Gerd Moellmann <gerd@gnu.org>
8743
8744 * xdisp.c (pos_visible_p): Compute the default character height
8745 differently.
8746
a288d0d1
GM
87472000-11-16 Gerd Moellmann <gerd@gnu.org>
8748
cac94de6 8749 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 8750 knowing the line's height; use the default font's height in that case.
cac94de6 8751
a288d0d1
GM
8752 * xfaces.c (weight_table): Add `demi' with the same meaning as
8753 `demibold'.
8754
981fb6f6
KH
87552000-11-16 Kenichi Handa <handa@etl.go.jp>
8756
2cca872d 8757 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
8758 (clear_glyph_row): Delete local static variable null_row.
8759
e5fa381b
JR
87602000-11-15 Jason Rumney <jasonr@gnu.org>
8761
8762 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
8763 (w32_alloc_lighter_color): Use new brightness calculations from
8764 xterm.c. Scale delta to be in the range expected by W32.
8765 (w32_draw_relief_rect): Use frame relief colors.
8766
8e42f043
GM
87672000-11-15 Gerd Moellmann <gerd@gnu.org>
8768
6d133d1f
GM
8769 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
8770 (Qinhibit_default_face_x_resources): New variable.
8771 (syms_of_frame): Initialize it.
8772 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
8773
8774 * xdisp.c (pos_visible_p): Improve function comment.
8775
8776 * lisp.h (BINDING_STACK_SIZE): New macro.
8777
8e42f043
GM
8778 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
8779 reading the directory if readdir returns null and errno is EAGAIN
8780 or EINTR.
8781
e8c87124
SM
87822000-11-14 Stefan Monnier <monnier@cs.yale.edu>
8783
8784 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
8785 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
8786 Set amount_to_scroll to max of dx and scroll_step so that
8787 scroll-conservatively doesn't defeat scroll-step>1.
8788 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
8789 scroll-conservatively for line-at-a-time scrolling.
8790
5f0c971d
GM
87912000-11-14 Gerd Moellmann <gerd@gnu.org>
8792
8793 * window.c (Fpos_visible_in_window_p): Call pos_visible with
8794 extra argument.
8795
8796 * xdisp.c (current_mode_line_height, current_header_line_height):
8797 New variables.
8798 (init_xdisp): Initialize them.
8799 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
8800 and use exact mode line heights if it is set.
8801
8802 * lisp.h (pos_visible_p): Change prototype.
8803
8804 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
8805 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
8806 and current_header_line_height first.
52283633
SM
8807 (current_mode_line_height, current_header_line_height):
8808 Declare extern.
5f0c971d 8809
d7361edf
MB
88102000-11-14 Miles Bader <miles@lsi.nec.co.jp>
8811
8812 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
8813 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
8814 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
8815
ee5e440a
MB
88162000-11-14 Miles Bader <miles@gnu.org>
8817
8818 * xterm.c (x_alloc_lighter_color): Include an additive component
8819 too for dark colors, because FACTOR isn't enough.
8820 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
8821 New macros.
8822
5ca020fc
GM
88232000-11-13 Gerd Moellmann <gerd@gnu.org>
8824
8825 * keyboard.c (show_help_echo): Call message3_nolog with number of
8826 bytes in the help string as 2nd parameter, instead of the number
8827 of characters.
8828
9d348294
MB
88292000-11-13 Miles Bader <miles@gnu.org>
8830
8831 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
8832 (Fload): Use new openp return protocol.
8833 Don't try to use Vload_source_file_function to load .elc files.
8834 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
8835 openp return protocol.
8836 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
8837
1729bb9a
KH
88382000-11-11 Kenichi Handa <handa@etl.go.jp>
8839
4e677396
KH
8840 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
8841
8842 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
8843 Defined these macros.
8844 (NLIST_STRUCT): Avoid re-defining it.
8845
1729bb9a
KH
8846 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
8847 -I/usr/contrib/X11R6/include.
8848 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
8849
a82fe213
JR
88502000-11-10 Jason Rumney <jasonr@gnu.org>
8851
8852 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
8853
8854 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
8855 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
8856
8857 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
8858 (Qw32_charset_vietnamese): New symbol.
8859 (xlfd_charset_of_font): New function.
8860 (w32_load_system_font): Use it.
8861 (x_to_w32_charset): Use Fassoc to find charset info. Special case
8862 when Vw32_charset_info_alist is nil to ensure default face always
8863 has font. Use Fcar and Fcdr for safety.
8864 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
8865 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
8866 pseudo-codepages for special cases.
8867 (w32_to_x_font): New parameter to allow charset portion to be
8868 specified where there is many to one mapping. Callers changed.
8869 (w32_list_fonts): Avoid listing fonts that won't display.
8870
52d89894
GM
88712000-11-10 Gerd Moellmann <gerd@gnu.org>
8872
8873 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
8874 (font_list_1): Renamed from font_list.
8875 (font_list): New function, trying alternative registries from
8876 Vface_alternative_font_registry_alist.
8877 (Finternal_set_alternative_font_registry_alist): New function.
8878 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
8879 Vface_alternative_font_registry_alist.
8880 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 8881
651cd3da
KR
88822000-11-09 Ken Raeburn <raeburn@gnu.org>
8883
8884 * lisp.h (Flooking_at): Declare.
8885
388ac098
GM
88862000-11-09 Gerd Moellmann <gerd@gnu.org>
8887
778fbc46 8888 * dired.c (directory_files_internal): Fix a braino.
52283633 8889
388ac098
GM
8890 * dired.c (directory_files_internal): Add missing GCPRO's.
8891 Some cleanup.
8892
ecaedde1
GM
88932000-11-08 Gerd Moellmann <gerd@gnu.org>
8894
f7eb32aa
GM
8895 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
8896 (resize_mini_window): Return quickly if Vresize_mini_window is
8897 nil. Don't return if Vmax_mini_window_height is nil.
8898
8899 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
8900 (syms_of_xdisp): Initialize them.
8901 (resize_mini_window): Act according to the setting of
8902 Vresize_mini_window.
8903 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
8904
ecaedde1
GM
8905 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
8906 scroll bar widget after configuring it, so that it will appear at
8907 the right position from the start.
8908 (XTredeem_scroll_bar): Cleaned up.
8909
3747ef2c
KH
89102000-11-08 Kenichi Handa <handa@etl.go.jp>
8911
8912 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 8913 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
8914 division by two.
8915
8916 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
8917
03391420
DL
89182000-11-07 Dave Love <fx@gnu.org>
8919
7758f1c1 8920 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
8921
8922 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
8923
b5de343d
GM
89242000-11-07 Gerd Moellmann <gerd@gnu.org>
8925
acad3c0b
GM
8926 * window.c (Fset_window_configuration): Don't try to preserve
8927 point in the current buffer, if that buffer is displayed in more
8928 than one window.
8929
b5de343d
GM
8930 * xfaces.c (lookup_named_face): If default face isn't realized,
8931 try to realize it. Return -1 if not successful.
8932 (Fx_list_fonts): Handle case that face cannot be determined.
8933 (Fface_font): Likewise.
8934
cdb1fe49
GM
89352000-11-06 Gerd Moellmann <gerd@gnu.org>
8936
8937 * window.c (displayed_window_lines): Detect partially
8938 visible lines at the bottom correctly.
8939
d3a67486
SM
89402000-11-06 Stefan Monnier <monnier@cs.yale.edu>
8941
8942 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
8943 when ensuring we don't do visit in indirect buffer.
8944
ff8dd5d5
KH
89452000-11-06 Kenichi Handa <handa@etl.go.jp>
8946
8947 * composite.h (compose_chars_in_text): Add prototype.
8948
8949 * composite.c (Vcomposition_function_table): New variable.
8950 (Qcomposition_function_table): New variable.
8951 (run_composition_function): Call
8952 Vcompose_chars_after_function with three arguments.
8953 (compose_chars_in_text): New function.
8954 (syms_of_composite): Modified the doc-string of
8955 Vcompose_chars_after_function. Declare composition-function-table
8956 as a lisp variable, and initialize it.
8957
8958 * xfns.c (x_encode_text): Suppress producing escape sequences for
8959 composition.
8960
8961 * xselect.c: Include composite.h.
8962 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
8963
d1145f85
AI
89642000-11-05 Andrew Innes <andrewi@gnu.org>
8965
8966 * w32term.c (x_produce_glyphs): Fix typo in enum name.
8967
8968 * sysdep.c (read_input_waiting): Remove extraneous argument to
8969 read_socket_hook.
8970
8971 * w32fns.c (Fx_server_version): Include w32_build_number in the
8972 return list.
8973
8974 * w32heap.c (w32_build_number): New variable.
8975 (cache_system_info): Set it.
8976
8977 * w32heap.h (w32_build_number): Add extern.
8978
8979 * emacs.c (syms_of_emacs): Update docstring for
8980 system-configuration, to reflect the actual usage on MS-Windows.
8981
e85ee976
GM
89822000-10-31 Gerd Moellmann <gerd@gnu.org>
8983
26dcb81b
GM
8984 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
8985 process idle timers while waiting for another event.
8986
52283633 8987 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
8988 the default face are colored.
8989
e85ee976
GM
8990 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
8991 window height hasn't changed.
8992
01b220b6
JR
89932000-10-31 Jason Rumney <jasonr@gnu.org>
8994
8995 * w32term.c (x_produce_glyphs): Handle composite characters.
8996 (x_draw_glyph_string_foreground)
8997 (x_draw_composite_glyph_string_foreground): Restore old font.
8998
4e6b7204
MB
89992000-10-31 Miles Bader <miles@lsi.nec.co.jp>
9000
9001 * minibuf.c (read_minibuf): Reset the undo history just before
9002 starting the recursive-edit.
9003
d4358b37
GM
90042000-10-30 Gerd Moellmann <gerd@gnu.org>
9005
563f68f1
GM
9006 * xfaces.c (menu_face_change_count): New variable.
9007 (Finternal_set_lisp_face_attribute): Increment it for changes
9008 of the `menu' face.
9009 (realize_basic_faces): Reflect changes in the `menu' faces
9010 in menu bars.
9011
82e274d1
GM
9012 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
9013 dy obtained from the iterator's y-position after moving from
9014 scroll_margin_pos to PT; see comment there.
52283633 9015
0dbf9fd2
GM
9016 * xdisp.c (safe_eval_handler): Call add_to_log.
9017
906b3b14
GM
9018 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
9019 is not a symbol or string.
9020
d4358b37
GM
9021 * xdisp.c (echo_area_display): Don't perform a display update from
9022 inside redisplay. The update will happen anyway at the end of
9023 redisplay, and it can confuse redisplay (GC messages while
9024 redisplaying, for instance.)
9025
70c825df
SM
90262000-10-30 Stefan Monnier <monnier@cs.yale.edu>
9027
cf9b4b0b
SM
9028 * xrdb.c (x_load_resources): Use the class name in the defaults.
9029
70c825df
SM
9030 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
9031 (regex_compile): Catch bogus \(\1\).
9032
a1d34b1e
GM
90332000-10-30 Gerd Moellmann <gerd@gnu.org>
9034
cae71efe
GM
9035 * xterm.c (x_alloc_nearest_color): Fix last change to compare
9036 RGB values.
52283633 9037
35efe0a1
GM
9038 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
9039 we have a color cache, check that the cached color equals the
9040 allocated color. If not, clear the color cache.
9041
1d3baf74
GM
9042 * window.c (displayed_window_lines): Change buffers if necessary.
9043 Fix computation of displayed lines.
9044
a1d34b1e
GM
9045 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
9046 update_menu_bindings to DEFVAR_BOOL.
9047
70737ea9
KH
90482000-10-30 Kenichi Handa <handa@etl.go.jp>
9049
70c825df 9050 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 9051
fa0cb51d
KH
9052 * puresize.h (BASE_PURESIZE): Increase to 680000.
9053
70737ea9
KH
9054 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
9055
0e4c08e8
JR
90562000-10-29 Jason Rumney <jasonr@gnu.org>
9057
9058 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
9059
9060 * w32term.c (w32_bdf_per_char_metric): Negate descent.
9061 (w32_cache_char_metrics): Handle possibility that 'x' does not
9062 exist in a BDF font.
9063 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
9064
9065 * w32bdf.h (bdffont): Add nchars.
9066
9067 * w32bdf.c (set_bdf_font_info): Set it.
9068 (w32_BDF_TextOut): Swap byte order of double byte characters.
9069 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
9070
45b84006
EZ
90712000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
9072
9073 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
9074 don't override the colors in frame's param_alist, unless they are
9075 unspecified.
9076
9077 * term.c (reassert_line_highlight): If inverse_video is non-zero,
9078 reverse the effect of the highlight flag.
9079
caf9deee
KR
90802000-10-27 Ken Raeburn <raeburn@gnu.org>
9081
9082 * window.h (Fwindow_live_p): Declare.
9083
ae0b9b46
KR
9084 * undo.c (record_delete): Check that last_undo_buffer is really a
9085 buffer before applying XBUFFER to it.
9086
9087 * keymap.c (where_is_internal): Pass lisp object, not integer, to
9088 Faref.
9089
02067692
SM
90902000-10-27 Stefan Monnier <monnier@cs.yale.edu>
9091
9092 * lisp.h (KEYMAPP): New macro.
9093 (get_keymap): Remove.
9094 (get_keymap_1): Rename get_keymap.
9095
9096 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
9097
9098 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
9099
9100 * xmenu.c (single_submenu): Use KEYMAPP.
9101 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
9102 Use KEYMAPP rather than Fkeymapp.
9103
9104 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
9105
9106 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
9107 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
9108 Use KEYMAPP rather than Fkeymapp.
9109 (single_submenu): Use KEYMAPP.
9110 (w32_menu_show, w32_dialog_show): Use TRUE.
9111
9112 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
9113
9114 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
9115 (Fkeymapp): Use KEYMAPP.
9116 (get_keymap): Rename from get_keymap_1. Remove old def.
9117 Return t when autoload=0 and error=0 and the keymap needs autoloading.
9118 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
9119 (Fminor_mode_key_binding): Don't raise an error if the binding
9120 is not a keymap.
9121 (Fuse_global_map, Fuse_local_map): Allow autoloading.
9122 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
9123
9124 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
9125 Allow Vspecial_event_map to be autoloaded.
9126 (menu_bar_items): Fetch the keymap rather than using keymapp.
9127 (menu_bar_one_keymap): No need to follow func-indirect any more.
9128 (parse_menu_item): get_keymap_1 -> get_keymap.
9129 (tool_bar_items): Fetch the keymap rather than using keymapp.
9130 (read_key_sequence): Use KEYMAPP.
9131
9132 * intervals.c (get_local_map): Use get_keymap rather than following
9133 function-indirections explicitly.
9134
9135 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
9136
f9d80af3
JR
91372000-10-27 Jason Rumney <jasonr@gnu.org>
9138
9139 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
9140 point, as Windows has oversized fonts.
9141
9142 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
9143
a3ba27da
GM
91442000-10-27 Gerd Moellmann <gerd@gnu.org>
9145
9146 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
9147 (freehook, reallochook): Handle null pointer arguments.
9148 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
9149
aa3b80cc
SM
91502000-10-27 Stefan Monnier <monnier@cs.yale.edu>
9151
9152 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
9153 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
9154 Giving in to popular pressure to shut up the compiler with casts.
9155
e24e84cc
GM
91562000-10-27 Gerd Moellmann <gerd@gnu.org>
9157
9158 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
9159 signed value, and use a default value computed from the font's
9160 maximum descent.
9161
05ea7ef2
MB
91622000-10-27 Miles Bader <miles@lsi.nec.co.jp>
9163
9164 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
9165 that specify a negative underline position can still use underlines.
9166
9167 * window.c (Fpos_visible_in_window_p): Make POS default to
9168 WINDOW's point, not the current buffer's point.
9169
0b95284b
DL
91702000-10-26 Dave Love <fx@gnu.org>
9171
9172 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
9173 when it's necessary.
9174
6c5b90af
GM
91752000-10-26 Gerd Moellmann <gerd@gnu.org>
9176
8b6d9dc9
GM
9177 * window.c (size_window): Compute size difference from sum of old
9178 child window sizes instead of from parent's size.
9179
6bc92b2e
GM
9180 * xdisp.c (pos_visible_p): Change current buffer if necessary.
9181 Handle obscured lines at the top of the window.
9182
9183 * frame.c (Fdelete_frame): Doc fix. Move running the hook
9184 down after the last error condition check.
9185
6c5b90af
GM
9186 * frame.c (Fdelete_frame): Run delete-frame-hook.
9187
42f92d4d
KH
91882000-10-26 Kenichi Handa <handa@etl.go.jp>
9189
9190 * coding.c (decode_coding): Fix previous change (check also
9191 CODING_MODE_LAST_BLOCK).
9192
d97151cb
SM
91932000-10-25 Stefan Monnier <monnier@cs.yale.edu>
9194
e7efc503
SM
9195 * regex.c: More `unsigned char' -> `re_char' changes.
9196 Also change several `int' into `re_wchar_t'.
9197 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
9198 (PUSH_FAILURE_POINTER): Don't cast any more.
9199 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
9200 We want GCC to complain, since this piece of code makes
9201 re_match non-reentrant, which *should* be fixed.
9202 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
9203 (EXTEND_BUFFER): Use RETALLOC.
9204 (SET_LIST_BIT): Don't cast.
9205 (re_wchar_t): New type.
9206 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
9207 that those two functions will always properly return.
9208 (IMMEDIATE_QUIT_CHECK): Cast to void.
9209 (analyse_first): Use recursion rather than an explicit stack.
9210 (re_compile_fastmap): Can't fail anymore.
9211 (re_search_2): Don't check re_compile_fastmap for failure.
9212 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
9213 Now also sets the new value (passed in a new argument).
9214 (re_match_2_internal): Use it.
9215 Also, use a new var `reg' of type size_t when looping through regs
9216 rather than reuse the inappropriate `mcnt'.
9217
d97151cb
SM
9218 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
9219 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
9220 (where_is_internal): Renamed from Fwhere_is_internal.
9221 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
9222 (Fwhere_is_internal): New function wrapping where_is_internal.
9223 (where_is_internal_1): Handle the case where we're filling the cache.
9224 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
9225
d5789b65
MB
92262000-10-25 Miles Bader <miles@gnu.org>
9227
9228 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
9229
4ecda532
GM
92302000-10-25 Gerd Moellmann <gerd@gnu.org>
9231
9232 * window.c (pos_fully_visible_p): Removed.
9233 (Fpos_visible_in_window_p): Use pos_visible_p to determine
9234 if position is visible and/or fully visible.
9235
9236 * lisp.h (pos_visible_p): Add prototype.
9237
9238 * xdisp.c (pos_visible_p): New function.
9239
68c3a137
KH
92402000-10-25 Kenichi Handa <handa@etl.go.jp>
9241
9242 * process.c (send_process): If OBJECT is t, it means that the data
9243 is from C string, but we should encode it. Before calling
9244 setup_raw_text_coding_system, be sure to flush out data by the
9245 previous coding system.
9246
7ae1c032
MB
92472000-10-25 Miles Bader <miles@lsi.nec.co.jp>
9248
ff4dcd4b
MB
9249 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
9250 assignment of startpos to prev when startpos == pos.
9251
7ae1c032
MB
9252 * editfns.c (find_field): Set the field stickiness correctly from
9253 overlay fields. Use renamed `text_property_stickiness'.
9254 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 9255 Only check text properties, not overlays.
7ae1c032
MB
9256 * textprop.c (get_char_property_and_overlay): New function.
9257 (Fget_char_property): Use it.
9258 * intervals.h (get_char_property_and_overlay): Add declaration.
9259
49801145
SM
92602000-10-25 Stefan Monnier <monnier@cs.yale.edu>
9261
9262 * keymap.c: Use AREF, ASET and ASIZE macros.
9263 (Fmake_sparse_keymap): Docstring fix.
9264 (synkey): Remove.
9265 (shadow_lookup): Move up.
9266 Handle the case where lookup-key returns an integer.
9267 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
9268 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
9269 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
9270 Simplify/rewrite the keymap-finding code.
9271 Add check for command shadowing, using shadow_lookup.
9272
39e776cd
SM
92732000-10-24 Stefan Monnier <monnier@cs.yale.edu>
9274
9275 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
9276 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
9277 a symbol.
9278
2488aba5
AI
92792000-10-24 Andrew Innes <andrewi@gnu.org>
9280
9281 * dired.c (directory_files_internal_unwind): New function.
9282 (directory_files_internal): Use it to ensure closedir is called
9283 even if expand-file-name or file-attributes throw, eg. because of
9284 a user interrupt. Also enable immediate_quit while calling
9285 re_search, so that matching can be interrupted as well.
9286
b94fdf61
AI
92872000-10-24 Andrew Innes <andrewi@gnu.org>
9288
9289 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
9290 NT-Emacs only.
9291 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
9292 so that re_search functions only quit when callers expect them to.
9293
92942000-10-24 Kenichi Handa <handa@etl.go.jp>
9295
9296 * regex.c (regex_compile): Change the way of handling a range from
9297 a char less than 256 to a char not less than 256.
9298
1946f901
GM
92992000-10-24 Gerd Moellmann <gerd@gnu.org>
9300
7ae2f10f
GM
9301 * window.c (size_window): Prevent setting window's width or
9302 height to a negative value (esp. with XSETFASTINT).
9303
5dcab13e
GM
9304 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
9305 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
9306 (protect_malloc_state) [GC_MALLOC_CHECK &&
9307 GC_PROTECT_MALLOC_STATE]: New function.
9308 (PROTECT_MALLOC_STATE): New macro.
9309 (__malloc_initialize, morecore, _malloc_internal)
9310 (_free_internal) _realloc_internal): Use it to make _heapinfo
9311 read-only outside of gmalloc.
9312
63e1b552
GM
9313 * keymap.c: Update copyright.
9314
1946f901
GM
9315 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
9316 a symbol.
9317
4fa09beb
GM
93182000-10-24 Colin Walters <walters@cis.ohio-state.edu>
9319
9320 * filelock.c (unlock_all_files): Use unlock_file to expand each
9321 buffer's file_truename before trying remove its lock file.
9322
23afac01
EZ
93232000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
9324
9325 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
9326 or CRLF, decode EOLs.
9327
04448b95
KH
93282000-10-24 Kenichi Handa <handa@etl.go.jp>
9329
9330 * window.c (Fdisplay_buffer): Fix doc.
9331
3090a5a5
JR
93322000-10-23 Jason Rumney <jasonr@gnu.org>
9333
9334 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
9335 ASCII font of default fontset on Windows.
9336
9337 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
9338 xterm.c comment below).
9339
9340 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
9341
a83fee2c
GM
93422000-10-23 Gerd Moellmann <gerd@gnu.org>
9343
9344 * xterm.c (x_connection_closed): Reset handling_signal.
9345
52283633 9346 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 9347
6ffdb539
MB
93482000-10-23 Miles Bader <miles@gnu.org>
9349
9350 * window.c (window_scroll_pixel_based, window_scroll_line_based):
9351 Pass nil for FULLY argument to Fpos_visible_in_window_p to
9352 maintain old behavior.
9353 * minibuf.c (Fminibuffer_complete): Likewise.
9354
7f1c969b
MB
93552000-10-23 Miles Bader <miles@lsi.nec.co.jp>
9356
9357 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
9358 that when a font can't be exactly centered, it errs up rather than
9359 down.
9360
23afac01 93612000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 9362
52283633 9363 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 9364
1a578e9b
AC
93652000-10-23 Andrew Choi <akochoi@i-cable.com>
9366
9367 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
9368
9369 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 9370 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
9371
9372 * emacs.c (main) [macintosh]: Call syms_of_textprop,
9373 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
9374 syms_of_search, x_term_init, and init_keyboard before calling
9375 init_window_once. Also, call syms_of_xmenu.
9376
9377 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
9378 default fontset to Monaco.
9379
9380 * frame.c [macintosh]: Include macterm.h. Remove declarations of
9381 NewMacWindow and DisposeMacWindow.
9382 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
9383 instead of calling NewMacWindow and setting fields of
9384 f->output_data.mac directly. Call init_frame_faces.
9385 (Fdelete_frame) [macintosh]: Remove unused code.
9386 (Fmodify_frame_parameters) [macintosh]: Call
9387 x_set_frame_parameters instead of mac_set_frame_parameters.
9388
9389 * frame.h [macintosh]: Define menu_bar_lines field in struct
9390 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
9391
9392 * keyboard.c [macintosh]: Include macterm.h.
9393 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
9394 and menu_bar_activate_event type events as for X and NT.
9395 (make_lispy_event) [macintosh]: Construct lisp events of type
9396 MENU_BAR_EVENT as for X and NT.
9397
9398 * sysdep.c [macintosh]: Remove declaration for sys_signal.
9399 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
9400 (sys_subshell) [macintosh]: Remove definition entirely.
9401 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
9402 Vwindow_system_version here. Remove initialization of
9403 Vx_bitmap_file_path.
9404 (read_input_waiting): Correct the number of parameters passed to
9405 read_socket_hook.
9406 Move all Macintosh functions to mac/mac.c.
9407
9408 * term.c [macintosh]: Include macterm.h.
9409
9410 * window.c [macintosh]: Include macterm.h.
9411
9412 * xdisp.c [macintosh]: Include macterm.h. Declare
9413 set_frame_menubar and pending_menu_activation.
9414 (echo_area_display) [macintosh]: Do not return if terminal frame
9415 is the selected frame.
9416 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
9417 Allow only the selected frame to set menu bar.
9418 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
9419 calling FRAME_EXTERNAL_MENU_BAR (f).
9420 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
9421
9422 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
9423 and check_x. Declare XCreateGC. Define x_create_gc and
9424 x_free_gc. Initialize font_sort_order.
9425 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
9426 but call x_list_fonts instead of w32_list_fonts.
9427 (Finternal_face_x_get_resource) [macintosh]: Do not call
9428 display_x_get_resource.
9429 (prepare_face_for_display) [macintosh]: Set xgcv.font.
9430 (realize_x_face) [macintosh]: Load the font if it is specified in
9431 ATTRS.
52283633 9432 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 9433
1ffbabe3
SM
94342000-10-22 Stefan Monnier <monnier@cs.yale.edu>
9435
9436 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
9437 is nil: since we go to the end of submap anyway, we'd end up
9438 setting nil to nil.
9439 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
9440 doesn't obey autoload.
9441
bed43f1d
EZ
94422000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9443
1ffbabe3 9444 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 9445
ea4233a7
JR
94462000-10-21 Jason Rumney <jasonr@gnu.org>
9447
9448 * w32term.c (w32_cache_char_metrics): Double check that font is
9449 really fixed pitch before trusting tmPitchAndFamily.
9450
f3d3c491
AI
94512000-10-21 Andrew Innes <andrewi@gnu.org>
9452
9453 * w32gui.h (w32_char_font_type): Move enum from w32term.c
9454
9455 * w32term.h: Extern decl for w32_cache_char_metrics.
9456
9457 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
9458
9459 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
9460 (w32_unload_font): Free per_char array if present.
9461
9462 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
9463 cached information in emulated XFontStruct to handle common cases
9464 quickly. Do not allocate XCharStruct for return.
9465 (w32_native_per_char_metric): New function.
9466 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
9467 allocating one.
9468 (x_produce_glyphs): Don't get an HDC. Change calls to
9469 w32_per_char_metric to match arg change above. Remove calls to
9470 free results.
9471 (w32_get_glyph_overhangs): Ditto.
9472 (w32_cache_char_metrics): New function.
9473
9474 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
9475 ($(BLD)/casefiddle.$(O)): Remove compile command.
9476 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
9477 ($(BLD)/dispnew.obj):
9478 ($(BLD)/keyboard.obj):
9479 ($(BLD)/w32inevt.obj):
9480 ($(BLD)/w32bdf.obj):
9481 ($(BLD)/alloc.obj):
9482 ($(BLD)/buffer.obj):
9483 ($(BLD)/editfns.obj):
9484 ($(BLD)/emacs.obj):
9485 ($(BLD)/fileio.obj):
9486 ($(BLD)/fns.obj):
9487 ($(BLD)/indent.obj):
9488 ($(BLD)/insdel.obj):
9489 ($(BLD)/intervals.obj):
9490 ($(BLD)/minibuf.obj):
9491 ($(BLD)/print.obj):
9492 ($(BLD)/scroll.obj):
9493 ($(BLD)/sysdep.obj):
9494 ($(BLD)/textprop.obj):
9495 ($(BLD)/widget.obj):
f3d3c491
AI
9496 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
9497 ($(BLD)/term.obj): Add dependency on dispextern.h.
9498
52283633
SM
9499 * makefile.nt ($(BLD)\dispnew.obj):
9500 ($(BLD)\keyboard.obj):
9501 ($(BLD)\w32inevt.obj):
9502 ($(BLD)\w32bdf.obj):
9503 ($(BLD)\alloc.obj):
9504 ($(BLD)\buffer.obj):
9505 ($(BLD)\editfns.obj):
9506 ($(BLD)\emacs.obj):
9507 ($(BLD)\fileio.obj):
9508 ($(BLD)\fns.obj):
9509 ($(BLD)\indent.obj):
9510 ($(BLD)\insdel.obj):
9511 ($(BLD)\intervals.obj):
9512 ($(BLD)\minibuf.obj):
9513 ($(BLD)\print.obj):
9514 ($(BLD)\scroll.obj):
9515 ($(BLD)\sysdep.obj):
9516 ($(BLD)\textprop.obj):
9517 ($(BLD)\widget.obj):
f3d3c491
AI
9518 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
9519 ($(BLD)\term.obj): Add dependency on dispextern.h
9520
18ad4821
EZ
95212000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9522
9523 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
9524 with an additional argument of Qt.
9525
de54681a
MB
95262000-10-21 Miles Bader <miles@gnu.org>
9527
9528 * window.c (pos_fully_visible_in_window_p): New function.
9529 (Fpos_visible_in_window_p): Add FULLY argument.
9530 Use pos_fully_visible_in_window_p.
9531 (window_scroll_pixel_based, window_scroll_line_based): Update
9532 calls to Fpos_visible_in_window_p.
9533 * lisp.h (Fpos_visible_in_window_p): Update prototype
9534
13c844fb
GM
95352000-10-20 Gerd Moellmann <gerd@gnu.org>
9536
9537 * alloc.c (toplevel): Conditionalize compilation of mem_*
9538 functions differently.
52283633 9539
d9506268
JR
95402000-10-20 Jason Rumney <jasonr@gnu.org>
9541
9542 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
9543 mem_init where it used to be. mem_z etc not defined otherwise.
9544
8094989b
GM
95452000-10-20 Gerd Moellmann <gerd@gnu.org>
9546
9547 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
9548 GC_MALLOC_CHECK.
9549 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
9550 structure definition and related variabled to the top of the file.
9551 Include this code when GC_MALLOC_CHECK is defined.
9552 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
9553 register/unregister allocated region.
9554 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
9555 which isn't allocated.
9556 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
9557 something which is already in use.
9558 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
9559 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
9560 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
9561 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
9562
9563 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
9564 _malloc_internal instead of malloc.
9565 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
9566 of free.
9567
ea456eb4
AI
95682000-10-20 Andrew Innes <andrewi@gnu.org>
9569
9570 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
9571 Windows.
9572 (my_strftime) <macro>: Don't use macro arg list when redefining as
9573 _strftime_copytm.
9574 (my_strftime) <function>: Supply 0 as ut argument.
9575
e64c3a75
JR
95762000-10-19 Jason Rumney <jasonr@altavista.net>
9577
9578 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
9579 including dispextern.h, as it stops faces from working.
9580
9581 * w32fns.c (Fx_create_frame): Don't bother calling
9582 face-set-after-frame-default since the caller does it for us
9583 anyway. Clean up calls to x_get_arg to be consistent with X.
9584
9585 * w32term.c (x_produce_glyphs): Handle
9586 unibyte_display_via_language_environment correctly.
9587 (w32_draw_box_rect): Fix the calculation of width and height.
9588
9589 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
9590 as it has stopped working.
9591 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
9592 menu-bar.
9593
17401c97
GM
95942000-10-19 Gerd Moellmann <gerd@gnu.org>
9595
9596 * eval.c (skip_debugger): Prevent a compiler warning.
9597 (Fcondition_case): Likewise.
9598 (Fbacktrace_frame): Use a null interactive spec.
9599
773272d8
KH
96002000-10-19 Kenichi Handa <handa@etl.go.jp>
9601
9602 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
9603
a42943e9
GM
96042000-10-18 Gerd Moellmann <gerd@gnu.org>
9605
e50517d9
GM
9606 * strftime.c: Sync with glibc, file version 1.78.
9607 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
9608 should no longer be used according to ISO 8601.
9609
9035a35a
GM
9610 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
9611 no map for meta_prefix_char, don't try to use it as a keymap.
9612 Instead, if T_OK is non-zero, look up a default binding, if any,
9613 otherwise, if T_OK is zero, return nil.
9614
a42943e9
GM
9615 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
9616 (x_to_xcolors, png_load): Use x_query_color.
9617
52283633
SM
9618 * xterm.c (x_color_cells, x_query_colors, x_query_color):
9619 New functions.
a42943e9
GM
9620 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
9621 which can be slow.
9622 (x_copy_color, x_alloc_lighter_color): Likewise.
9623
9624 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
9625 (x_query_color, x_query_colors): Add prototype.
9626
9627 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
9628 check_string_bytes only if not noninteractive, increase count to 50.
9629
00de2987
MB
96302000-10-18 Miles Bader <miles@lsi.nec.co.jp>
9631
9632 * insdel.c (adjust_markers_for_delete): Handle before-insertion
9633 markers correctly.
9634
54918e2b
GM
96352000-10-17 Gerd Moellmann <gerd@gnu.org>
9636
1f0b3fd2
GM
9637 * alloc.c (pure_bytes_used): Renamed from pureptr.
9638 (ALIGN): New macro.
9639 (pure_alloc): New function.
9640 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
9641 Use it.
9642 (Fpurecopy): Use PURE_POINTER_P.
9643
68c5d1db
GM
9644 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
9645 PT has moved backward.
52283633 9646
9a038881
GM
9647 * xdisp.c (cursor_row_p): Take continued lines into account.
9648
361b097f
GM
9649 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
9650 string's size_byte.
9651 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
9652 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
9653 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
9654 string allocated.
9655
54918e2b
GM
9656 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
9657 of selective display off while searching for the next line start.
9658
03ed0806
KH
96592000-10-17 Kenichi Handa <handa@etl.go.jp>
9660
9661 * Makefile.in (term.o): Depend on dispextern.h.
9662
7e05cdaf
SM
96632000-10-16 Stefan Monnier <monnier@cs.yale.edu>
9664
9665 * keymap.c (keymap_memberp): Ensure that nil is not a member.
9666
a6801fd1
GM
96672000-10-16 Gerd Moellmann <gerd@gnu.org>
9668
483de32b
GM
9669 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
9670 the iterator at the beginning, so that they can be set later on,
9671 for instance in reseat_at_next_visible_line_start, without being
9672 overwritten.
9673
a6801fd1
GM
9674 * xfns.c (pbm_format): Add :foreground and :background keywords.
9675 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 9676 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 9677
dbf1fcc1
EZ
96782000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
9679
9680 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
9681
52283633 9682 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
9683
9684 * msdos.c (IT_set_face): Compare highlighted face with the default
9685 face, and invert colors if these faces' colors are identical.
9686 (Fmsdos_remember_default_colors): Don't swap foreground and
9687 background colors in initial_colors[].
9688 (IT_set_frame_parameters): Don't swap frame's foreground and
9689 background pixels. If ALIST includes "(reverse . t)", swap
9690 foreground-color and background-color properties in frame's
9691 param_alist. If the original frame's param_alist doesn't specify
9692 the colors, store unspecified-fg and unspecified-bg, reversed if
9693 required.
9694
9695 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
9696 the colors are unspecified and reversed, reverse fore- and back-
9697 ground in the returned value.
9698 (Fframe_parameter): Ditto.
9699
b41fe2c3 97002000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 9701
3a6b59d9
GM
9702 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
9703 get_last_unchanged_at_beg_row.
9704 (find_first_unchanged_at_end_row): Renamed from
9705 get_first_unchanged_at_end_row.
9706 (find_first_unchanged_at_end_row): Convert assertions to
9707 unconditional tests which abort. When looking for a row in
9708 unchanged text, don't go further back than first_text_row.
9709
b41fe2c3
GM
9710 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
9711 Don't add in the last line's height when deciding if the new
9712 position is below the scroll margin.
9d1af64f 9713
b41fe2c3 97142000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
9715
9716 * editfns.c (Fconstrain_to_field): Check carefully for field
9717 boundaries if either OLD_POS or NEW_POS has a non-nil field
9718 property, even if they're the same.
9719
c412cb7b
KH
97202000-10-16 Kenichi Handa <handa@etl.go.jp>
9721
9722 * xterm.c (x_draw_box_rect): Fix the calculation of width and
9723 height for XFillRectangle.
9724
5586f3eb
SM
97252000-10-15 Stefan Monnier <monnier@cs.yale.edu>
9726
9727 * syntax.c (Fstring_to_syntax): New function extracted from
9728 Fmodify_syntax_entry.
9729 (Fmodify_syntax_entry): Use it and document the ! and | fences.
9730 (skip_chars, Fforward_comment): Remove unused variables.
9731 (syms_of_syntax): Add defsubr for string-to-syntax.
9732 (describe_syntax): Add code for comment and string fences.
9733
db785038
SM
97342000-10-14 Stefan Monnier <monnier@cs.yale.edu>
9735
9736 * keymap.c (access_keymap): Add AUTOLOAD parameter.
9737 Do the meta->esc mapping. Call get_keyelt before returning.
9738 Start scanning from the second element (the first is always `keymap')
9739 to make it easier to detect when we reach a parent map.
9740 Handle the case of inheriting from a symbol whose function is a map.
9741 (Fkeymap_parent): Also handle the `inherit from symbol' case.
9742 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
9743 (get_keyelt, Flookup_key): Update call to access_keymap.
9744 Remove the meta->esc mappings.
9745 (define_as_prefix): Delete old disabled code.
9746 (menu_item_p): New function.
9747 (where_is_internal_1): Skip over the few remaining menu items.
9748 * lisp.h (access_keymap): Update prototype.
9749 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
9750 Update call to access_keymap.
9751 (follow_key, read_key_sequence): Update calls to access_keymap.
9752 Remove the meta->esc mappings.
9753
cafafe0b
GM
97542000-10-13 Gerd Moellmann <gerd@gnu.org>
9755
a2e2a7f6
GM
9756 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
9757 with additional argument.
9758
cafafe0b
GM
9759 * xdisp.c (cursor_row_p): New function.
9760 (try_cursor_movement, display_line): Use it.
52283633 9761
cafafe0b
GM
9762 * xdisp.c (append_space): Also save/restore iterator's current
9763 character and its length.
9764
9765 * xdisp.c (init_from_display_pos): Add an assertion.
9766 (handle_stop): Don't set iterator's add_overlay_start.
9767 (handle_invisible_prop): Likewise.
9768 (load_overlay_strings): If text under an overlay is invisible,
9769 take both before- and after-strings into account when the iterator
9770 is positioned either at the start or at the end of the overlay.
9771 (forward_to_next_line_start): Rewritten.
9772 (reseat_at_next_visible_line_start): Rewritten.
9773 (set_iterator_to_next): Add parameter RESEAT_P.
9774
9775 * dispextern.h (struct it): Remove member add_overlay_start.
9776 (set_iterator_to_next): Change prototype.
9777
c744452b
KH
97782000-10-13 Kenichi Handa <handa@etl.go.jp>
9779
9780 * coding.c (code_convert_region): Be sure to initialize
9781 coding->category_idx.
e4a3f4e1
KH
9782 (decode_coding_string): Set coding->src_multibyte and
9783 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
9784 (encode_coding_string): Set coding->src_multibyte and
9785 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 9786
321fd26f
SM
97872000-10-12 Stefan Monnier <monnier@cs.yale.edu>
9788
9789 * xfns.c (Fx_create_frame): Don't bother calling
9790 face-set-after-frame-default since the caller does it for us anyway.
9791
76832439
EZ
97922000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
9793
9794 * window.c (coordinates_in_window): Fix detection of vertical line
9795 on character terminals.
9796
2483cf58
GM
97972000-10-12 Gerd Moellmann <gerd@gnu.org>
9798
9799 * editfns.c (save_excursion_save): Additionally record the
9800 selected window.
9801 (save_excursion_restore): If buffer was visible in a window, and a
9802 different window was selected, and the old selected window is
9803 still live, restore point in that window.
9804
eb991b25
KH
98052000-10-12 Kenichi Handa <handa@etl.go.jp>
9806
8a0eba09
KH
9807 * xterm.c (x_produce_glyphs): Handle
9808 unibyte_display_via_language_environment correctly.
9809
20401fcc
KH
9810 * regex.c (regex_compile): Change the way of handling a range from
9811 unibyte char to multibyte char.
9812
9813 * syntax.c (skip_chars): Change the way of handling a range from
9814 unibyte char to multibyte char.
9815
eb991b25
KH
9816 * process.c (read_process_output): Cancel previous change.
9817
365dd325
EZ
98182000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
9819
c1b096cb
EZ
9820 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
9821
365dd325
EZ
9822 * charset.c (Ffind_charset_string): Doc fix.
9823 (Ffind_charset_region): Doc fix.
9824
eb483c2b
KH
98252000-10-11 Kenichi Handa <handa@mule.m17n.org>
9826
9827 * process.c (read_process_output): Fix previous change. Adjust
9828 multibyteness of text to insert in a buffer by
52283633 9829 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 9830
b40bfb99
AS
98312000-10-10 Andreas Schwab <schwab@suse.de>
9832
9833 * alloc.c (mark_object): Remove all workarounds installed on
9834 1993-08-08.
9835
caff31d4
KH
98362000-10-10 Kenichi Handa <handa@etl.go.jp>
9837
52283633 9838 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
9839 (base64_encode_1): Make it work for a text of multibyte form.
9840 (Fbase64_decode_region): Allocate sufficient memory for multibyte
9841 case. Don't call str_to_multibyte because base64_decode_1
9842 produces correct multibyte form for eight-bit codes.
52283633 9843 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
9844 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
9845 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
9846 codes.
9847
9848 * charset.h (CHAR_STRING): Optimized for single byte characters.
9849
cba026ef
AS
98502000-10-09 Andreas Schwab <schwab@suse.de>
9851
9852 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
9853 -1 after socket is closed, to fall through to error processing.
9854
1e21fe48
EZ
98552000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
9856
9857 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 9858 variables. If ALIST includes foreground-color or
1e21fe48
EZ
9859 background-color, change also the colors of the default face for
9860 this frame.
9861
a640322e
EZ
98622000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
9863
9864 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
9865 them extern (they are defined on xfaces.c).
9866 (syms_of_msdos): Don't intern and don't staticpro
9867 Qbackground_color and Qforeground_color.
9868
a115794c
EZ
98692000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
9870
9871 * frame.c (Fframe_parameter): For non-windowed frames, if
9872 f->param_alist says foreground or background color is unspecified,
9873 call tty_color_name to return the color name computed from the
9874 frame's current colors.
9875
f5533b63
DL
98762000-10-06 Dave Love <fx@gnu.org>
9877
9878 * terminfo.c (ospeed): Don't declare.
9879
9880 * sysdep.c: Don't include string.h.
9881 (h_errno): Declare conditional also on TRY_AGAIN.
9882
9883 * charset.c (Ffind_charset_string): Doc fix.
9884
52283633 9885 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
9886 (Fbase64_decode_region, Fbase64_decode_string): More explicit
9887 error messages.
9888
2b06561a
DL
98892000-10-05 Dave Love <fx@gnu.org>
9890
9891 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
9892 position like menu-bar.
9893
ca839c85
GM
98942000-10-05 Gerd Moellmann <gerd@gnu.org>
9895
9896 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
9897
9898 * xdisp.c (handle_single_display_prop): Use safe_call1.
9899 (safe_call): Renamed from call_function.
9900 (safe_call1): New function.
9901 (handle_fontified_prop): Use safe_call1 instead of call1.
9902 (safe_eval): Renamed from eval_form.
9903 (safe_eval_handler): Renamed from eval_handler.
9904 (handle_single_display_prop, display_mode_element): Use safe_eval
9905 instead of eval_form.
9906
9907 * xfaces.c (merge_face_heights): Use safe_call instead of
9908 call_function.
9909
9910 * keyboard.c (show_help_echo): Use safe_call instead of
9911 call_function; use safe_eval instead of eval_form.
9912
9913 * lisp.h (safe_call): Renamed from call_function.
9914 (safe_eval): Renamed from eval_form.
9915 (safe_call1): Add prototype.
9916
a3489ece
MB
99172000-10-05 Miles Bader <miles@lsi.nec.co.jp>
9918
9919 * xfns.c (image_ascent): Rearrange ascent calculation for the
9920 has-a-font case.
9921
35810b6f
SM
99222000-10-04 Stefan Monnier <monnier@cs.yale.edu>
9923
9924 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
9925 (where_is_internal_1): Don't bother ignoring menu-items any more.
9926
3dc78168
GM
99272000-10-04 Gerd Moellmann <gerd@gnu.org>
9928
9929 * keyboard.c (update_menu_bindings): New variable.
9930 (parse_menu_item): Use AREF. If update_menu_bindings
9931 is 0, don't update menu bindings.
9932 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
9933
1efc2bb9
EZ
99342000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
9935
9936 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
9937 to `mark_object'.
9938
3f679f55
SM
99392000-10-02 Stefan Monnier <monnier@cs.yale.edu>
9940
9941 * syntax.c (forw_comment): Match nestedness of ender/starter.
9942 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
9943 (prev_char_comstart_first): Remove.
9944 (back_comment): Check two-char comment markers more carefully
9945 to better handle overlapping cases like *//* or /* */* */ ...
9946 Match nestedness of ender/starter.
9947
2021ab61
DL
99482000-10-02 Dave Love <fx@gnu.org>
9949
9950 * config.in (HAVE_GAI_STRERROR): Add undef.
9951
9952 * process.c (Fopen_network_stream): Use it.
9953
9954 * m/alpha.h (NO_REMAP): Don't define.
9955
64e6cc18
GM
99562000-10-02 Gerd Moellmann <gerd@gnu.org>
9957
9958 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
9959 return with a string converted to an integer or vice versa when
9960 Vmocklisp_arguments is t.
9961 (Fsignal): Likewise. The function can return for `quit'.
9962 (struct gcpro): Declare member `var' to point to a volatile
9963 Lisp_Object.
9964
9965 * eval.c (error): Prevent compiler warning.
9966
b1904cd9
SM
99672000-09-30 Stefan Monnier <monnier@cs.yale.edu>
9968
9969 * keymap.c (keymap_memberp): New function.
9970 (Fset_keymap_parent): Use it.
9971 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
9972 Use keymap_memberp to avoid creating cycles.
9973 (access_keymap): Use KEYMAPP.
9974
71c9ec51
GM
99752000-09-30 Gerd Moellmann <gerd@gnu.org>
9976
9977 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
9978 gai_strerror. Make sure xerrno is set if connect fails. Improve
9979 error recovery.
71c9ec51 9980
c70c6b58
JR
99812000-09-29 Jason Rumney <jasonr@gnu.org>
9982
9983 * w32term.c (w32_char_font_type, w32_encode_char)
9984 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
9985 (w32_bdf_per_char_metric): New function.
9986 (w32_per_char_metric): Use it.
9987 (x_draw_glyph_string_background): Always draw background for BDF
9988 glyphs.
9989
9990 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
9991 GDI object which is a scarce resource.
9992
9993 * w32bdf.c (search_file_line): Fix skipping of whitespace.
9994 (get_quoted_string): Fix limit on memchr search.
9995 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
9996 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
9997 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
9998 (get_cached_font_char, cache_char_offset): Use macro
9999 BDF_CODEPOINT_RANGE_COVER_P.
10000 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
10001 (clear_cached_bitmap_slots): New function.
10002 (GET_HEX_VALUE): G-Z, g-z are not hex.
10003 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
10004 (get_bitmap_with_cache): Use new cache implementation.
10005 (create_offscreen_bitmap): New function.
10006 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
10007
10008 * w32term.c (x_produce_glyphs): If the distance from the current
10009 position to the next tab stop is less than a canonical character
10010 width, use the tab stop after that.
10011 (x_draw_glyphs): Handle case START and END are out of bounds more
10012 carefully.
10013 (x_clear_mouse_face): Block/unblock input.
10014 (x_display_and_set_cursor): Don't show a hollow box cursor for
10015 buffers whose cursor_type is nil.
10016
fe01239f
GM
100172000-09-29 Gerd Moellmann <gerd@gnu.org>
10018
52283633 10019 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
10020
10021 * dispextern.h (updating_frame): Declare extern.
10022
e7c52f1f
AS
100232000-09-29 Andreas Schwab <schwab@suse.de>
10024
10025 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
10026
de6e1f7c
GM
100272000-09-29 Gerd Moellmann <gerd@gnu.org>
10028
25126faa
GM
10029 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
10030 use its function definition.
10031 (tool_bar_items): Likewise.
10032
de6e1f7c 10033 * lisp.h (fatal): Declare NO_RETURN.
52283633 10034
454ee39b
KH
100352000-09-29 Kenichi Handa <handa@etl.go.jp>
10036
10037 * keymap.c: Remove the line "#undef NULL".
10038
96301c5f
GM
100392000-09-28 Gerd Moellmann <gerd@gnu.org>
10040
52283633 10041 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 10042
efffeeb4
DL
100432000-09-28 Dave Love <fx@gnu.org>
10044
ecb8b666
DL
10045 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
10046
dc3cd20f
DL
10047 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
10048
10049 * .gdbinit (xreload): Note its need on GNU/Linux.
10050
efffeeb4
DL
10051 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
10052 r_alloc, r_alloc_free.
10053
8610d903
KH
100542000-09-28 Kenichi Handa <handa@etl.go.jp>
10055
10056 * syntax.c (skip_chars): Handle negation correctly.
10057
8901d1ac
GM
100582000-09-27 Gerd Moellmann <gerd@gnu.org>
10059
6f22f1ad
GM
10060 * xfaces.c (realize_default_face): Call set_lface_from_font_name
10061 with non-zero FORCE_P argument.
10062
52283633 10063 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
10064 Add assertions.
10065
10066 * xdisp.c (window_box_height): Add an assertion.
10067
10068 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
10069 tool-bar than is available.
10070 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
10071
36f1966f
DL
100722000-09-27 Dave Love <fx@gnu.org>
10073
efffeeb4 10074 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 10075
31d929e5
GM
100762000-09-26 Gerd Moellmann <gerd@gnu.org>
10077
c98863bf
GM
10078 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
10079 instead of BITS_PER_INT.
10080 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
10081 EMACS_UINT, respectively.
10082 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
10083
10084 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
10085
10086 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
10087
77072ab1
GM
10088 * window.c (freeze_window_starts): Construct last argument for
10089 foreach_window differently.
10090
10091 * xfns.c (x_decode_color): Don't return a Lisp_Object.
10092
10093 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
10094 EMACS_UINT instead of `int' and `unsigned int'.
10095 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
10096
10097 * frame.h (struct frame): Make the `nothing' member of union
10098 output_data an EMACS_INT.
10099
52283633 10100 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
10101 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
10102 size in the sdata structure.
10103 (SDATA_NBYTES, SDATA_DATA): New macros.
10104 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
10105 differently for the different layout of the sdata structure.
10106 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
10107 in sdata.
10108 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
10109 Check that size recorded in the string size and size recorded in
10110 the sdata structure agree.
10111
3e60b029
DL
101122000-09-25 Dave Love <fx@gnu.org>
10113
10114 * buffer.c: Include stdio.h.
10115
10116 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 10117
3e60b029
DL
10118 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
10119
10120 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 10121 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
10122 (__malloc_extra_blocks): Declare as __malloc_size_t.
10123
8ff16b4e
GM
101242000-09-25 Gerd Moellmann <gerd@gnu.org>
10125
755a2ccd
GM
10126 * alloc.c (mark_image): Use GC_NILP instead of NILP.
10127
d8b4516f
GM
10128 * keyboard.c (show_help_echo): Set help_echo_showing_p.
10129 (read_char): If help-echo is showing, preserve the echo area
10130 when redisplaying.
10131
10132 * xdisp.c (help_echo_showing_p): New variable.
10133 (set_message): Reset it to 0.
10134 (init_xdisp): Initialize help_echo_showing_p.
10135
10136 * dispextern.h (help_echo_showing_p): Declare extern.
10137
10138 * config.in: Fix typo in __GNUC_MINOR__.
10139
10140 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
10141
b11af2dd
GM
10142 * s/freebsd.h (POSIX_SIGNALS): Define.
10143
8ff16b4e
GM
10144 * xterm.c (x_clear_mouse_face): Block/unblock input.
10145
844eb643
DL
101462000-09-24 Dave Love <fx@gnu.org>
10147
10148 * fns.c (base64_encode_1): Fix last change.
10149
b30ab1b3
GM
101502000-09-22 Gerd Moellmann <gerd@gnu.org>
10151
10152 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
10153
10154 * xdisp.c (try_window_reusing_current_matrix): More fixes
10155 for the case window has a header-line.
10156
c6cbe5f0
DL
101572000-09-22 Dave Love <fx@gnu.org>
10158
4c7c1f3f
DL
10159 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
10160 a doc string.
10161
10162 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
10163
c6cbe5f0
DL
10164 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
10165
550a625e
GM
101662000-09-21 Gerd Moellmann <gerd@gnu.org>
10167
4c7c1f3f 10168 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
10169 for GCC >= 2.5.
10170
52283633
SM
10171 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
10172 Declare NO_RETURN.
fca99116 10173
80d26f99
GM
10174 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
10175 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
10176 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
10177 warnings.
52283633 10178
80d26f99
GM
10179 * marker.c (byte_char_debug_check): Return void.
10180
623a0aae
GM
10181 * xfns.c (Fx_create_frame): Set default frame parameter value
10182 for tool-bar-lines to 1.
10183
10184 * dispnew.c (scrolling_window): Compare y-positions of rows
10185 equal at the start. Some simplification.
10186
10187 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
10188 reused rows' y-position in the case window has a header-line, and
10189 new window start is greater than old window start.
10190
42ac0ae5
GM
10191 * process.c (process_sent_to): New variable.
10192 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
10193 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
10194 Declare more parameters volatile.
10195
550a625e
GM
10196 * lread.c (Vrecursive_load_depth_limit): New variable.
10197 (Fload): Check recursive loads whose recursion depth exceeds
10198 Vrecursive_load_depth_limit.
10199 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
10200
8320414c
GM
102012000-09-20 Gerd Moellmann <gerd@gnu.org>
10202
f46c275e
GM
10203 * fileio.c (Fread_file_name): Doc fix.
10204
10205 * editfns.c (Fmessage_or_box): Doc fix.
10206
10207 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
10208
b7e11c5b 10209 * xfns.c (xbm_scan): Allow C-style comments.
52283633 10210
8320414c
GM
10211 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
10212 symbols are specified, add color translations to the cache.
52283633 10213 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
10214 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
10215 xpm_cache_color.
10216 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
10217 structures to xpm_init_color_cache.
10218
da1608d9
GM
102192000-09-19 Gerd Moellmann <gerd@gnu.org>
10220
52283633 10221 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 10222
6badfa25
AI
102232000-09-19 Andrew Innes <andrewi@gnu.org>
10224
10225 * makefile.nt (bootstrap-emacs): Don't change directory.
10226
3a5f42bb
KH
102272000-09-19 Kenichi Handa <handa@etl.go.jp>
10228
1b7649bd
KH
10229 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
10230
3a5f42bb
KH
10231 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
10232 If output buffer is too small, signal an appropriated error.
10233
9f83cf0b
DL
102342000-09-18 Dave Love <fx@gnu.org>
10235
52283633 10236 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
10237 (current_active_maps): Remove redundant get_local_map call.
10238
28c7826c
GM
102392000-09-18 Gerd Moellmann <gerd@gnu.org>
10240
5cefa566
GM
10241 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
10242 cursor for buffers whose cursor_type is nil.
52283633 10243
6fed3546
GM
10244 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
10245 a feature to implement that is already implemented.
10246 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
10247 warnings.
10248
10249 * xfns.c (x_clear_image_1): New function.
10250 (x_clear_image): Use it.
52283633 10251 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 10252
05b1f851
GM
10253 * dispnew.c (update_window): Move test for invisible lines
10254 at the top to update_window_line.
10255 (update_window_line): Handle invisible lines here.
10256
f4779de9
GM
10257 * xfns.c (clear_image_cache): Clear current matrices of all
10258 frames sharing an image cache. Block input while freeing
10259 images. Fix timestamp comparison.
10260 (x_clear_image): Also free the mask.
10261
28c7826c
GM
10262 * xfns.c (lookup_image): Block input while loading the image so
10263 that we won't get interrupted in a state where the image isn't yet
10264 set up completely.
10265 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
10266 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
10267 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 10268 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 10269
b7412313
GM
102702000-09-16 Gerd Moellmann <gerd@gnu.org>
10271
10272 * dispnew.c (update_window): Make sure to make desired rows
10273 current even if they are completely invisible at the top
10274 of a window.
10275
47e351a3
GM
102762000-09-15 Gerd Moellmann <gerd@gnu.org>
10277
7f8f1edc
GM
10278 * xfns.c (lookup_image): Build mask before applying an algorithm.
10279 Recognize algorithm `disabled'.
10280 (cross_disabled_images): New variable.
10281 (COLOR_INTENSITY): New macro.
10282 (x_detect_edges): Use COLOR_INTENSITY.
10283 (x_disable_image): New function.
10284 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
10285
10286 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
10287 disabled state, don't apply an image transformation algorithm if
10288 the user specified an image for the disabled state. Use
28c7826c 10289 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
10290 user hasn't specified an image.
10291
ebb8f116
GM
10292 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
10293 allocation functions with the XPM lib.
10294 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
10295 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
10296 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
10297 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 10298 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
10299 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
10300 functions, if possible, because these handle color allocation
10301 failure more gracefully.
10302 (Fimage_mask_p): New function.
10303
47e351a3
GM
10304 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
10305 (Qedge_detection, Qheuristic): New symbols.
10306 (syms_of_xfns): Initialize new symbols.
10307 (lookup_image): Handle `:mask X', `:algorithm emboss', and
10308 `algorithm (edge-detection ...)'.
10309 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
10310 (tiff_format, gif_format, gs_format): Add `:mask'.
10311 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
10312 (GIF_MASK, GS_MASK): New enumerators.
10313 (x_laplace_read_row, x_laplace_write_row): Functions removed.
10314 (emboss_matrix, laplace_matrix): New variables.
10315 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
10316 (x_edge_detection): New functions.
10317 (x_laplace): Rewritten in terms of x_detect_edges.
10318 (x_build_heuristic_mask): If image has a mask, free it.
10319
fe83b953
AI
103202000-09-14 Andrew Innes <andrewi@gnu.org>
10321
10322 * makefile.w32-in: Revert to Unix line endings.
10323
3021e816
AI
103242000-09-14 Andrew Innes <andrewi@gnu.org>
10325
10326 * makefile.w32-in: Standardize indentation somewhat.
10327 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
10328 cater for differences between shells.
10329
10330 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
10331
2a32b5ea
GM
103322000-09-14 Gerd Moellmann <gerd@gnu.org>
10333
10334 * xterm.c (x_produce_glyphs): If the distance from the current
10335 position to the next tab stop is less than a canonical character
10336 width, use the tab stop after that.
10337
b4331e96
DL
103382000-09-14 Dave Love <fx@gnu.org>
10339
10340 * buffer.c (alloc_buffer_text): Fix xmalloc call.
10341
ef9e4345
GM
103422000-09-14 Gerd Moellmann <gerd@gnu.org>
10343
085536c2
GM
10344 * xdisp.c (handle_fontified_prop): While running fontification
10345 functions, bind `fontification-functions' and
10346 `after-change-functions' to nil.
10347
ef9e4345
GM
10348 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
10349 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
10350
10351 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
10352
10353 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
10354 USE_MMAP_FOR_BUFFERS.
10355
10356 * insdel.c (make_gap): Use enlarge_buffer_text.
10357
10358 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
10359 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
10360 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
10361 from former r_alloc_* functions in ralloc.c.
52283633 10362 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
10363 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
10364 (mmap_init) [REL_ALLOC_MMAP]: New function.
10365 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
10366 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
10367 BUFFER_FREE.
10368
10369 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
10370 (enlarge_buffer_text): Add prototype.
10371
10372 * ralloc.c: Remove everything having to do with the use of mmap.
10373
f8608968
GM
103742000-09-13 Gerd Moellmann <gerd@gnu.org>
10375
2a494b2d
GM
10376 * sound.c (Fplay_sound): Doc fix.
10377
8c907a56
GM
10378 * keyboard.c: Avoid some more compiler warnings.
10379 (parse_tool_bar_item): Ignore cached key bindings.
10380
f8608968
GM
10381 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
10382 and allocation of Lisp data.
10383
6ab70e9a
GM
103842000-09-12 Gerd Moellmann <gerd@gnu.org>
10385
d12d0a9b
GM
10386 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
10387 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
10388 defaults first.
10389
6ab70e9a
GM
10390 * lread.c (Fload): Put code checking for recursive loads in #if 0.
10391
63c36c3c
KH
103922000-09-12 Miyashita Hisashi <himi@meadowy.org>
10393
10394 * ccl.c: Comment fixed.
10395 (MAX_MAP_SET_LEVEL): Increased to 30.
10396 (PUSH_MAPPING_STACK): Enclose with do-while block.
10397 (POP_MAPPING_STACK): Likewise.
10398 (stack_idx_of_map_multiple): New variable.
10399 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
10400 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 10401 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
10402 (ccl_driver) <CCL_MapSingle>: Likewise.
10403 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
10404 with the case where looking up process reaches to the end of
10405 map-set, and call CCL programs as the above change.
10406
7ee3bd7b
GM
104072000-09-11 Gerd Moellmann <gerd@gnu.org>
10408
8ec8a5ec
GM
10409 * xfns.c (png_load, jpeg_load): Declare some variables volatile
10410 that might be clobbered by longjmp.
10411 (check_x_display_info, x_decode_color, create_frame_xic)
10412 (Fx_display_backing_store, Fx_display_visual_class)
52283633 10413 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 10414
f74b0705
GM
10415 * lread.c (init_lread): Set Vloads_in_progress to nil.
10416 (Fload): Show list of recursively loaded files, when signaling an
10417 error.
10418
7ee3bd7b
GM
10419 * lread.c (Vloads_in_progress): New variable.
10420 (record_load_unwind): New function.
10421 (Fload): Check for recursive loads.
10422 (syms_of_lread): Initialize Vloads_in_progress.
10423 (read_integer, read1): Avoid some compiler warnings.
10424
10425 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
10426 compiler warnings.
10427
974e1e5b
MB
104282000-09-11 Miles Bader <miles@gnu.org>
10429
10430 * editfns.c (Fbuffer_string): Doc fix.
10431
9824c4e3
GM
104322000-09-10 Gerd Moellmann <gerd@gnu.org>
10433
10434 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
10435
6a72fdd1
KR
104362000-09-09 Ken Raeburn <raeburn@gnu.org>
10437
10438 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
10439 whether to include other header files.
10440
28e6fb66
GM
104412000-09-09 Gerd Moellmann <gerd@gnu.org>
10442
52283633 10443 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 10444 by Fmemq as a boolean.
28e6fb66 10445
7f8b6551
SM
104462000-09-08 Stefan Monnier <monnier@cs.yale.edu>
10447
10448 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
10449
a8710abf
GM
104502000-09-08 Gerd Moellmann <gerd@gnu.org>
10451
d1a02881
GM
10452 * ralloc.c (mmap_fd): Remove initializer which can make it
10453 read-only in a dumped Emacs.
10454 (mmap_fd_1): New variable.
10455 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
10456 restore it from there.
10457 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
10458 unconditionally so that mmap_fd can be initialized there.
10459 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
10460 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
10461 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
10462
c454aac1
GM
10463 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
10464
10465 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 10466 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 10467
fc653ef2
GM
10468 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
10469
3015eec0
GM
10470 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
10471 inheritance.
10472
bfe0ee88
GM
10473 * xdisp.c (try_window_id): When trying to locate cursor in
10474 unchanged rows at the top, handle the case that we can't find it.
10475
a8710abf
GM
10476 * xterm.c (x_draw_glyphs): Handle case START and END are out
10477 of bounds more carefully.
10478
6b7d4ae4
DL
104792000-09-08 Dave Love <fx@gnu.org>
10480
423193c5
DL
10481 * s/sol2.h (REL_ALLOC_MMAP): Define.
10482 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
10483
10484 * ralloc.c: Don't include string.h (redundant).
10485 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
10486 [!MAP_ANON]: Include fcntl.h.
10487 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
10488 (r_alloc, r_re_alloc, r_alloc_free)
10489 (mmap_enlarge, mmap_set_vars): Use it.
10490 (r_alloc_init_fd): New function.
10491 (__morecore) [SYSTEM_MALLOC]: Don't declare.
10492 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
10493 malloc type.
10494
10495 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
10496 Remove vm-limit.o.
10497
6b7d4ae4
DL
10498 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
10499 change to __NetBSD__.
10500
44d31981
KH
105012000-09-08 Kenichi Handa <handa@etl.go.jp>
10502
10503 * search.c (compile_pattern): Check the multibyteness of cached
10504 string and PATTERN.
10505
aad40737
MB
105062000-09-08 Miles Bader <miles@gnu.org>
10507
10508 * xfaces.c (default_face_vector): Function removed.
10509 (Finternal_merge_in_global_face): Restore old global/local
10510 attribute override order. Use inline loop instead of calling
10511 default_face_vector.
10512
91a211b5
GM
105132000-09-07 Gerd Moellmann <gerd@gnu.org>
10514
10515 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
10516 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
10517 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
10518 where necessary, in case POINTER_TYPE is `void'.
10519
03419440
EZ
105202000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
10521
10522 * frame.c (make_terminal_frame): Initialize frame foreground and
10523 background colors to unspecified, for the initial instance of an
10524 MSDOS frame.
10525
f46f845b
GM
105262000-09-07 Gerd Moellmann <gerd@gnu.org>
10527
24f76fbf
GM
10528 * ralloc.c (mmap_find): Fix overlap computation.
10529 (mmap_enlarge): Compute nbytes before trying to find an
10530 overlapping region.
10531
f46f845b
GM
10532 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
10533 instead of `!='.
10534
10535 * lread.c (syms_of_lread): Change value of regexp
10536 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
10537
10538 * xmenu.c (xdialog_show): When looking up the selection in
10539 menu_items, take `quote' boundaries into account; this corresponds
10540 to a nil ITEM in x-popup-dialog.
10541
3c014385
KH
105422000-09-07 Kenichi Handa <handa@etl.go.jp>
10543
fd6f711b
KH
10544 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
10545 not 0x81.
10546 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
10547
3c014385 10548 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
10549 encoding, not decoding. Fix the handling of latin-jisx0201.
10550 Check for the charset katakana-jisx0201 too.
3c014385 10551 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 10552 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 10553
0da3ecef
GM
105542000-09-07 Gerd Moellmann <gerd@gnu.org>
10555
ab0ee409
GM
10556 * xfaces.c (Vparam_value_alist): New variable.
10557 (syms_of_xfaces): Initialize it.
10558 (Finternal_set_lisp_face_attribute): Avoid more consing.
10559
10560 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
10561 specially.
10562 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
10563 (Qbackground_mode): New variable.
10564 (syms_of_frame_1): Initialize Qbackground_mode.
10565
10566 * lisp.h (Qdisplay): Declare extern.
1091dd67 10567
0da3ecef
GM
10568 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
10569 change face on all frames, and change the default for new frames.
10570
b14654b9
DL
105712000-09-07 Dave Love <fx@gnu.org>
10572
10573 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
10574
d24fd56f
KH
105752000-09-07 Kenichi Handa <handa@etl.go.jp>
10576
794f3670
KH
10577 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
10578
0fddd0dc
KH
10579 * charset.c: Include composite.h
10580 (lisp_string_width): New function.
10581 (Fstring_width): Call lisp_string_width instead of strwidth.
10582
10583 * Makefile.in (charset.o): Depends on composite.h.
10584
d24fd56f
KH
10585 * process.c (read_process_output): Before inserting the decoded
10586 text in the buffer, adjust the multibyteness.
10587
fa0b693c
GM
105882000-09-06 Gerd Moellmann <gerd@gnu.org>
10589
52283633 10590 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
10591 buffer's text buffer is null, map new memory.
10592
0a58f946
GM
10593 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
10594 POINTER_TYPE and size_t.
10595 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
10596 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
10597 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
10598 [REL_ALLOC_MMAP]: New macros.
10599 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
10600 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
10601 [REL_ALLOC_MMAP]: New functions.
10602
10603 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
10604 before and after unexec.
10605
10606 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
10607 text buffers if necessary.
10608
10609 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
10610 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
10611 in prototypes.
10612
fa0b693c
GM
10613 * config.in (HAVE_MMAP): Add #undef.
10614
877055f6
GM
106152000-09-05 Gerd Moellmann <gerd@gnu.org>
10616
08ba3862
GM
10617 * frame.c (Qdisplay_type): New variable.
10618 (syms_of_frame_1): Initialize it.
10619 (Fframe_parameter): New function that avoids consing.
10620 (syms_of_frame): Defsubr it.
10621
66ffe51c
GM
10622 * buffer.c (Fother_buffer): Consider buffers as invisible when
10623 they are displayed in a window on an invisible frame.
10624
877055f6
GM
10625 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
10626 get-largest-window always return nil.
10627
bb970e67
GM
106282000-09-04 Gerd Moellmann <gerd@gnu.org>
10629
10630 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
10631 variable; recognize Emacs 19 elc files.
10632
7a3d0e0e
MB
106332000-09-04 Miles Bader <miles@gnu.org>
10634
10635 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
10636 before initially popping up the menu, so the menu doesn't flash
52283633 10637 when the face settings are significantly different from the defaults.
7a3d0e0e 10638
14473664
SM
106392000-09-04 Stefan Monnier <monnier@cs.yale.edu>
10640
10641 * regex.c (WIDE_CHAR_SUPPORT): New macro.
10642 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
10643 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
10644 (BIT_UNIBYTE): Remove.
10645 (re_match_2_internal): Delete corresponding code and streamline the
10646 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
10647 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
10648 (re_wctype_t): New type.
10649 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
10650 (regex_compile): Use them and fix handling of overly long char classes.
10651
c1174479
AI
106522000-09-03 Andrew Innes <andrewi@gnu.org>
10653
f8803e97
AI
10654 * makefile.w32-in: Change to DOS line endings.
10655
c1174479
AI
10656 * s/ms-w32.h (ORDINARY_LINK): New define.
10657
10658 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
10659 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
10660
10661 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
10662 (distclean): Delete them here instead.
10663
44ef7cf6
AI
10664 * w32proc.c (compare_env): Convert to uppercase for comparison,
10665 not lowercase, to match how the native Windows shell works.
10666
49b3bd82
JR
106672000-09-03 Jason Rumney <jasonr@gnu.org>
10668
10669 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
10670 CVS changes the line-ends when checking in/out on DOS/Windows.
10671
10672 * makefile.nt (emacs): Do not change directory to run temacs, as
10673 the load-path is set relative to current directory.
10674
a3d35a39
MB
106752000-09-03 Miles Bader <miles@gnu.org>
10676
10677 * xterm.c (x_alloc_lighter_color_for_widget): New function.
10678
d276b0cf
GM
106792000-09-02 Gerd Moellmann <gerd@gnu.org>
10680
715e84c9
GM
10681 * xdisp.c (redisplay_mode_lines): New function.
10682 (display_mode_lines): Return number of mode lines displayed.
10683 (echo_area_display): Use redisplay_mode_lines to draw garbaged
10684 mode lines. Don't temporarily bind redisplay-dont-pause to t.
10685
8892f40b
GM
10686 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
10687 string.h and strings.h.
10688 (index) [HAVE_INDEX]: Add prototype.
10689
d276b0cf
GM
10690 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
10691 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
10692
10693 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
10694 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10695
38404229
GM
106962000-09-01 Gerd Moellmann <gerd@gnu.org>
10697
10698 * lread.c (read1): Accept `?' as symbol constituent, for
10699 compatiblity with XEmacs.
10700
c0f9ea08
SM
107012000-08-31 Stefan Monnier <monnier@cs.yale.edu>
10702
10703 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
10704 (struct re_pattern_buffer): Remove newline_anchor.
10705 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
10706 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
10707 (re_max_failures, fail_stack): Use size_t rather than unsigned.
10708 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
10709 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
10710 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
10711 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
10712 Get rid of references to newline_anchor.
10713 (regcomp): Allocate and precompute a fastmap.
10714
8c0f83fe
GM
107152000-08-31 Gerd Moellmann <gerd@gnu.org>
10716
10717 * lread.c (openp): GCPRO local variable `filename'.
10718
4bb91c68
SM
107192000-08-30 Stefan Monnier <monnier@cs.yale.edu>
10720
10721 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
10722
10723 * regex.c: Merge some changes from GNU libc. Add prototypes.
10724 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
10725 Use memcmp and memcpy instead of bcopy and bcmp.
10726 (init_syntax_once): Use ISALNUM.
10727 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
10728 (REG_UNSET_VALUE): Remove. Use NULL instead.
10729 (REG_UNSET, re_match_2_internal): Use NULL.
10730 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
10731 New macros.
10732 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
10733 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
10734 (regex_compile): In handle_interval, return an error rather than try to
10735 unfetch the interval if we can't find the closing brace.
10736 Obey the RE_NO_GNU_OPS syntax bit.
10737 (TOLOWER): New macro.
10738 (regcomp): Use it.
10739 (regexec): Allocate regs.start and regs.end as one block.
10740
5226a931
GM
107412000-08-30 Gerd Moellmann <gerd@gnu.org>
10742
868dd24b
GM
10743 * xdisp.c (echo_area_display): Check display_completed instead
10744 of calling detect_input_pending.
10745
10746 * dispnew.c (update_frame): Only set display_completed here; move
10747 the update_begin and update_end calls here from update_frame_1.
10748 (update_frame_1): Don't set display_completed here, don't call
10749 update_begin/update_end.
10750
5226a931
GM
10751 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
10752 instead of store_frame_param.
10753
2a8bd25f
GM
107542000-08-29 Gerd Moellmann <gerd@gnu.org>
10755
10756 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
10757 desired window matrix hasn't been displayed, use the current row
10758 instead. Make sure that only those frame rows are updated for
10759 which there exists a corresponding enabled desired row.
52283633 10760
ba3478d9
MB
107612000-08-29 Miles Bader <miles@gnu.org>
10762
10763 * xfaces.c (default_face_vector): New function.
10764 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
10765
87d0f685
GM
107662000-08-29 Gerd Moellmann <gerd@gnu.org>
10767
10768 * lread.c (openp): Prevent temporary string passed to
10769 Ffile_readable_p from being garbage collected.
10770
6fa86045
DL
107712000-08-28 Dave Love <fx@gnu.org>
10772
10773 * keymap.c (store_in_keymap): Add `static' to declaration.
10774
bb17930d
GM
107752000-08-28 Gerd Moellmann <gerd@gnu.org>
10776
10777 * emacs.c, callint.c, doc.c, editfns.c
10778 (toplevel) [HAVE_STRING_H]: Include string.h.
10779 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
10780 (index): Remove prototypes which might conflict with non-standard
10781 definitions of index/strchr.
10782
10783 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
10784 (rindex): Define only if !HAVE_RINDEX.
10785
10786 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
10787
10788 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
10789
87188200
MB
107902000-08-28 Miles Bader <miles@gnu.org>
10791
10792 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
10793 made inconsistent by a font-related attribute in FROM.
10794 (merge_face_inheritance): Add function comment.
10795
41a68aef
KH
107962000-08-28 Kenichi Handa <handa@etl.go.jp>
10797
10798 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
10799 the 4th arg (PREV_EVENT) Qt to suppress input method.
10800
f7c436c1
SM
108012000-08-27 Stefan Monnier <monnier@cs.yale.edu>
10802
0b32bf0e
SM
10803 * regex.c: Indent cpp directives and remove parens after `defined'.
10804 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
10805 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
10806 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
10807 (re_compile_pattern): Use size_t for length.
10808 (init_syntax_once): Move to a better place.
10809 * regex.h: Merge changes from GNU libc. Indent cpp directives.
10810 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
10811
f7c436c1
SM
10812 * syntax.c (back_comment): Detect cases where a comment-starter is
10813 actually inside another comment as in: /* a // b */ c // d \n.
10814 Make it clear that `comstart_pos' is unused for nested comments.
10815
10816 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
10817 (KEYMAPP): New macro.
10818 (Fkeymap_parent, Fset_keymap_parent): Use it.
10819 (fix_submap_inheritance): Mark it static.
10820 (define_as_prefix, describe_buffer_bindings, describe_command)
10821 (describe_translation, describe_map): Complete prototypes.
10822
10823 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
10824
10825 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
10826 to better match the key-lookup behavior.
10827
6288c62f
GM
108282000-08-27 Gerd Moellmann <gerd@gnu.org>
10829
10830 * xfaces.c (lface_fully_specified_p): Handle :inherit.
10831 (Finternal_set_lisp_face_attribute): Fix typo in error message.
10832
e931344e
EZ
108332000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
10834
10835 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
10836 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
10837 (xterm.o): Depend on coding.h
10838
d10dfeef
KH
108392000-08-26 Kenichi Handa <handa@etl.go.jp>
10840
10841 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
10842 the corresponding '#endif'.
10843
2d73e8d3
MB
108442000-08-26 Miles Bader <miles@gnu.org>
10845
10846 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
10847 * xfaces.c (QCinherit): New variable.
10848 (syms_of_xfaces): Initialize it.
10849 (LFACE_INHERIT): New macro.
10850 (Finternal_get_lisp_face_attribute)
52283633 10851 (merge_face_vector_with_property)
2d73e8d3
MB
10852 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
10853 (check_lface_attrs): Allow new types of face height. Check
10854 inherit attribute.
10855 (CYCLE_CHECK): New macro.
10856 (merge_face_inheritance): New function.
10857 (merge_face_vectors): Merge inherited faces too. Add F and
10858 CYCLE_CHECK arguments.
10859 (merge_face_vector_with_property, Finternal_merge_in_global_face)
10860 (lookup_named_face, lookup_derived_face, realize_named_face)
10861 (face_at_string_position, face_at_buffer_position): Supply
10862 new F and CYCLE_CHECK arguments to merge_face_vectors.
10863 (merge_face_heights): New function.
52283633 10864 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
10865 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
10866 handle relative face heights.
10867 (lface_same_font_attributes_p): Compare heights using EQ.
10868
6ce974d4
KH
108692000-08-26 Kenichi Handa <handa@etl.go.jp>
10870
10871 * charset.c (char_to_string): Check the character validity.
52283633 10872 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 10873
dc1e502d
SM
108742000-08-25 Stefan Monnier <monnier@cs.yale.edu>
10875
10876 * regex.c (PUSH_FAILURE_COUNT): New macro.
10877 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
10878 Handle popping of a register's or a counter's data.
10879 (POP_FAILURE_POINT): Use the new name.
10880 (re_match_2_internal): Push counter data on the stack for succeed_n,
10881 jump_n and set_number_at and remove misleading dead code in succeed_n.
10882
bd9d0f3f
GM
108832000-08-25 Gerd Moellmann <gerd@gnu.org>
10884
10885 * xdisp.c (redisplay_internal): If considering all windows on all
10886 frames, update the display for each frame as soon as possible,
10887 instead of first building all desired matrices for all frames, and
10888 then updating them all.
10889 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
10890
aa5b8e15
GM
108912000-08-24 Gerd Moellmann <gerd@gnu.org>
10892
17494071
GM
10893 * bytecode.c (mark_byte_stack): Add a comment.
10894
52283633
SM
10895 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
10896 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
10897 a graphical frame.
10898
c543db81
KH
108992000-08-24 Kenichi Handa <handa@etl.go.jp>
10900
d246d5f5
KH
10901 * minibuf.c (do_completion): Always use compare-string, not
10902 string-equal because the latter doesn't pay attention to
10903 multibyteness of strings.
10904
c543db81
KH
10905 * process.c (create_process): Don't setup raw-text coding here.
10906 (Fopen_network_stream): Don't set coding->src_multibyte and
10907 coding->dst_multibyte here.
10908 (read_process_output): For process filter, return unibyte string
10909 if default-enable-multibyte-characters is nil.
10910 (send_process): If OBJECT is multibyte text, be sure to encoded it
10911 by the specified coding system for the process. Otherwise, setup
10912 raw-text coding.
52283633 10913 (init_process): Don't initialize default-process-coding-system here.
c543db81 10914
9b47cfe0
EZ
109152000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
10916
10917 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
10918 <scroll-down-aggressively>: Likewise.
10919
f5a36960
KH
109202000-08-23 Kenichi Handa <handa@etl.go.jp>
10921
10922 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
10923 zero. Set coding->produced_char correctly.
10924
69a7ffa7
AI
109252000-08-22 Andrew Innes <andrewi@gnu.org>
10926
10927 * makefile.w32-in: New file.
10928
10929 * unexw32.c (unexec): Ignore old_name, and use the actual location
10930 of the current executable instead. Base new_name on this.
10931
10932 * w32proc.c (create_child): Remove reference to security
10933 descriptor, which isn't needed and doesn't compile with mingw32.
10934
10935 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10936 up dllimport attributes.
10937 (x_update_window_end): Update prototype.
10938
10939 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
10940 extern, which screws up dllimport attributes.
10941
10942 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10943 up dllimport attributes.
10944
10945 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
10946 screws up dllimport attributes.
10947
10948 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10949 up dllimport attributes.
10950 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
10951 screws up dllimport attributes.
10952
10953 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10954 up dllimport attributes.
10955
10956 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
10957 screws up dllimport attributes.
10958
10959 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
10960 screws up dllimport attributes.
10961
10962 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10963 up dllimport attributes.
10964
10965 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
10966 unnecessary extern, which screws up dllimport attributes.
10967 (main): Ditto.
10968
10969 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10970 up dllimport attributes.
10971
10972 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
10973 unnecessary extern, which screws up dllimport attributes.
10974
10975 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
10976 screws up dllimport attributes.
10977
10978 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10979 up dllimport attributes.
10980
10981 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
10982
52283633
SM
10983 * w32bdf.c (search_file_line):
10984 (set_bdf_font_info):
10985 (seek_char):
10986 (w32_get_bdf_glyph):
69a7ffa7
AI
10987 (w32_BDF_to_x_font): Fix compile warnings.
10988
52283633 10989 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
10990
10991 * w32select.c: Include keyboard.h before frame.h.
10992
10993 * w32fns.c (max): Define macro.
10994 (JOHAB_CHARSET): Define if not known.
10995 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
10996 (Fx_show_tip): Synch with X version.
10997
10998 * w32xfns.c: Include keyboard.h before frame.h.
10999
11000 * w32fns.c: Include keyboard.h before frame.h.
11001
11002 * w32term.c: Include keyboard.h before frame.h.
11003
11004 * fontset.c: Include keyboard.h before frame.h.
11005
11006 * w32inevt.c: Include keyboard.h before frame.h.
11007 (MOUSE_MOVED): Define if not known.
11008
11009 * minibuf.c: Include keyboard.h before frame.h.
11010
11011 * keyboard.c: Include keyboard.h before frame.h.
11012
11013 * indent.c: Include keyboard.h before frame.h.
11014
11015 * dispnew.c: Include keyboard.h before frame.h.
11016
11017 * buffer.c: Include keyboard.h before frame.h.
11018
11019 * alloc.c: Include keyboard.h before frame.h.
11020
11021 * print.c: Include keyboard.h before frame.h.
11022
11023 * process.c: Include keyboard.h before frame.h.
11024
11025 * scroll.c: Include keyboard.h before frame.h.
11026
11027 * sysdep.c: Include keyboard.h before frame.h.
11028
11029 * term.c: Include keyboard.h before frame.h.
11030
11031 * window.c: Include keyboard.h before frame.h.
11032
11033 * xdisp.c: Include keyboard.h before frame.h.
11034 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
11035
11036 * frame.c: Include keyboard.h before frame.h.
11037
11038 * w32heap.h: Undefine min, max.
11039
11040 * w32gui.h: Undefine min, max.
11041
11042 * unexw32.c: Change PUCHAR to PCHAR.
11043 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
11044 (relocate_offset):
11045 (get_section_info):
69a7ffa7
AI
11046 (copy_executable_and_dump_data): Remove unnecessary static defs.
11047 (copy_executable_and_dump_data): Fix compile warnings.
11048
11049 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
11050
11051 * w32console.c (min): Define macro.
11052 (clear_frame, write_glyphs): Fix compile warning.
11053
52283633 11054 * w32proc.c (compare_env):
69a7ffa7
AI
11055 (find_child_console): Fix compile warning.
11056
11057 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
11058 sys_errlist instead of _sys_errlist.
11059 (get_emacs_configuration_options): New function.
11060
11061 * s/ms-w32.h (sys_nerr): Provide default definition.
11062 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
11063 name with _ prepended.
11064 (NSIG): Define if not known.
11065 (get_emacs_configuration): Provide extern declaration.
11066 (get_emacs_configuration_options): Provide extern declaration.
11067 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
11068
11069 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 11070 (map_w32_filename):
69a7ffa7
AI
11071 (read_unc_volume): Fix compile warning.
11072
11073 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
11074 definitions from being used.
11075
11076 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
11077
52283633 11078 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
11079 (open_unc_volume): Make arg const.
11080
11081 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
11082 (read_input_waiting): Remove excess parameter.
11083
11084 * w32.c (init_environment): Call _access.
11085 (check_windows_init_file): Call _close.
11086 (init_user_info): Call _putenv.
11087 (init_environment): Call _putenv and _strdup.
11088 (init_ntproc): Reset volume info cache on startup.
11089
11090 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
11091 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
11092 cannot override the CRT malloc.
11093
11094 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
11095 (LINK_FLAGS): Append to original value of LINK_FLAGS.
11096
11097 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
11098 unless we are linking with a static CRT.
11099 (RVA_TO_PTR): Cast result to unsigned char*.
11100
11101 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
11102 (add_volume_info): Use xstrdup.
11103
25060080
SM
111042000-08-22 Stefan Monnier <monnier@cs.yale.edu>
11105
11106 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
11107 (do_completion, Fminibuffer_complete_word): Use it.
11108 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
11109 var so it can take non-boolean values.
11110
6917e6bb
GM
111112000-08-21 Gerd Moellmann <gerd@gnu.org>
11112
acb7cc89 11113 * editfns.c (find_field): Formatting changes.
52283633 11114 (toplevel): Some old-style function forward declarations
acb7cc89
GM
11115 changed to prototypes, some new protypes added, some functions
11116 made static.
11117
11118 * lisp.h (set_time_zone_rule): Add prototype.
11119 (use_dialog_box): External declaration.
11120
0bbfdc25
GM
11121 * keyboard.c (gen_help_event): Add parameter SIZE.
11122 (kbd_buffer_events_waiting): Slightly rewritten.
11123 (clear_event): New function.
11124 (kbd_buffer_get_event): Use it, and clear the input_events of
11125 HELP_EVENTs.
11126 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
11127 don't fill the newly created array with nils.
11128 (toplevel): Convert some old-style function forward declarations
11129 to prototypes.
11130
11131 * keyboard.h (gen_help_event): Change prototype.
11132
11133 * xterm.c (XTread_socket): Change calls to gen_help_event.
11134
11135 * w32term.c (w32_read_socket): Change calls to gen_help_event.
11136
6917e6bb
GM
11137 * eval.c (Fmacroexpand): Doc fix.
11138
e5cd3d11
JR
111392000-08-20 Jason Rumney <jasonr@gnu.org>
11140
11141 * w32term.h (x_display_info_for_display): Remove as this function
11142 does not exist on W32.
11143
11144 * w32term.c (help_echo_window): New variable.
11145 (syms_of_w32term): staticpro it.
11146 (note_mode_line_highlight): Set it.
11147 (XTextExtents16): Removed as there is no equivalent on W32.
11148 (x_compute_glyph_string_overhangs): Incomplete body removed, as
11149 the X way of doing this will not work for W32.
11150 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
11151 (x_draw_image_foreground): Avoid drawing outside of the clip area
11152 when image doesn't have a mask.
11153 (note_mouse_highlight): Process overlays in the right order of
11154 priority. Set help_echo_window.
11155 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
11156 because that's more visible for large images.
11157
11158 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
11159 name to single_keymap_panes.
11160 (w32_menu_show): Set wv->title when dealing with titles.
11161 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
11162
6e69ab8c
MB
111632000-08-21 Miles Bader <miles@gnu.org>
11164
11165 * minibuf.c (do_completion): Try again if we rewrite the input
11166 string, but no completion was done, so that any completion message
11167 will be correct.
11168
511bd4eb
GM
111692000-08-20 Gerd Moellmann <gerd@gnu.org>
11170
11171 * xfaces.c (lface_equal_p): Compare strings differently.
11172 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
11173 (realize_tty_face): Use them.
11174 (syms_of_xfaces): Initialize new variables.
11175 (map_tty_color): New function, extracted from realize_tty_face.
11176 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
11177 foreground or background color, store the new color name in the
11178 realized face; previous code trying to do this had no effect.
11179 (realize_tty_face): Use map_tty_color.
11180 (Fclear_face_cache): Set face_change_count and ensure thorough
11181 redisplay.
11182
1433385f
GM
111832000-08-19 Gerd Moellmann <gerd@gnu.org>
11184
511bd4eb
GM
11185 * undo.c (record_first_change, record_marker_adjustment): Don't
11186 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 11187
419ac0a2
KH
111882000-08-18 Kenichi Handa <handa@etl.go.jp>
11189
11190 * coding.c (decode_coding_string): Set members consumed,
11191 consumed_char, produced, produced_char of *coding correctly. If
11192 decode_coding doesn't consume any byte, don't try anymore.
11193 (encode_coding_string): Likewise.
11194
7eb9e30d
GM
111952000-08-18 Gerd Moellmann <gerd@gnu.org>
11196
511bd4eb
GM
11197 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
11198 conditional have void type, for Standard C compilers.
7eb9e30d
GM
11199
11200 * xdisp.c (redisplay_internal): Compare windows for equality with
11201 EQ, instead of applying XWINDOW to something that might not
11202 be a window.
52283633 11203
dd34a735
KH
112042000-08-18 Kenichi Handa <handa@etl.go.jp>
11205
11206 * fontset.c (Finternal_char_font): Search only the selected frame
11207 for a window of the current buffer.
11208
385ff9e3
GM
112092000-08-18 Gerd Moellmann <gerd@gnu.org>
11210
511bd4eb 11211 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
11212 Lisp_Objects.
11213
385ff9e3
GM
11214 * keyboard.c (kbd_buffer_get_event): Handle the case that the
11215 second half of a HELP_EVENT is found at the start of kbd_buffer.
11216
d6abb4c7
MB
112172000-08-18 Miles Bader <miles@gnu.org>
11218
4618074a
MB
11219 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
11220
d6abb4c7
MB
11221 * editfns.c (save_restriction_save): Rewrite to use markers.
11222 (save_restriction_restore): Rewrite to understand new form of data
11223 saved by save_restriction_save.
11224 (Fsave_restriction): Remove cautionary note in doc-string.
11225
a7b28523
GM
112262000-08-17 Gerd Moellmann <gerd@gnu.org>
11227
11228 * fileio.c (build_annotations): Add a comment explaining the
11229 return value of format-annotate-function. Replace a spurious call
11230 to Flength with a CONSP test. Call format-annotate-function with
11231 a fifth arg specifying how many times the function is been called
11232 in a row, to let it choose temporary buffers appropriately.
11233
03c9ed77
DL
112342000-08-17 Dave Love <fx@gnu.org>
11235
11236 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
11237 declare make_temp_name twice.
11238
52283633 11239 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
11240 (unreadpure): Give it an arg.
11241
11242 * unexalpha.c: Prototype fatal_unexec, mark_x,
11243 update_dynamic_symbols. Declare unexec as void.
11244
11245 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
11246 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
11247
11248 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 11249 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
11250
11251 * alloca.c: Use #error.
11252 [POINTER_TYPE]: Use it.
11253
11254 * eval.c (Fdefvar): Doc fix.
11255
11256 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
11257 INITIALIZE_INTERVAL.
11258
11259 * buffer.h: Avoid DECLARE_INTERVALS.
11260
11261 * config.in: Add size_t.
11262
aae41d97
EZ
112632000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
11264
11265 * w16select.c (set_clipboard_data): If there's not enough memory
11266 to put text into clipboard, return 1, as Fw16_set_clipboard_data
11267 expects. In case of other failures, return 3.
11268 (system_error_msg): New error message.
11269 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
11270 system_error_msg.
11271
65aa5e85
GM
112722000-08-16 Gerd Moellmann <gerd@gnu.org>
11273
11274 * term.c (write_glyphs): Also turn off inverse video after turning
11275 off other appearances in case TS_exit_attribute_mode is not equal
11276 to TS_end_standout_mode.
11277 (insert_glyphs): Turn inverse video on/off for each run of glyphs
11278 with the same face.
11279 (turn_off_face): Reset standout_mode only if
11280 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
11281 is equal to TS_end_standout_mode.
11282
ece23901
KH
112832000-08-16 Kenichi Handa <handa@etl.go.jp>
11284
9d7bcb2e
KH
11285 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
11286 sequence at the end of the source block.
11287
ece23901
KH
11288 * ccl.c (Fccl_program_p): Docstring modified.
11289 (Fccl_execute): Likewise.
11290 (Fccl_execute_on_string): Likewise.
11291
5e30eaa2
EZ
112922000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
11293
11294 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
11295
290602fd
KH
112962000-08-16 Kenichi Handa <handa@etl.go.jp>
11297
11298 The following changes are mainly to fix bugs of
11299 encode/decode-coding-string failing if encoding/decoding return
11300 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
11301 variable conversion_buffer.
11302
11303 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
11304 decrement dst_end to avoid buffer overflow in the later call of
11305 string_as_multibyte
11306
11307 * coding.h (conversion_buffer_size, conversion_buffer)
11308 (get_conversion_buffer): Extern deleted.
11309
11310 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
11311 (conversion_buffer, conversion_buffer_size): Variables deleted.
11312 (get_conversion_buffer): Function deleted.
11313 (struct conversion_buffer): New structure.
11314 (MAX_ALLOCA): New macro.
11315 (allocate_conversion_buffer): New macro.
11316 (extend_conversion_buffer, free_conversion_buffer): New functions.
11317 (ccl_coding_driver): Set coding->result.
11318 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
11319 this is the last block of source.
11320 (encode_coding): Likewise. Handle the source block as the last
11321 one only when the whole source text is consumed.
11322 (decode_coding_string): Handle the case that the output buffer is
11323 too small to decode the whole source text. Use
11324 allocate_conversion_buffer, extend_conversion_buffer and
11325 free_conversion_buffer, not get_conversion_buffer.
11326 (encode_coding_string): Likewise.
11327 (init_coding): Function deleted.
52283633 11328 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
11329
11330 * emacs.c (main): Don't call init_coding.
11331
52283633 11332 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
11333
11334 * term.c (write_glyphs): Use a locally declared conversion_buffer.
11335 (insert_glyphs): Likewise.
11336
11337 * w32console.c (write_glyphs): Use a locally declared
11338 conversion_buffer.
11339
b9f80d41
EZ
113402000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
11341
11342 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
11343 member of display_info is NULL.
11344
32dc52f7
GM
113452000-08-15 Gerd Moellmann <gerd@gnu.org>
11346
52283633 11347 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 11348
32dc52f7 11349 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 11350 appearances with capability `me'.
32dc52f7
GM
11351 (write_glyphs): Switch on inverse video before each face change.
11352
4eb22d33
DL
113532000-08-14 Dave Love <fx@gnu.org>
11354
11355 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
11356 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
11357 (lisp_free): Declare and make static.
11358
11359 * window.c: Fix embedded comment.
11360 (syms_of_window): Fix doc string.
11361
90cbf47e
GM
113622000-08-14 Gerd Moellmann <gerd@gnu.org>
11363
52283633 11364 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
11365 make sure to print `C-' before `M-', like in the manual.
11366
440fc135
GM
113672000-08-11 Gerd Moellmann <gerd@gnu.org>
11368
11369 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
11370 since they aren't relocated anymore.
52283633 11371 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
11372
11373 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 11374 partially visible line which is smaller than the window's height.
440fc135 11375
6e264fad
KH
113762000-08-11 Kenichi Handa <handa@etl.go.jp>
11377
11378 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 11379 the multibyte form of eight-bit-control characters.
6e264fad
KH
11380 (Fccl_execute_on_string): Initialize ccl->multibyte.
11381
11382 * ccl.h (struct ccl_program): New member multibyte.
11383
11384 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
11385
c371f69a
KH
113862000-08-11 Kenichi Handa <handa@etl.go.jp>
11387
11388 * regex.c (regex_compile) <normal_char>: Pay attention to
11389 multibyteness.
11390 (analyse_first) <exactn>: Setup fastmap correctly for
11391 eight-bit-control characters.
11392
113932000-08-11 Kenichi Handa <handa@etl.go.jp>
11394
52283633 11395 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
11396
11397 * keyboard.c (make_lispy_event): Handle the new event type
11398 multibyte_char_keystroke.
11399
11400 * xterm.c: Include coding.h.
11401 (XTread_socket): Work around a bug of XmbLookupString. If the
11402 input is from XIM, decode it according to the current locale. In
11403 that case, generate multibyte_char_keystroke events.
11404
b8ddbe71
KH
114052000-08-11 Kenichi Handa <handa@etl.go.jp>
11406
11407 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
11408 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
11409
47589c8c
GM
114102000-08-10 Gerd Moellmann <gerd@gnu.org>
11411
11412 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
11413 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
11414 (move_it_in_display_line_to): Record iterator's ascent and descent
11415 before producing glyphs, and restore them when we know the glyph
11416 doesn't fit on the line.
11417 (move_it_to): Restructured so that it's easier to debug. If
11418 moving to a vpos, and not moving to an x or character position,
11419 stop as soon as the specified vpos is reached; don't move further
11420 into that line because that might change the computed line height.
11421 (try_cursor_movement): New function, extracted from the cursor
11422 movement branch of redisplay_window. If ending on a partially
11423 visible line, don't try to scroll if the cursor line is taller
11424 than the window.
11425 (redisplay_window): Use try_cursor_movement.
11426
11427 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
11428 because that function doesn't cope with variable-height lines.
11429
11430 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
11431 box cursor because that's better visible for large images.
52283633 11432
c51bacd6
MB
114332000-08-10 Miles Bader <miles@gnu.org>
11434
11435 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
11436
bea56df7
GM
114372000-08-10 Gerd Moellmann <gerd@gnu.org>
11438
11439 * xdisp.c (Vmessages_buffer_name): New variable.
11440 (message_dolog): Use it.
11441 (syms_of_xdisp): Initialize it.
11442
99cd7364
EZ
114432000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
11444
52283633 11445 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
11446 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
11447 redundant now that keyboard.h is included.
11448
7d093d56
EZ
114492000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
11450
11451 * keyboard.c (kbd_buffer_events_waiting): New function.
11452
11453 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
11454
11455 * msdos.c: Include keyboard.h.
11456 (XMenuActivate): Empty no_event events from the event buffer. If
11457 no events are left after that, call clear_input_pending.
11458 (mouse_clear_clicks): New function, code moved from mouse_init.
11459 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
11460 mouse driver to ``forget'' any past clicks.
11461
11462 * Makefile.in (msdos.o): Depend on keyboard.h.
11463
41e757a6
GM
114642000-08-09 Gerd Moellmann <gerd@gnu.org>
11465
8e7bd231
GM
11466 * lisp.h (input_pending): External declaration.
11467
11468 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 11469
8e7bd231
GM
11470 * xdisp.c (echo_area_display): Display thoroughly if input is
11471 pending. Bind redisplay-dont-pause to t during the redisplay.
11472 in case input is pending.
11473
11474 * dispnew.c (Qredisplay_dont_pause): New variable.
11475 (syms_of_display): Initialize and staticpro it.
11476 (update_frame_1): Don't interrupt the display for pending input if
11477 redisplay_dont_pause is set.
52283633 11478
43028b7e
GM
11479 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
11480
41e757a6
GM
11481 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11482
2f2174fa
KH
114832000-08-09 Miles Bader <miles@lsi.nec.co.jp>
11484
11485 * callproc.c (Fcall_process): Terminate the unwind-protect around
11486 the post-read-conversion of coding system.
11487
0a6fd67e
MB
11488 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
11489 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
11490 * buffer.h (overlays_at): Update prototype.
11491 * xdisp.c (next_overlay_change): Update call to overlays_at.
11492 * xfaces.c (face_at_buffer_position): Likewise.
11493 * textprop.c (Fget_char_property): Likewise.
11494 * xterm.c (note_mouse_highlight): Likewise.
11495
0c80756e
MB
11496 * minibuf.c (do_completion): Don't consider a simple change of
11497 case as `completion'.
11498
975f250a
KR
114992000-08-08 Ken Raeburn <raeburn@gnu.org>
11500
52283633 11501 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
11502 * undo.c (record_delete): Make sure last_point_position_buffer is
11503 a buffer before comparing pointers.
11504
11505 * coding.h (decode_coding_string): Declare.
11506
11507 * intervals.h (Fprevious_single_char_property_change): Declare.
11508
11509 * textprop.c (Fprevious_single_char_property_change): Don't do
11510 arithmetic directly on lisp objects.
11511
52283633 11512 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
11513
11514 * keyboard.h (menu_item_eval_property): Declare.
11515
11516 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
11517 reuse as buffer name, instead of recreating (and discarding) every
11518 time a message is logged.
11519 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
11520 (current_message_1, truncate_message_1, set_message_1)
11521 (display_echo_area_1, resize_mini_window_1): Signatures changed.
11522 (current_message, truncate_echo_area, display_echo_area)
11523 (resize_echo_area_axactly): Changed calls.
b347b3fd 11524
975f250a 11525 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 11526 Lisp object.
975f250a 11527 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 11528 must be an integer, not a Lisp object.
975f250a 11529
46dc9912
KH
115302000-08-08 Kenichi Handa <handa@etl.go.jp>
11531
11532 * charset.c (Fchar_width): Doc fix.
11533
9f6d1a6c
GM
115342000-08-08 Gerd Moellmann <gerd@gnu.org>
11535
11536 * charset.c (Fstring_width): Doc fix.
11537
ff3d9573
GM
115382000-08-07 Gerd Moellmann <gerd@gnu.org>
11539
41e757a6 11540 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
11541 line, clear ascent and descent members of the iterator structure;
11542 the height of the continued line does not affect the height of the
11543 continuation line.
11544 (make_cursor_line_fully_visible): Do nothing if cursor is on a
11545 line taller than the window.
11546 (redisplay_window) <forced window start>: Handle case that the
11547 middle of the window is not found in any row.
11548 (dump_glyph_row): Show more information.
11549 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
11550 first text line in a glyph matrix.
11551
11552 * xterm.c (x_draw_image_foreground): Avoid drawing outside
11553 of the clip area when image doesn't have a mask.
11554
70fc58b3
GM
11555 * fns.c (sweep_weak_table): Fix survival conditions for
11556 key-or-value and key-and-value weakness.
11557
11558 * .gdbinit (xhashtable): New command.
11559
ac0e96ee
GM
11560 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
11561 tables out of the list of all weak hash tables.
11562
ff3d9573
GM
11563 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
11564 a new buffer is created, make sure echo_area_buffer[] references
11565 the new buffer.
11566
e0d8827b
EZ
115672000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
11568
11569 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
11570 the doc string.
11571
c6f35378
KH
115722000-08-07 Kenichi Handa <handa@etl.go.jp>
11573
11574 * syntax.c (skip_chars): Fix previous change. Make the handling
11575 of unibyte string consistent with that of regex search.
11576
1fd4c450
GM
115772000-08-05 Gerd Moellmann <gerd@gnu.org>
11578
e49aa397
GM
11579 * xmenu.c (popup_get_selection): Use xfree instead of free.
11580
11581 * fileio.c (Finsert_file_contents): Use xfree instead of free.
11582
11583 * editfns.c (Ftranspose_regions): Use xfree instead of free.
11584
11585 * callproc.c (child_setup): Use xfree instead of free.
11586
11587 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
11588 instead of malloc.
11589 (run_mac_command, closedir): Use `xfree' instead of `free'.
11590
11591 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
11592
11593 * eval.c (error): Use xfree instead of free.
11594
1fd4c450
GM
11595 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
11596
11597 * fns.c: Replace `illegal' with `invalid'.
e49aa397 11598 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 11599
82d497fc
KH
116002000-08-05 Kenichi Handa <handa@etl.go.jp>
11601
11602 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
11603 conversion.
11604
59f953a2
NF
116052000-08-04 Noah Friedman <friedman@splode.com>
11606
11607 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
11608 docstring.
11609
688351f2
GM
116102000-08-04 Gerd Moellmann <gerd@gnu.org>
11611
11612 * syntax.c (skip_chars): Fix typo in error message.
11613
2dad51cc
AS
116142000-08-04 Andreas Schwab <schwab@suse.de>
11615
11616 * m/ia64.h: Moved from s/ia64.h.
11617
99bb2c60
KH
116182000-08-04 Kenichi Handa <handa@etl.go.jp>
11619
082a1df2
KH
11620 * process.c (read_process_output): Big simplification. Handle
11621 composition and post-read-conversion of coding system correctly.
11622 (send_process): Handle composition correctly.
11623
11624 * callproc.c (Fcall_process): Handle post-read-conversion of
11625 coding system if any.
11626
99bb2c60
KH
11627 * coding.c (decode_coding_iso2022): More strict check for handling
11628 single shifting.
082a1df2
KH
11629 (coding_restore_composition): Pay attention to the case that
11630 cmp_data is not set properly (because of invalid code in the
11631 source text).
11632 (run_pre_post_conversion_on_str): Include text properties in the
11633 resulting string.
11634 (decode_coding_string): Set members of coding correctly.
99bb2c60 11635
f4988be7
GM
116362000-08-03 Gerd Moellmann <gerd@gnu.org>
11637
11638 * s/ia64.h: New file.
11639
11640 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
11641 Use NULL instead of 0 at the end of variable argument list of
11642 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
11643 sizeof (int) < sizeof (void *).
11644
11645 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
11646 of variable argument lists of XtVaGetValues and XtVaSetValues.
11647
11648 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
11649 variable argument lists of XtVaGetValues and XtVaSetValues.
11650
ead53494
GM
116512000-08-02 Gerd Moellmann <gerd@gnu.org>
11652
11653 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
11654 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
11655
11656 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
11657 prototype.
11658
11659 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
11660 in call to Fsingle_key_description.
11661
11662 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
11663 Callers changed.
11664
116652000-08-02 Colin Walters <walters@cis.ohio-state.edu>
11666
11667 * window.c (display_buffer_reuse_frames): New variable.
11668 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
11669 frames displaying BUFFER.
52283633 11670 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 11671
10b0f752
MB
116722000-08-01 Miles Bader <miles@gnu.org>
11673
11674 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
11675 when to constrain NEW_POS (they were pretty screwed up before).
11676
16425c4a
EZ
116772000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
11678
11679 * msdos.c (run_msdos_command): Save and restore the master
11680 environment, for the case that child_setup signals an error.
11681 When mirroring slashes in DOS shell commands, don't fail when
11682 argv[2] has embedded blanks.
da288c14
EZ
11683 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
11684 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
11685 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
11686
11687 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
11688 using alloca; free it after run_msdos_command returns.
11689
27f73852
DL
116902000-07-27 Dave Love <fx@gnu.org>
11691
52283633
SM
11692 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
11693 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
11694
11695 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
11696
c0261b5e
EZ
116972000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
11698
11699 * editfns.c (lisp_time_argument): Fix last change.
11700
b548072f
GM
117012000-07-27 Gerd Moellmann <gerd@gnu.org>
11702
3ab82477
GM
11703 * fns.c (Fdelete): Make it work on vectors and strings in addition
11704 to lists.
11705
b548072f
GM
11706 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
11707 (syms_of_fns): Initialize new variables.
52283633 11708 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
11709 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
11710 weakness, with t meaning the same as `key-and-value'.
11711
91ae8751
KH
117122000-07-27 Kenichi Handa <handa@etl.go.jp>
11713
11714 * coding.h (struct coding_system): Member safe_charset deleted.
11715
11716 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
11717 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
11718 New variables.
91ae8751
KH
11719 (coding_safe_chars): New function.
11720 (CODING_SAFE_CHAR_P): New macro.
11721 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 11722 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
11723 (detect_coding_iso2022): New local variable safe_chars.
11724 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
11725 safe_charsets member of the coding system.
11726 (decode_coding_iso2022): New local variable safe_chars.
11727 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
11728 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
11729 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
11730 (ENCODE_UNSAFE_CHARACTER): New macro.
11731 (encode_coding_iso2022): New local variable safe_chars. Check
11732 unsafe chars.
11733 (setup_coding_system): Delete the code to initialize
11734 coding->safe_charses
11735 (intersection, find_safe_codings): New functions.
11736 (Ffind_coding_systems_region_internal): New function.
11737 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
11738 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
11739 variable and initialize it.
11740
11741 * fns.c (char_table_ref_and_index): New function.
11742
11743 * lisp.h (char_table_ref_and_index): Add prototype.
11744
34a7a267
SS
117452000-07-26 Sam Steingold <sds@gnu.org>
11746
11747 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 11748 (Ffloat_time): New built-in Lisp function.
34a7a267 11749
a95cb10a
GM
117502000-07-26 Gerd Moellmann <gerd@gnu.org>
11751
3353ef5a
GM
11752 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
11753 for the character code.
11754
11755 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
11756 GNU/Linux.
11757
a95cb10a
GM
11758 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
11759 if called for a popup menu.
11760 (xmenu_show): Store help string in widget values.
11761
b4a12321
DL
117622000-07-26 Dave Love <fx@gnu.org>
11763
11764 * syswait.h: Move some definitions.
11765 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
11766 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
11767 perspicuous definitions.
11768 (WTERMSIG): Fix bit pattern used.
11769
13f5ad37
KH
117702000-07-26 Kenichi Handa <handa@etl.go.jp>
11771
11772 * print.c (print_object): If vector printing is truncated, print
11773 "..." to indicate it as well as the case of list printing.
11774
070fe99c
GM
117752000-07-25 Gerd Moellmann <gerd@gnu.org>
11776
969065c3
GM
11777 * xdisp.c (next_element_from_display_vector): Improve comments.
11778
11779 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
11780 for the character code, and the rest for the face id as in 20.x.
11781 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
11782
11783 * window.c (window_display_table): Cleaned up.
11784
070fe99c
GM
11785 * syntax.c (Fforward_word): Add last arg nil in call of
11786 Fconstrain_to_field.
11787
bad77ef7
EZ
117882000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
11789
969065c3 11790 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
11791 identical but for the letter-case, don't call
11792 barf_or_query_if_file_exists.
bad77ef7 11793
c28da489
MB
117942000-07-25 Miles Bader <miles@gnu.org>
11795
11796 * editfns.c (find_field): Honor special `boundary' fields.
11797 (Qboundary): New variables.
11798 (syms_of_editfns): Initialize Qboundary.
11799 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
11800 Use scan_buffer instead of find_before_next_newline, because it
11801 allows us to detect the boundary case where there's a newline at
11802 the search limit.
11803 * lisp.h (Fconstrain_to_field): Update external declaration.
11804
e3c31fd5
GM
118052000-07-24 Gerd Moellmann <gerd@gnu.org>
11806
11807 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
11808 if that is nil.
c28da489 11809
c66c29a2
DL
118102000-07-24 Dave Love <fx@gnu.org>
11811
11812 * s/sunos4-0.h, s/sol2.h:
11813 (LIBS_TERMCAP): Move from m/sparc.h.
11814
11815 * m/sparc.h (TERMINFO): Moved to system files (probably only
11816 relevant for sunos4 judging by its vintage).
11817 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
11818 __arch64__.
11819
fbe0a958
EZ
118202000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
11821
11822 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
11823 name to single_keymap_panes.
11824
7d88e5c9
AS
118252000-07-24 Andreas Schwab <schwab@suse.de>
11826
11827 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
11828
e024b101
GM
118292000-07-24 Gerd Moellmann <gerd@gnu.org>
11830
11831 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
11832 parameters instead of using int parameters. Expect FN to accept
11833 EMACS_INT parameters.
11834 (display_echo_area, resize_echo_area_axactly, current_message)
11835 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
11836 with new argument list.
11837 (resize_mini_window_1): New callback function.
11838 (current_message_1, truncate_message_1, set_message_1): Change
52283633 11839 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 11840
25c1a9ce
KH
118412000-07-24 Kenichi Handa <handa@etl.go.jp>
11842
11843 * fontset.c (fontset_ref): Remove INLINE declaration.
11844 (fontset_ref_via_base): Likewise.
11845 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
11846 to downcase.
11847
7f987ac0
EZ
118482000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
11849
11850 * msdos.c (IT_note_mouse_highlight): Process overlays in the
11851 correct order of priority. If help echo was found in an overlay,
11852 use that overlay as the object in which the help echo was found.
11853
e2db3069
MB
118542000-07-22 Miles Bader <miles@gnu.org>
11855
11856 * textprop.c (Fprevious_single_char_property_change): The initial
11857 property value should be from the position preceding POSITION, not
11858 following it.
11859
5e3203e4
EZ
118602000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
11861
11862 * coding.c (syms_of_coding): Doc fix for
11863 inhibit-iso-escape-detection.
11864
62145073
GM
118652000-07-21 Gerd Moellmann <gerd@gnu.org>
11866
c20aeb83
GM
11867 * xterm.c (note_mouse_highlight): Process overlays in the right
11868 order of priority.
34a7a267 11869
743934db
GM
11870 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
11871
11872 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 11873 overlay, use that overlay as the object in which the help was found.
743934db 11874
d1dc7e43 11875 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 11876
62145073
GM
11877 * window.c (foreach_window): Instead of a fake variable argument
11878 list, take one USER_DATA argument.
11879 (foreach_window_1): Likewise, and call callback functions with two
11880 args, the window and USER_DATA.
11881 (struct check_window_data): New struct.
11882 (check_window_containing): Use it.
11883 (window_from_coordinates): Set up a struct check_window_data for
11884 foreach_window.
11885 (add_window_to_list, freeze_window_start): Change parameters
11886 according to new calling convention.
11887
11888 * window.h (foreach_window): Change prototype.
11889
11890 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
11891
118922000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
11893
11894 * xmenu.c (menu_help_callback): Call show_help_echo with
11895 additional arguments OBJECT and POS.
11896
11270583
KH
118972000-07-21 Kenichi Handa <handa@etl.go.jp>
11898
07b14857
KH
11899 * data.c (Faset): Allow storing any multibyte character in a
11900 string. Convert unibyte string to multibyte if necessary.
11901
11270583
KH
11902 * xfns.c (x_encode_text): New function.
11903 (x_set_name): Use x_encode_text.
11904 (x_set_title): Likewise.
11905
11906 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
11907
11908 * xterm.h (x_encode_text): Add prototype.
11909
bc75b4fd
DL
119102000-07-20 Dave Love <fx@gnu.org>
11911
11912 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
11913 xfree, not free.
11914
48c14970
EZ
119152000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
11916
11917 * msdos.c (help_echo_window): New variable.
11918 (syms_of_msdos): Initialize and staticpro it.
11919 (IT_note_mode_line_highlight): Set help_echo_window.
11920 (IT_note_mouse_highlight): Ditto.
11921 (dos_rawgetc): Store help_echo_window in the second event produced
11922 for HELP_EVENTs.
11923
11924 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
11925 Record the object that generated the help echo and the position of
11926 that object in help_echo_object and help_echo_pos. Record that
11927 some glyphs in a row are displayed in mouse-face.
11928 (IT_update_begin): Don't clear mouse highlight unless one of the
11929 enabled glyph rows is marked as being displayed in mouse-face.
11930 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
11931 and position recorded in help_echo_object and help_echo_pos to the
11932 event queue.
11933 (IT_menu_display): Accept a new argument PN: the pane number of
11934 the current menu pane. Record the pane number and the item
11935 number of the item which has associated help string.
11936 (XMenuActivate): Update the prototype for help_callback in
11937 function declaration. Call IT_menu_display with the current menu
11938 pane number as an additional argument. Call help_callback with
11939 two additional arguments: the pane number and the item number of
11940 the menu item associated with the help text.
11941 (help_echo_object, help_echo_pos): New variables.
11942 (syms_of_msdos): Initialize them and staticpro help_echo_object.
11943
11944 * msdos.h (XMenuActivate): Update prototype.
11945
4279296d
GM
119462000-07-19 Gerd Moellmann <gerd@gnu.org>
11947
47db06aa
GM
11948 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
11949 Add some more prototypes.
11950
11951 * xterm.c, xterm.h: Add some more prototypes.
11952
11953 * lisp.h (Fnext_single_char_property_change): Add prototype.
11954
11955 * dispnew.c (direct_output_for_insert): Remove confusing
11956 outer local variable mouse_face_overwritten_p.
11957 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
11958
4279296d
GM
11959 * alloc.c (allocate_string_data): Don't copy old string contents.
11960
670acd62
KH
119612000-07-19 Kenichi Handa <handa@etl.go.jp>
11962
11963 * coding.c (code_convert_region): Delete text properties before
11964 shrinking the conversion region.
11965
7cea38bc
GM
119662000-07-18 Gerd Moellmann <gerd@gnu.org>
11967
dc1cac59
GM
11968 * dispnew.c (update_text_area): Write the whole row if it
11969 has mouse-face in it.
11970
85a8aca9
GM
11971 * xfaces.c (face-alternative-font-family-alist): Remove
11972 DEFVAR_LISP; staticpro instead.
11973
34a7a267 11974 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
11975 new arguments.
11976
11977 * keyboard.c (show_help_echo): Add parameter WINDOW.
11978 (read_char): Call show_help_echo with window extracted from Lisp
11979 help event.
11980 (gen_help_event): Add parameter WINDOW.
11981
11982 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
11983
11984 * xterm.c (help_echo_window): New variable.
52283633 11985 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
11986 (XTread_socket): Pass help_echo_window to gen_help_event.
11987 (syms_of_xterm): Initialize and staticpro help_echo_window.
11988
f8276b77
DL
119892000-07-18 Dave Love <fx@gnu.org>
11990
52283633 11991 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 11992
088831a6
GM
119932000-07-18 Gerd Moellmann <gerd@gnu.org>
11994
3d6cd763
GM
11995 * alloc.c (allocate_string_data): If string had already data
11996 assigned, copy old contents to new string data.
11997
11998 * coding.c (syms_of_coding): Fix typo in spelling of variable
11999 `inhibit-iso-escape-detection'.
12000
088831a6
GM
12001 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
12002
12003 * Makefile.in: Add dependencies on dispextern.h.
12004 (alloca.o): Don't define malloc and define EMACS_FREE instead of
12005 `free'; both can conflict with system header files.
12006
bc8a8d55
KH
120072000-07-18 Kenichi Handa <handa@etl.go.jp>
12008
12009 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
12010 undefined.
12011
069f5950
DL
120122000-07-18 Dave Love <fx@gnu.org>
12013
12014 * window.c (Fwindow_list): Declare arg `window'.
12015
aa96c820
KH
120162000-07-18 Kenichi Handa <handa@etl.go.jp>
12017
12018 * coding.c (setup_coding_system): Don't override the explicitly
12019 specified designations.
12020
06be8d32
MB
120212000-07-15 Miles Bader <miles@gnu.org>
12022
12023 * editfns.c (char_property_eq, char_property_stickiness): Renamed
12024 from `text_property_eq' and `text_property_stickiness', respectively.
12025 (find_field, Fconstrain_to_field, char_property_eq)
12026 (char_property_stickiness): Changed to call char-property functions
12027 instead of text-property-only ones.
12028
12029 * textprop.c (Fnext_single_char_property_change): Made a subr (was
12030 `next_single_char_property_change'). Do more error checking, and
12031 cleanup limit behavior.
12032 (Fprevious_single_char_property_change): New function.
12033 (syms_of_textprop): Initialize new subrs.
12034
12035 * xdisp.c (display_prop_end, invisible_text_between_p):
12036 Call Fnext_single_char_property_change instead of
12037 next_single_char_property_change.
12038
3fddcdc3
JR
120392000-07-15 Jason Rumney <jasonr@gnu.org>
12040
12041 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
12042 after menu is finished with.
12043 (add_menu_item): Only consider wv->title as a menu title.
12044 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
12045
12046 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
12047 null title.
12048 (FONT_REGEXP): Remove unused macro, and its sub-components.
12049 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
12050
12051 * w32term.c (help_echo_object, help_echo_pos): New variables.
12052 (note_mode_line_highlight): Store additional information about the
12053 help-echo in help_echo_object and help_echo_pos. Check both
12054 `local-map' and `keymap' properties for changing the cursor
12055 (note_mouse_highlight): Store additional information about the
12056 help-echo in help_echo_object and help_echo_pos.
12057 (note_tool_bar_highlight): Set help_echo_object to nil and
12058 help_echo_pos to -1.
12059 (w32_read_socket): Use gen_help_event instead of filling
12060 input_events manually.
12061 (syms_of_w32term): Staticpro help_echo_object.
12062 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 12063 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
12064 (x_clear_mouse_face): New function.
12065 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
12066 (x_update_window_begin): No need to turn off the mouse
12067 highlight here.
12068 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 12069 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
12070 (x_fill_stretch_glyph_string): Consume runs of stretch
12071 glyphs instead of a single one.
12072 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
12073 with new argument list.
12074 (x_set_glyph_string_gc): Make sure the face's GC is valid.
12075 (x_append_glyph, x_append_composite_glyph)
12076 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12077 changes in struct glyph starting 1999-12-27. See comments for
12078 xterm.c on 2000-07-05.
12079
178c5d9c
SS
120802000-07-14 Sam Steingold <sds@gnu.org>
12081
12082 * xfaces.c (realize_x_face): Fix the last patch:
12083 check `default_face' before dereferencing.
12084
6fe533f6
DL
120852000-07-14 Dave Love <fx@gnu.org>
12086
069f5950 12087 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 12088
dd7b81cf
KH
120892000-07-14 Kenichi Handa <handa@etl.go.jp>
12090
0693904a 12091 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 12092 default_face's fontset, not using the default fontset.
0693904a 12093
dd7b81cf
KH
12094 * coding.c (inhibit_iso_escape_detection): New variable.
12095 (syms_of_coding): Make it a Lisp variable.
12096 (detect_coding_iso2022): If inhibit_iso_escape_detection is
12097 nonzero, ignore ISO2022's escape sequence.
12098
d5aa31d8
GM
120992000-07-14 Gerd Moellmann <gerd@gnu.org>
12100
e5acf0ca
GM
12101 * alloca.c (malloc) [emacs]: Define as xmalloc.
12102
bd23a692
GM
12103 * xfns.c (Fx_show_tip): If frame parameters contain a position,
12104 use that instead of the mouse position. Add parameters DX and DY.
12105
12106 * dispextern.h (Fx_show_tip): Adjust number of parameters
12107 in prototype.
12108
9662da0b
GM
12109 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
12110 if HELP is a function, call it with OBJECT and POS as parameters
12111 to get the help to display.
12112 (gen_help_event, kbd_buffer_store_help_event): New functions.
12113 (kbd_buffer_get_event): Construct the Lisp help-event differently.
12114 (read_char): Call show_help_echo with new parameters.
12115
178c5d9c 12116 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
12117 Add prototypes.
12118
12119 * xterm.c (help_echo_object, help_echo_pos): New variables.
12120 (note_mode_line_highlight): Store additional information about the
12121 help-echo in help_echo_object and help_echo_pos. Check both
12122 `local-map' and `keymap' properties for changing the cursor
12123 (note_mouse_highlight): Store additional information about the
12124 help-echo in help_echo_object and help_echo_pos.
12125 (note_tool_bar_highlight): Set help_echo_object to nil and
12126 help_echo_pos to -1.
12127 (XTread_socket): Use gen_help_event instead of filling
12128 input_events manually.
12129 (syms_of_xterm): Staticpro help_echo_object.
12130
12131 * xmenu.c (menu_highlight_callback): Use
12132 kbd_buffer_store_help_event instead of setting up and input_event
12133 structure manually.
12134
12135 * xdisp.c (eval_form): GCPRO argument sexpr.
12136 (call_function): New function.
12137 (handle_single_display_prop): Use call_function and FUNCTIONP
12138 instead of checking whether if font_height is a symbol and
12139 using eval_form.
12140
12141 * eval.c (internal_condition_case_2): New function.
12142
12143 * lisp.h (FUNCTIONP): New macro.
12144 (internal_condition_case_2, call_function): Add prototypes.
12145
d5aa31d8
GM
12146 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
12147 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
12148 Always set `arg' member of input_events.
12149 (construct_menu_click): Unused function removed.
12150
12151 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
12152
12153 * w32term.c (construct_mouse_click, construct_mouse_wheel)
12154 (construct_drag_n_drop, x_scroll_bar_handle_click)
12155 (w32_read_socket): Always set `arg' member of input_events.
12156
12157 * keyboard.c (show_help_echo): Use eval_form. Add comment.
12158
12159 * lisp.h (eval_form): Add prototype.
12160
12161 * xdisp.c (eval_form): Make it externally visible.
12162
0f1a9b23
GM
121632000-07-13 Gerd Moellmann <gerd@gnu.org>
12164
12165 * xterm.c (x_handle_tool_bar_click): Store the frame in the
12166 frame_or_window slot of TOOL_BAR_EVENT input events instead of
12167 consing. For prefix events, store the frame in the `arg' slot of
12168 the event, otherwise store the key there.
12169 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 12170 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
12171
12172 * xmenu.c (menu_highlight_callback): Store help string in the
12173 `arg' member of the input event; don't cons.
12174 (menubar_selection_callback): Use the `arg' slot of input events
12175 to queue additional information, instead of consing.
12176
12177 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
12178
12179 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
12180 TOOL_BAR_EVENTs.
12181 (w32_read_socket): Adapt to changes in HELP_EVENTs.
12182
12183 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
12184 input events to queue additional information, instead of consing.
12185
12186 * keyboard.c (kbd_buffer_gcpro): Renamed from
12187 kbd_buffer_frame_or_window. Now used for all Lisp objects
12188 referenced from the input queue.
12189 (kbd_buffer_store_event): Always use structure assignment for
12190 copying input events. Record all Lisp objects referenced from
12191 events in kbd_buffer_gcpro.
12192 (kbd_buffer_get_event): Construct Lisp `help-echo' events
12193 differently from input events. Test for prefix menu_bar_events
12194 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
12195 event in kbd_buffer_gcpro to nil.
12196 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
12197 frame_or_window is equal to its arg member as prefix events.
12198 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
12199 used by an input event to nil.
12200 (init_keyboard): Use two times the size of the input queue
12201 for kbd_buffer_gcpro.
12202 (syms_of_keyboard): Likewise.
12203
52283633
SM
12204 * emacs.c (handle_USR2_signal, handle_USR1_signal):
12205 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
12206
12207 * termhooks.h (struct input_event): Add member `arg'.
12208 (MENU_BAR_EVENT): Renamed from menu_bar_event.
12209 (USER_SIGNAL_EVENT): Renamed from user_signal.
12210
12211 * xfaces.c (ASET): Remove definition.
12212
12213 * lisp.h (AREF, ASET, ASIZE): New macros.
12214
12215 * fontset.c (AREF, ASIZE): Remove definitions.
12216
12217 * fns.c (AREF): Remove definition.
178c5d9c 12218
0f1a9b23
GM
12219 * composite.c (AREF): Remove definition.
12220
712eaef2
GM
122212000-07-12 Gerd Moellmann <gerd@gnu.org>
12222
d8ee7803
GM
12223 * dispnew.c (redraw_overlapped_rows): Add missing local.
12224 (scrolling_window): Remove debug code.
12225
712eaef2
GM
12226 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
12227 Before scrolling, turn off a mouse-highlight in the window
12228 being scrolled.
12229
12230 * xterm.c (x_update_window_end): Add parameter
12231 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
12232 redisplay in XTframe_up_to_date.
12233 (x_clear_mouse_face): New function.
12234 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
12235
12236 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
12237 current glyph row.
12238 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
12239 it when any row is written to that contains glyphs highlighted in
12240 mouse-face.
12241 (update_window): Call the window update end hook with new
12242 parameter MOUSE_FACE_OVERWRITTEN_P.
12243 (direct_output_for_insert): Give up if row contains mouse-face.
12244
12245 * dispextern.h (struct redisplay_interface): Add parameter
12246 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
12247 (clear_mouse_face): New function pointer member.
12248
02010917
SM
122492000-07-11 Stefan Monnier <monnier@cs.yale.edu>
12250
12251 * syntax.c (back_comment): Use one switch rather than a few `if's.
12252 Obey open_paren_in_column_0_is_defun_start.
12253 When reverting to the `slow' method, try to nicely handle the case
12254 of nested comments by checking that the comment-starter we found
12255 does indeed match the comment-ender.
12256 (scan_sexps_forward, scan_sexps_forward):
12257 Ignore excessive opening parenthesis rather than throwing an error.
12258
d76c03ea
GM
122592000-07-11 Gerd Moellmann <gerd@gnu.org>
12260
12261 * doc.c (Fsubstitute_command_keys): Handle case that a GC
12262 in Fwhere_is_internal or get_keymap_1 relocates string contents.
12263
12264 * dispnew.c (direct_output_forward_char): Give up if currently
12265 displaying a message instead of the minibuffer contents.
12266
12267 * xterm.c (x_update_window_begin): No need to turn off the mouse
12268 highlight here.
12269 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 12270 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
12271
12272 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
12273 compare the mouse_face_p flags of both rows.
12274
12275 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
12276
d55ead18
EZ
122772000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
12278
12279 * keyboard.c (show_help_echo): Accept additional parameter
12280 ok_to_overwrite_keystroke_echo.
12281 (read_char): Call show_help_echo with a zero
12282 ok_to_overwrite_keystroke_echo argument.
52283633 12283 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
12284 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
12285 ok_to_overwrite_keystroke_echo argument.
12286 * w32menu.c (w32_menu_display_help): Call show_help_echo with
12287 non-zero ok_to_overwrite_keystroke_echo argument.
12288
df75b1a3
GM
122892000-07-10 Gerd Moellmann <gerd@gnu.org>
12290
4b92c49a
GM
12291 * xdisp.c (try_window_id): If changes are all below what is
12292 displayed in the window, and point is in the window, we still
12293 might have to find point on the display.
12294
12295 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
12296 glyphs instead of a single one.
12297 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
12298 with new argument list.
12299 (x_set_glyph_string_gc): Make sure the face's GC is valid.
12300
df75b1a3
GM
12301 * keymap.c (get_keymap_1): Add comment that this function can GC.
12302 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
12303 comment that functions can GC.
12304 (Fset_keymap_parent): GCPRO arg KEYMAP.
12305
4314cf3e
EZ
123062000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
12307
12308 * msdos.c (XMenuActivate): After exiting the menu, restore the
12309 echo area message and erase it.
12310
ab49ce15
KH
123112000-07-10 Kenichi Handa <handa@etl.go.jp>
12312
12313 * fontset.c (Ffontset_info): Make the return value more compatible
12314 with that of Emacs 20.
12315
090a072f
GM
123162000-07-07 Gerd Moellmann <gerd@gnu.org>
12317
12318 * eval.c (Fsignal): Handle case that backtrace_list is null.
12319
f92de4a6
KH
123202000-07-07 Kenichi Handa <handa@etl.go.jp>
12321
12322 * ccl.c (Fccl_execute): Typo fixed.
12323
dd8888a1
GM
123242000-07-06 Gerd Moellmann <gerd@gnu.org>
12325
e5c81191 12326 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 12327
dd8888a1
GM
12328 * window.c (Fwindow_list): Reverse list at the end.
12329 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
12330 means allow windows on OWINDOW's frame, only.
12331 (window_loop): Simplified; use Fwindow_list.
12332
12333 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
12334
485266d0
GM
123352000-07-05 Gerd Moellmann <gerd@gnu.org>
12336
12337 * xterm.c (XTread_socket): Increment handling_signal at the start,
12338 decrement it at the end.
12339
12340 * eval.c (handling_signal): New variable.
12341 (Fsignal): Abort if handling_signal is non-zero.
12342
12343 * lisp.h (handling_signal): External declaration.
178c5d9c 12344
485266d0
GM
12345 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
12346
80fcd514
KR
123472000-07-05 Ken Raeburn <raeburn@gnu.org>
12348
12349 Sound support for NetBSD through "Linux emulation" support:
12350 * config.in (HAVE_SOUNDCARD_H): Undef.
12351 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
12352 * Makefile.in (LIBSOUND): New variable.
12353 (LIBES): Include it.
52283633
SM
12354 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
12355 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
12356 (vox_open): Use DEFAULT_SOUND_DEVICE.
12357 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
12358
d5c5cddd
GM
123592000-07-05 Gerd Moellmann <gerd@gnu.org>
12360
12361 * print.c (print_error_message): If Vsignaling_function is set,
12362 show it in *Messages*.
12363
12364 * lisp.h (Vsignaling_function): External declaration.
12365
12366 * eval.c (Vsignaling_function): New variable.
12367 (Fsignal): Compute it.
12368 (syms_of_eval): Staticpro it.
12369
65171e3a
DL
123702000-07-05 Dave Love <fx@gnu.org>
12371
12372 * syswait.h: Use the autoconf recommended approach. Old code
12373 #if'd out in case we need to revert.
12374
178c5d9c 12375 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 12376
e2c46326
AI
123772000-07-05 Andrew Innes <andrewi@gnu.org>
12378
12379 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
12380 when non-NULL instead of __morecore, to take account of buffer
12381 memory. This also solves a problem with spurious memory warnings
12382 on Windows.
12383
12384 * ralloc.c: Make real_morecore non-static.
12385
12386 * eval.c (internal_condition_case): Comment out abort if
12387 interrupt_input_blocked is not zero.
12388
12389 * makefile.nt: Add support for `bootstrap' and related targets.
12390 Include minimal debug info in emacs.exe in release build.
12391 Remove all dependencies on lisp.h, and fixup some others.
12392
12393 * w32.c (init_environment): Install code from 20.7 for providing
12394 default values for environment variables, based on the
12395 executable's own location.
52283633 12396 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
12397 (sys_socket): Install socket inheritance bug fix from 20.7.
12398
12399 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
12400 here via blockinput.h).
12401
a027a91b
SM
124022000-07-05 Stefan Monnier <monnier@cs.yale.edu>
12403
e4b31601
SM
12404 * w32menu.c (w32_menu_display_help):
12405 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
12406
12407 * keyboard.h (show_help_echo): Declare.
12408
12409 * keyboard.c (show_help_echo): New function, extracted from read_char.
12410 Feval its `msg' argument if it's a cons cell.
12411 (read_char): Use it.
4cf8d9d5 12412 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 12413
178c5d9c 12414 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 12415 (note_tool_bar_highlight, XTread_socket):
178c5d9c 12416 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
12417 (dos_rawgetc):
12418 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
12419 (note_tool_bar_highlight, w32_read_socket):
12420 Do not gratuitously ignore non-string `help-echo' properties.
12421
88d75730
GM
124222000-07-05 Gerd Moellmann <gerd@gnu.org>
12423
969f7e79
GM
12424 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
12425
71201b00
GM
12426 * window.c (delete_all_subwindows): Reset Vwindow_list.
12427
88d75730
GM
12428 * xterm.c (x_append_glyph, x_append_composite_glyph)
12429 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12430 changes in struct glyph starting 1999-12-27. Some bit-fields of
12431 struct glyph were not set, which made glyphs unequal when compared
12432 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
12433 effects were the result. This also depended on the contents of
12434 memory returned by xmalloc. If flickering happens again, activate
12435 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 12436 gone with that, chances are that it is caused by something similar.
88d75730
GM
12437
12438 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 12439
88d75730
GM
12440 * dispextern.h: Add some comments.
12441
12442 * window.c (add_window_to_list): Add parameter LIST.
12443 (window_list): Order list so that, for each frame, windows are
12444 in canonical order, and so that frames appear in the list in
12445 the order given by Vframe_list.
12446 (next_window): Reverse the handling of NEXT_P.
12447
53654733
GM
124482000-07-04 Gerd Moellmann <gerd@gnu.org>
12449
87efd256
GM
12450 * window.c (Vwindow_list): New variable.
12451 (make_window, delete_window): Set Vwindow_list to nil.
12452 (check_window_containing): New function.
12453 (window_from_coordinates): Rewritten.
12454 (add_window_to_list, window_list, candidate_window_p)
12455 (decode_next_window_args, next_window): New functions.
52283633 12456 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
12457 (Fwindow_list): New function.
12458 (Fother_window): Cleaned up.
12459 (foreach_window): Add a longer "variable argument list". Let
12460 callback function return 0 to indicate that cycling over windows
12461 should stop.
12462 (foreach_window_1): Likewise.
12463 (freeze_window_start): Return int.
12464 (init_window): New function.
12465 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
12466
12467 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
12468 input_event with bzero.
12469 (main): Call init_window.
12470
53654733
GM
12471 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
12472 a menu filter.
12473
4a8c194f
KH
124742000-07-04 Kenichi Handa <handa@etl.go.jp>
12475
12476 * composite.h (make_composition_value_copy): Extern it.
12477
12478 * composite.c (make_composition_value_copy): New function.
12479
12480 * editfns.c (Fformat): While copying text properties, make each
12481 composition property value a copy.
12482
12483 * fns.c (concat): While copying text properties, make each
12484 composition property value a copy.
12485
831a6cb0
GM
124862000-07-03 Gerd Moellmann <gerd@gnu.org>
12487
2f516940
GM
12488 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
12489
178c5d9c 12490 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
12491 marked already.
12492
831a6cb0
GM
12493 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
12494 include those frames as candidates which have their focus
12495 redirected to the minibuffer frame.
12496
d9c4f922
SM
124972000-07-03 Stefan Monnier <monnier@cs.yale.edu>
12498
12499 * fns.c (Fputhash): Return `value' rather than nil.
12500
3780bc22
GM
125012000-06-30 Gerd Moellmann <gerd@gnu.org>
12502
97d176db
GM
12503 * frame.c (next_frame): Don't check focus redirection in case
12504 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
12505 unless their focus is redirected, which contradicts the
12506 specification of next-frame, and leads to infinite loops in
12507 certain situations when cycling through windows with next-window.
12508
dca9961d
KH
125092000-06-30 Kenichi Handa <handa@etl.go.jp>
12510
12511 * coding.c (code_convert_region): Even if the length of text is
12512 zero, try to convert it if coding->type is coding_type_ccl.
12513 (decode_coding_string, encode_coding_string): Likewise.
12514
d5483ab1
GM
125152000-06-28 Gerd Moellmann <gerd@gnu.org>
12516
af5c25e1 12517 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 12518 the display if windows_or_buffers_changed.
af5c25e1
GM
12519
12520 * dispnew.c (struct row_entry): New structure.
12521 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
12522 (row_table_size, old_lines, new_lines, old_lines_size)
12523 (new_lines_size, run_pool, runs_size, runs): New variables.
12524 (add_row_entry): New function.
12525 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 12526 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
12527 holding them in local variables. Use a larger hash table whose
12528 size depends on glyph matrix sizes. Don't use bzero to clear the
12529 hash table; instead, clear used slots only.
12530
12531 * fns.c (next_almost_prime): Make it externally visible.
12532
12533 * lisp.h (next_almost_prime): Add prototype.
12534
d5483ab1
GM
12535 * s/isc4-0.h (sigunblock): Define.
12536
12537 * s/sco5.h (sigunblock): Define.
12538
93e40f40
DL
125392000-06-27 Dave Love <fx@gnu.org>
12540
12541 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
12542 (moved to osf5-0.h).
12543 [!NOT_C_CODE]: Protect string.h stuff.
12544
12545 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
12546 (sys_siglist, NSIG): Definitions moved here from osf1.h.
12547
3c4b7685
GM
125482000-06-27 Gerd Moellmann <gerd@gnu.org>
12549
97d176db 12550 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
12551 below the last line from the needed window height.
12552
32cad0aa
SM
125532000-06-26 Stefan Monnier <monnier@cs.yale.edu>
12554
12555 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
12556 (Fwidget_get): Use it.
12557 (syms_of_fns): Defsubr it.
12558
2c69ced2
GM
125592000-06-26 Gerd Moellmann <gerd@gnu.org>
12560
178c5d9c 12561 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
12562 display info for XIM.
12563 (xim_open_dpy): Likewise.
12564 (xim_close_dpy): Don't free the display info's XIM.
12565
12566 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
12567
12568 * config.in (USE_XIM): New define.
12569
3fc720e4
GM
12570 * keymap.c (get_keyelt): For menu-items containing a `:filter
12571 FILTER', apply FILTER to the menu-item's definition to get the
12572 real definition to use.
12573
12574 * lisp.h (QCfilter): External declaration.
12575
2c69ced2
GM
12576 * xfns.c (Fimage_size): New function.
12577 (syms_of_xfns): Defsubr it.
12578
f978b2a2
AS
125792000-06-26 Andreas Schwab <schwab@suse.de>
12580
12581 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
12582 Fstring_as_unibyte.
12583
94cc7892
DL
125842000-06-25 Dave Love <fx@gnu.org>
12585
52283633 12586 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
12587
12588 * Makefile.in (blockinput.h): Depend on atimer.h.
12589 (atimer.h): Depend on systime.h.
12590
52283633 12591 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 12592
52283633 12593 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
12594
12595 * lisp.h (swap_in_global_binding): Declare.
12596
b8c24556
KR
125972000-06-24 Ken Raeburn <raeburn@gnu.org>
12598
12599 * process.c (Fopen_network_stream): Turn off atimers for duration
12600 of call to connect. (Patch from Gerd.)
12601
8cf8560b
DL
126022000-06-23 Dave Love <fx@gnu.org>
12603
511c7541
DL
12604 * ralloc.c: Maybe include unistd.h
12605
8cf8560b
DL
12606 * emacs.c (setgrp): Undefine before defining.
12607 (malloc_warning, set_time_zone_rule, index): Prototype.
12608
12609 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
12610 HAVE_STRUCT_TIMEZONE.
12611
12612 * s/osf1.h: Move string.h hack here from alpha.h and make it
12613 conditional.
12614 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
12615 _XOPEN_SOURCE.
12616 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
12617 (SOCKLEN_TYPE): Don't define.
12618
12619 * m/alpha.h: Remove string.h hack.
12620
12621 * s/osf5-0.h: New file.
12622
12623 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
12624 include time.h, done by systime.h.
12625 [__FreeBSD__]: Remove redundant includes.
12626
3fc720e4 12627 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
12628 (delete_temp_file): Return Qnil to avoid warning.
12629
12630 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
12631
12632 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
12633 HAVE_X_WINDOWS.
12634
12635 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
12636
12637 * composite.h (compose_text): Declare.
12638
12639 * xterm.c: Don't include sys/types.h unconditionally. Don't
12640 protect its inclusion with !USG (following xmenu.c).
12641
ea055732
GM
126422000-06-23 Gerd Moellmann <gerd@gnu.org>
12643
12644 * xfns.c (x_create_tip_frame): Initialize frame's colors like
12645 in x_create_frame.
12646
74b01b80
EZ
126472000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
12648
12649 * coding.c (decode_eol_post_ccl): Special handling for undecided
12650 and inconsistent EOL types.
12651
64f3a166
GM
126522000-06-22 Gerd Moellmann <gerd@gnu.org>
12653
16cf31f7
GM
12654 * xrdb.c (x_load_resources): Add default resource for scroll bar's
12655 trough color and main window's background color.
12656
52283633 12657 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
12658
12659 * xterm.h (Xt_app_con): External declaration.
12660
12661 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 12662
486a103d
GM
12663 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
12664
64f3a166
GM
12665 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
12666 (handle_invisible_prop): Record the start of invisible text in
12667 it->add_overlay_start.
12668 (struct overlay_entry): Add member `overlay'.
12669 (handle_overlay_change): Simplify.
12670 (next_overlay_string): After having processed overlay strings at the
12671 end of the buffer, record that fact in
12672 it->overlay_strings_at_end_processed_p.
12673 (compare_overlay_entries): If before- and after-strings come
12674 from the same overlay, let before-strings come first.
12675 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
12676 (load_overlay_strings): Take it->add_overlay_start into account
12677 when adding overlay strings.
12678
12679 * dispextern.h (struct it): Add member add_overlay_start.
12680
bb746ea6
DL
126812000-06-22 Dave Love <fx@gnu.org>
12682
12683 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
12684
12685 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
12686
a8f573f3
KH
126872000-06-22 Kenichi Handa <handa@etl.go.jp>
12688
12689 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
12690 is greater than 0.
12691
9f2bbc92
DL
126922000-06-21 Dave Love <fx@gnu.org>
12693
178c5d9c 12694 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 12695
3ee5041c
SM
126962000-06-21 Stefan Monnier <monnier@cs.yale.edu>
12697
12698 * syntax.c (back_comment): Simplify string-parity counting (with
12699 the added benefit of handling multiple string-styles as long as
12700 they are not intertwined).
12701 Jump to the slow code as soon as a comment starter is found in
12702 a "string_lossage" position. Fixes the case: " /* " /* " */.
12703
4c343001
DL
127042000-06-21 Dave Love <fx@gnu.org>
12705
12706 * Makefile.in: Use GETLOADAVG_LIBS.
12707
12708 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
12709 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
12710
e6365855
SM
127112000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12712
12713 * syntax.c (describe_syntax): Recognize the `n'estable bit.
12714 (Fforward_comment, scan_lists):
12715 Check the comstyle of single-char comment-starters.
12716 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
12717 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
12718 Check the comstyle of single-char comment-starters.
12719 Clarify control-flow around the Scomment case.
e6365855 12720
5700d2cc
DL
127212000-06-20 Dave Love <fx@gnu.org>
12722
d355bd8a
SM
12723 * fns.c (make_hash_table, maybe_resize_hash_table):
12724 Cast arg of next_almost_prime.
5700d2cc 12725
178c5d9c 12726 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
12727
12728 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
12729 and unistd.h.
12730
4a27bdfb
GM
127312000-06-20 Gerd Moellmann <gerd@gnu.org>
12732
a61d762c 12733 * keyboard.c (adjust_point_for_property): Check if display
52283633 12734 property should be treated as intangible by looking at its value.
a61d762c 12735
178c5d9c 12736 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
12737 (display_prop_intangible_p): New functions.
12738
12739 * dispextern.h (display_prop_intangible_p): Add prototype.
12740
12741 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 12742
4a27bdfb
GM
12743 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
12744 argument to sigprocmask.
12745
12746 * s/sco5.h (sigblock): Redefined to pass a pointer as second
12747 argument to sigprocmask.
12748
12749 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
12750 sigprocmask_set, and pass a pointer to it to sigprocmask.
12751
12752 * sysdep.c (sigprocmask_set): New variable.
12753
12754 * fileio.c (make_temp_name): Don't use `%s' in string passed to
12755 report_file_error.
12756
427ec082
SS
127572000-06-20 Sam Steingold <sds@gnu.org>
12758
12759 * xrdb.c: Don't declare xmalloc, xrealloc.
12760
8972fe79 127612000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
12762
12763 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
12764 (re_comp): Cast gettext return value to avoid complaints when
12765 !HAVE_LIBINTL.
12766
074b6efe
DL
127672000-06-20 Dave Love <fx@gnu.org>
12768
52283633 12769 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 12770
5700d2cc 12771 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 12772
d355bd8a 12773 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
12774
12775 * m/alpha.h: Don't declare xmalloc, xrealloc.
12776
0af4f205
DL
12777 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
12778
12779 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
12780
12781 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
12782
12783 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
12784 HAVE_GETWD.
12785
074b6efe
DL
12786 * keyboard.h (poll_for_input_1): Declare.
12787
12788 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
12789
12790 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
12791
12792 * doprnt.c: Don't declare xmalloc, xrealloc.
12793
12794 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
12795 (getenv, ctime, getwd): Removed.
12796 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
12797
12798 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
12799 x_set_tool_bar_lines.
12800
12801 * config.in: Add HAVE_GETWD. Move some definitions above
12802 machine/system includes.
12803
68a5e97b
KH
128042000-06-20 Kenichi Handa <handa@etl.go.jp>
12805
95417e1e
KH
12806 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
12807
68a5e97b
KH
12808 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
12809 contain information about ENCODING.
12810
12811 * fontset.c (FONTSET_ASCII): Use the first element of char table
12812 for an ASCII font, not defalt slot.
12813 (fontset_ref_via_base): If FONTSET doesn't contain information for
12814 C, try the default fontset.
12815 (make_fontset): Don't copy the default fontset.
12816 (fontset_font_pattern): Likewise.
12817 (accumulate_font_info): If ELT is nil, use the corresponding
12818 element in the default fontset.
12819
3b4fa1b2
DL
128202000-06-19 Dave Love <fx@gnu.org>
12821
943e731c
DL
12822 * syntax.c (Fparse_partial_sexp): Doc fix.
12823
12824 * regex.h: Test PROTOTYPES as well as __STDC__.
12825
3b4fa1b2
DL
12826 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
12827 errno, strerror. Put text after #endif in comment.
12828
52283633 12829 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
12830
12831 * xterm.c (x_frame_of_widget): Likewise.
12832
cdf0357b
GM
128332000-06-19 Gerd Moellmann <gerd@gnu.org>
12834
12835 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
12836 to Vfundamental_mode_abbrev_table.
12837
12838 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
12839 bogus objects are marked. This slows down GC by ~80 percent, but
12840 it might be worth trying when debugging GC-related problems.
12841 This feature requires conservative stack marking to be enabled.
12842
12843 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
12844 returns XLookupChars, reset `modifiers' to zero.
12845
998e9f8c
DL
128462000-06-19 Dave Love <fx@gnu.org>
12847
12848 * mktime.c: Unprotoized.
12849
18e21ce8 128502000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
12851
12852 * data.c (set_internal): If variable is frame-local,
12853 store the new value immediately into the frame parameter alist.
12854
140c4ac6
KR
128552000-06-19 Ken Raeburn <raeburn@gnu.org>
12856
14358466
KR
12857 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
12858 in the custom handler pointer.
12859
140c4ac6
KR
12860 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
12861 value, or checks for CHAR_META can fail when Lisp_Object is a
12862 union type.
12863 * keymap.c (get_keyelt): Likewise.
12864
10d7bf84
KH
128652000-06-19 Kenichi Handa <handa@etl.go.jp>
12866
12867 * ccl.h (struct ccl_program): New member eol_type.
12868 (struct ccl_spec): New member cr_carryover.
12869
12870 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
12871 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
12872
12873 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
12874 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
12875 (decode_eol_post_ccl): New function.
12876 (decode_coding): Don't detect EOL format here for CCL based coding
12877 systems.
12878 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
12879 decode_eol_post_ccl after running the CCL program.
12880 (code_convert_region): Don't detect EOL format here for CCL based
12881 coding systems.
12882 (decode_coding_string): Likewise.
12883
52e386c2
KR
128842000-06-18 Ken Raeburn <raeburn@gnu.org>
12885
12886 * charset.c (update_charset_table): Use XINT on "iso_final_char"
12887 when treating it as an integer.
12888
12889 * coding.h (encode_coding_string): Declare.
12890
12891 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
12892 it as an integer.
12893
12894 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
12895 "xkeymap" to avoid shadowing the "enum map_type" value that needs
12896 to be passed to get_local_map.
12897
12898 * sound.c (Fplay_sound): Don't call make_number on
12899 Frun_hook_with_args count argument.
12900
12901 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
12902 for lisp objects in X event structure data field, when lisp
12903 objects are represented with unions.
12904 (x_scroll_bar_to_input_event): Ditto.
12905
b357b9d4
KR
129062000-06-16 Ken Raeburn <raeburn@gnu.org>
12907
12908 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
12909 termination of string. Fix sense of test whether
12910 Vline_number_display_limit is an integer.
b357b9d4 12911
a871441d
GM
129122000-06-16 Gerd Moellmann <gerd@gnu.org>
12913
a9021acd
GM
12914 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
12915 only if HAVE_X_WINDOWS.
12916
6344985d
GM
12917 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
12918 of titles.
12919
427ec082 12920 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
12921 out of bounds.
12922
228b083e
EZ
129232000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
12924
12925 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
12926 of its headers.
12927
c25b53a2
KH
129282000-06-15 Kenichi Handa <handa@etl.go.jp>
12929
12930 * coding.c (decode_coding_emacs_mule): Always set src_base at the
12931 start of the while loop.
12932
a6981b11
GM
129332000-06-15 Gerd Moellmann <gerd@gnu.org>
12934
e9924e52
GM
12935 * atimer.c (alarm_signal_handler): Add forward declaration.
12936
a6981b11
GM
12937 * data.c (set_internal): Remove debug code.
12938
25fa6deb
GM
129392000-06-14 Gerd Moellmann <gerd@gnu.org>
12940
dce6b995
GM
12941 * Makefile.in (bootstrap-temacs): Add `-I../src'.
12942
9f817ea4
GM
12943 * unexec.c (toplevel) [COFF]: Include coff.h.
12944
12945 * s/lynxos.h: New file.
12946
12947 * keymap.c (Fsingle_key_description): Enclose function key and
12948 event symbol names in angle brackets.
12949
8a4e3c0c
GM
12950 * xdisp.c (setup_echo_area_for_printing): Call
12951 message_log_maybe_newline if message_buf_print is not set.
12952
12953 * print.c (printchar, strout): Don't check message_buf_print
427ec082 12954 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
12955 function does something useful even when message_buf_print is
12956 already set.
12957
52283633
SM
12958 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
12959 New variables.
25fa6deb
GM
12960 (ensure_echo_area_buffers): Initialize echo buffer's
12961 truncate lines setting to nil.
12962 (with_echo_area_buffer): Don't set the echo buffer's truncate
12963 lines setting here.
8a4e3c0c 12964 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
12965 of message_truncate_lines.
12966 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
12967 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
12968 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
12969
12970 * keyboard.c (read_char): Bind message-truncate-lines to t
12971 while displaying a help-echo.
12972
12973 * lisp.h (Qmessage_truncate_lines): External declaration.
12974
163dcff3
GM
129752000-06-13 Gerd Moellmann <gerd@gnu.org>
12976
1681ead6
GM
12977 * xdisp.c (Vline_number_display_limit): Renamed from
12978 line_number_display_limit.
12979 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
12980 Extend documentation string. Initialize
12981 Vline_number_display_limit to nil meaning no limit.
12982 (decode_mode_spec): Use Vline_number_display_limit with its new
12983 meaning.
12984
163dcff3
GM
12985 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
12986
18e21ce8 129872000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
12988
12989 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 12990
163dcff3
GM
12991 * xfns.c (x_set_frame_parameters): Comment fix.
12992
12993 * frame.c (store_frame_param): Call swap_in_global_binding if the
12994 variable's current binding was chosen based on this frame.
12995
12996 * data.c (swap_in_global_binding): New function.
12997
a704139d
EZ
129982000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12999
13000 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
13001 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
13002
9b6610db
EZ
130032000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
13004
13005 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
13006
c68833d2
JR
130072000-06-12 Jason Rumney <jasonr@gnu.org>
13008
13009 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
13010
13011 * w32.h (EMACS_W32_H): Renamed from _NT_H_
13012
13013 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
13014
13015 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
13016
ed1056b3
GM
130172000-06-12 Gerd Moellmann <gerd@gnu.org>
13018
13019 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
13020 (syms_of_xfaces): Defsubr Sdump_colors.
13021 (x_free_colors): Don't treat b&w specially on default visual.
13022 (x_free_dpy_colors): New function.
13023 (free_face_colors): Don't check visual class; it's done
13024 in x_free_colors.
13025
13026 * xterm.c (x_frame_of_widget): New function.
13027 (x_alloc_nearest_color_for_widget): Use it.
13028 (x_copy_dpy_color): New function.
13029 (x_destroy_window): Free various colors.
13030
5050a2ef
KH
130312000-06-12 Kenichi Handa <handa@etl.go.jp>
13032
13033 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
13034
13035 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
13036
13037 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
13038
13039 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
13040
13041 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
13042
fb1b041d
DL
130432000-06-11 Dave Love <fx@gnu.org>
13044
13045 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
13046
ff96b5f4
EZ
130472000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
13048
13049 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
13050
db8eeecd
GM
130512000-06-11 Gerd Moellmann <gerd@gnu.org>
13052
ed1056b3 13053 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
13054 to `XEvent *'.
13055
49b71c5f
KH
130562000-06-10 Kenichi Handa <handa@etl.go.jp>
13057
c479bd55
KH
13058 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
13059 (regex_compile): Fix the code for handling the case of single byte
13060 char and multibyte char being mixed in a range within [...].
13061
ff6a65c2
KH
13062 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
13063 and dst_multibyte members of coding.
13064
49b71c5f
KH
13065 * charset.c (update_charset_table): Update the table
13066 bytes_by_char_head.
13067 (init_charset_once): Initialize elements of bytes_by_char_head to
13068 1 except for leading codes for private charases.
13069
13070 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 13071 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 13072
9e80b57d
KR
130732000-06-09 Ken Raeburn <raeburn@gnu.org>
13074
13075 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
13076 access the data it doesn't point to.
13077
f83fe4b4
GM
130782000-06-08 Gerd Moellmann <gerd@gnu.org>
13079
13080 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 13081 will be translated to a switch-frame event when reading the
f83fe4b4
GM
13082 event queue. This is necessary because Emacs otherwise won't
13083 perform a switch-frame to a new frame until some other event, for
13084 example a keystroke event, forces it to do so. This has various
13085 effects, one visible being that the cursor of a frame created with
13086 C-x 5 2 or switched to with a window manager key binding like
13087 A-TAB stays hollow because selected_window isn't on the newly
13088 focused frame until the switch-frame is performed.
13089
13090 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
13091 generating a switch-frame event if necessary.
13092
13093 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
13094
13095 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
13096 it's an integer.
13097
0890801b
KH
130982000-06-08 Kenichi Handa <handa@etl.go.jp>
13099
52283633 13100 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 13101
173cbca8
GM
131022000-06-07 Gerd Moellmann <gerd@gnu.org>
13103
3091c2a6
GM
13104 * window.c (displayed_window_lines): Take empty lines at
13105 the bottom of a window into account.
427ec082 13106
f38952fe
GM
13107 * window.c (displayed_window_lines): New function.
13108 (Fmove_to_window_line): Use displayed_window_lines to determine
13109 the number of lines to move, instead of using the window's height.
13110
13111 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
13112 to stop reading, even if the form read sets point to a different
13113 value when evaluated.
13114
427ec082 13115 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
13116 put the cursor.
13117
6ba6c818
KH
131182000-06-07 Kenichi Handa <handa@etl.go.jp>
13119
13120 * fileio.c (e_write): Free composition data if stored in
13121 coding->cmp_data.
13122
5f1aea9a
GM
131232000-06-06 Gerd Moellmann <gerd@gnu.org>
13124
666852af
GM
13125 * xdisp.c (display_line): Set row's and iterator's
13126 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
13127 Set cursor even if row ends in the middle of a character.
13128 (dump_glyph_row): Print values of new flags.
13129 (redisplay_window) <cursor movement in unchanged window>: When
13130 point has been moved forward, and PT is at the end of the cursor
13131 row, don't place the cursor in the next row if the cursor row ends
13132 in the middle of a character or at ZV.
13133
13134 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
13135 (struct glyph_row): Add starts_in_middle_of_char_p and
13136 ends_in_middle_of_char_p.
13137 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
13138 ends_in_middle_of_char_p flag.
13139 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
13140
d13f3e2e
GM
13141 * term.c (append_glyph): Revert change of 2000-06-06.
13142
13143 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
13144 padding glyph not fitting on line as whole character not
13145 fitting on line.
13146
5f1aea9a
GM
13147 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
13148 this isn't true for images with `:ascent 100'.
13149
10cda9b0
KH
131502000-06-06 Kenichi Handa <handa@etl.go.jp>
13151
ed00559d
KH
13152 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
13153 as modified if it is originally unmodified.
13154
10cda9b0
KH
13155 * term.c (encode_terminal_code): Change the way to check if
13156 terminal coding does any conversion.
13157 (append_glyph): Set glyph->pixel_width correctly.
13158
13159 * xdisp.c (display_line): While checking line continuation, pay
13160 attention to a padding glyph.
13161
1969fae2
GM
131622000-06-05 Gerd Moellmann <gerd@gnu.org>
13163
13164 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
13165
162ccef4
DL
131662000-06-05 Dave Love <fx@gnu.org>
13167
f19f32dd
DL
13168 * xdisp.c: Include fontset.h.
13169
13170 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
13171
13172 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
13173
13174 * dispnew.c: Conditionally include term.h.
13175
13176 * coding.h: Declare code_convert_string_norecord.
13177
13178 * frame.h (struct frame): Use volatile unconditionally.
13179
13180 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
13181
13182 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
13183
13184 * systime.h: Protect against multiple inclusion.
13185 (timezone) [USG5_4]: Define as time_t.
13186
13187 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
13188 (Foptimize_char_table, make_temp_name): Declare.
13189
13190 * Makefile.in (xdisp.o): Depend on fontset.h.
13191
13192 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
13193
13194 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
13195 (Foptimize_char_table, make_temp_name): Declare.
13196
427ec082 13197 * s/irix4-0.h:
162ccef4
DL
13198 * s/irix5-0.h:
13199 * s/netbsd.h: Don't define autoconfiscated MATHERR.
13200
2082fe81
DL
132012000-06-02 Dave Love <fx@gnu.org>
13202
13203 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
13204
dcf671d2
GM
132052000-06-02 Gerd Moellmann <gerd@gnu.org>
13206
13207 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 13208 result face, set flags in that face indicating that colors may not
dcf671d2
GM
13209 be freed.
13210
13211 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
13212 glyph, use the ASCII NUL character to determine the face.
13213
d42122a3
DL
132142000-06-02 Dave Love <fx@gnu.org>
13215
13216 * sysdep.c: Conditionally include stdlib.h, unistd.h.
13217 (VFORK_RETURN_TYPE): Remove.
427ec082 13218
d42122a3
DL
13219 * config.in: Add NO_MATHERR.
13220
dd432f16
DL
132212000-06-01 Dave Love <fx@gnu.org>
13222
90aa4ea8
DL
13223 * cmds.c (internal_self_insert): Don't check
13224 Vbefore_change_function, Vafter_change_function.
13225
13226 * insdel.c (signal_before_change, signal_after_change): Likewise.
13227
13228 * buffer.c (Vbefore_change_function, Vafter_change_function):
13229 Variables and their initializations deleted.
13230
2330c9d4
DL
13231 * callint.c (Fcall_interactively): Doc fix.
13232
dd432f16
DL
13233 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
13234
bf9e8804
DL
132352000-05-31 Dave Love <fx@gnu.org>
13236
13237 * textprop.c: Revert last change -- duplicated.
13238
3694b4ab
GM
132392000-05-31 Gerd Moellmann <gerd@gnu.org>
13240
13241 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
13242 in #if 0.
13243
13244 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
13245
f14156cd
JR
132462000-05-31 Jason Rumney <jasonr@gnu.org>
13247
8119aab8
JR
13248 * search.c (Fre_search_forward, Fre_search_backward)
13249 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
13250
f14156cd
JR
13251 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
13252
4aab9be3
JR
132532000-05-30 Jason Rumney <jasonr@gnu.org>
13254
13255 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
13256 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
13257
52283633 13258 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
13259
13260 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
13261 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
13262 expand a nil default_filename.
13263
13264 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
13265 pointer to glyph_to_pixel_coords, not a frame.
13266
13267 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
13268 coding.h to dependencies.
13269
13270 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
13271
13272 * w32console.c (glyph_to_pixel_coords): Change first parameter to
13273 window pointer to be consistent with w32term.c and xterm.c.
13274
13275 * w32fns.c: Format and doc changes to bring closer to xfns.c.
13276 (VIETNAMESE_CHARSET): Define if not defined in system headers.
13277 (Qline_spacing, Qcenter): New variables.
13278 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
13279 (x_set_line_spacing): New function.
52283633 13280 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
13281 (x_specified_cursor_type): New function.
13282 (x_set_cursor_type): Use it.
13283 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
13284 and icon strings.
13285 (validate_x_resource_name, x_get_resource_string): Measure lengths
13286 of external strings in bytes.
13287 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
13288 GetTextExtentPoint32 with NULL title.
13289 (Fx_create_frame): Initialize Qline_spacing.
13290 (w32_load_system_font): Initialize font->double_byte_p.
13291 (x_to_w32_charset): Use Vw32_charset_info_alist.
13292 (Image, busy cursor, tooltip functions): Merged changes from
13293 xfns.c. Not yet functional on Windows.
13294
13295 * w32gui.h (W32FontStruct): Add double_byte_p member.
13296
13297 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
13298 (emacs_button_translation): Use it.
13299 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
13300 in `mask' to be set.
13301
13302 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
13303 menu strings.
13304
13305 * w32term.c: Format and doc changes to bring closer to xterm.c.
13306 (w32_char_font_type): New enum.
13307 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
13308 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
13309 (w32_encode_char): New function.
13310 (x_encode_char): Removed.
13311 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
13312 x_encode_char and w32_font_is_double_byte.
13313 (x_produce_image_glyph): Use image_ascent.
13314 (x_produce_glyphs): Use new version of w32_per_char_metric and
13315 handle NULL return value. Allow extra line spacing.
13316 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
13317 (w32_get_glyph_overhangs): Remove unicode_p param. Use
13318 w32_font_type member of glyph instead.
13319 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
13320 (fast_find_position): Make sure not to consider rows not visible
13321 in the window.
13322 (w32_read_socket) [WM_MENUSELECT]: Cannot call
13323 w32_menu_display_help with input blocked, as it can abort.
13324 (x_display_and_set_cursor): Choose cursor depending
13325 on buffer-local value of cursor_type.
13326 (x_draw_bar_cursor): Add parameter WIDTH.
13327
13328 * w32term.h (CP_DEFAULT): Define.
13329 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
13330
10fc3187
GM
133312000-05-30 Gerd Moellmann <gerd@gnu.org>
13332
13333 * search.c (Fre_search_forward, Fre_search_backward)
13334 (Fposix_search_backward, Fposix_search_forward): Doc fix.
13335
d0555360
KH
133362000-05-30 Kenichi Handa <handa@etl.go.jp>
13337
13338 * coding.c (detect_coding_iso2022): Fix code for checking
13339 CODING_CATEGORY_MASK_ISO_8_2.
13340
f1ad044f
SM
133412000-05-29 Stefan Monnier <monnier@cs.yale.edu>
13342
13343 * regex.c (PREFETCH_NOLIMIT): New function.
13344 (re_match_2_internal): Use it and adjust the end_match_2 logic.
13345
84ec3b4b
GM
133462000-05-29 Gerd Moellmann <gerd@gnu.org>
13347
66254a13
GM
13348 * syntax.c (find_defun_start): Move test for
13349 open_paren_in_column_0_is_defun_start outside of the loop.
13350
49e70dec
GM
13351 * xdisp.c (redisplay_window): Really switch buffers when
13352 displaying mode lines, and temporarily set selected_frame to the
13353 frame of the window that's redisplayed.
13354
84ec3b4b
GM
13355 * xfaces.c (free_realized_faces): Block/unblock input.
13356 (free_realized_multibyte_face): Ditto.
13357
869a3a14
DL
133582000-05-29 Dave Love <fx@gnu.org>
13359
13360 * textprop.c (Qkeymap): New variable.
13361 (syms_of_textprop): Intern it.
13362
13363 * keymap.c: Include intervals.h.
13364 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
13365
13366 * Makefile.in (keymap.o): Depend on intervals.h.
13367
13368 * keyboard.c (menu_bar_items, tool_bar_items)
13369 (Fexecute_extended_command): Deal with `keymap' property.
13370 (read_key_sequence): Track map from `keymap' property as well as
13371 `local_map'.
13372
13373 * intervals.c (get_local_map): Extra arg to allow looking for
13374 `keymap' too.
13375
13376 * intervals.h (map_property): New enum.
13377 (get_local_map): Extra arg using it.
13378 (Qkeymap): Declare.
13379
84ec3b4b 13380 * lisp.h (get_local_map): Don't declare here.
869a3a14 13381
89d0c844
KH
133822000-05-29 Kenichi Handa <handa@etl.go.jp>
13383
13384 * Makefile.in (callproc.o): Depend on composite.h.
13385
13386 * callproc.c: Include composite.h.
13387 (Fcall_process): Handle composition correctly.
13388
13389 * coding.h (coding_allocate_composition_data): Extern it.
13390 (coding_restore_composition): Likewise.
13391
13392 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
13393 yet allocated, finish decoding with result
13394 CODING_FINISH_INSUFFICIENT_CMP.
13395 (coding_allocate_composition_data): Make it non-static.
13396 (coding_restore_composition): Likewise.
13397
797a084a
EZ
133982000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
13399
13400 * charset.c (syms_of_charset): Revert last change.
13401
cf872af5
EZ
134022000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13403
13404 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
13405 charsets as unibyte, with 1-column screen width. Sent by Kenichi
13406 Handa.
cf872af5 13407
5b1ae051
EZ
134082000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13409
13410 * charset.c (syms_of_charset): Set width of character sets
13411 eight-bit-control and eight-bit-graphic to 1 column.
13412
34ec9ebe
GM
134132000-05-26 Gerd Moellmann <gerd@gnu.org>
13414
13415 * config.in (HAVE_SPEED_T): New define.
13416
13417 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
13418 `extern speed_t'.
13419
dd854dc2
DL
134202000-05-26 Dave Love <fx@gnu.org>
13421
13422 * coding.c (shrink_decoding_region): Initialize eol_conversion.
13423
13424 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
13425 (Fsubr_arity): New function.
13426 (syms_of_data): Install them.
13427
ba9f8f95
KH
134282000-05-26 Kenichi Handa <handa@etl.go.jp>
13429
0f3e0672
KH
13430 * charset.c (init_charset_once): Set the table bytes_by_char_head
13431 correctly.
13432
cebefb44
KH
13433 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
13434 the default fontset to what Emacs uses by default.
0f3e0672
KH
13435 (check_registry_encoding): This function deleted.
13436 (Fset_fontset_font): Remove the adhoc condition for the default
13437 fontset. Allow cons in FONTNAME.
cebefb44 13438
0f3e0672
KH
13439 * fns.c (map_char_table): Ignore char-table entries for
13440 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 13441
7a18af49
KR
134422000-05-25 Ken Raeburn <raeburn@gnu.org>
13443
13444 * emacs.c (main): Initialize keyboard syms before initializing
13445 window code, so face names are available.
13446
d2af47df
SM
134472000-05-25 Stefan Monnier <monnier@cs.yale.edu>
13448
13449 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
13450 of an anchor at the beginning of a shy-group.
13451
fc6a6a4e
GM
134522000-05-25 Gerd Moellmann <gerd@gnu.org>
13453
13454 * xdisp.c (handle_invisible_prop): Don't try to skip over
13455 invisible text if end of text is already reached.
13456
005f0d35
DL
134572000-05-25 Dave Love <fx@gnu.org>
13458
02513cdd
DL
13459 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
13460
005f0d35
DL
13461 * coding.c (encode_eol): Add null statement after label.
13462
89f6ca4e
EZ
134632000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
13464
13465 * w16select.c (Fw16_set_clipboard_data): Fix the change from
13466 2000-05-20.
13467
a4e1759e
KH
134682000-05-25 Kenichi Handa <handa@etl.go.jp>
13469
13470 * ccl.c (ccl_driver): Fix previous change.
13471
eacfd7fe
KH
134722000-05-25 Kenichi Handa <handa@etl.go.jp>
13473
46ab33a9
KH
13474 * coding.c (run_pre_post_conversion_on_str): Set point to the
13475 beginning of buffer before calling coding->post_read_conversion.
13476 (decode_coding_string): Give correct args to
13477 run_pre_post_conversion_on_str.
13478 (encode_coding_string): Likewise.
13479
eacfd7fe
KH
13480 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
13481 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
13482 eight-bit-graphic correctly.
13483
f8569325
DL
134842000-05-24 Kenichi HANDA <handa@etl.go.jp>
13485
13486 * fileio.c (Finsert_file_contents): Even if a file is not found,
13487 execute codes for setting up coding system. Call
13488 after-insert-file-functions unconditionally.
13489
04545643
GM
134902000-05-24 Gerd Moellmann <gerd@gnu.org>
13491
13492 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
13493 BSD_PGRPS are not defined.
13494
747d90ea
KH
134952000-05-24 Kenichi Handa <handa@etl.go.jp>
13496
13497 * charset.c (update_charset_table): Accept nil in LONG_NAME and
13498 DESCRIPTION.
13499 (syms_of_charset): Avoid building same strings.
13500
716e3b88
GM
135012000-05-23 Gerd Moellmann <gerd@gnu.org>
13502
13503 * lread.c (Fload): Add a comment about the meaning of
13504 Vuser_init_file being t.
13505
13506 * puresize.h (BASE_PURESIZE): Increase to 675000.
13507
13508 * s/gnu-linux.h (setpgrp): Don't define it here because this
13509 prevents compilation on GNU/Linux systems with glib 2.2.
13510
13511 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
13512 as setpgid.
427ec082 13513
9aeb39fa
EZ
135142000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
13515
13516 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
13517 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
13518 version.
13519 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
13520
29ced61b
KH
135212000-05-23 Kenichi Handa <handa@etl.go.jp>
13522
52283633 13523 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 13524
3d80f24d
KH
13525 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
13526
52283633 13527 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 13528
29ced61b
KH
13529 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
13530
d7e00792
KH
135312000-05-22 Kenichi Handa <handa@etl.go.jp>
13532
c9d80d38
KH
13533 * keyboard.c (read_char): Allow character codes 128..255 to be
13534 handled by input-method-function.
13535
d7e00792
KH
13536 * insdel.c (adjust_markers_for_replace): Fix previous change.
13537 (adjust_after_replace): If PREV_TEXT is nil, call
13538 adjust_markers_for_insert, not adjust_markers_for_replace.
13539
087121cc 135402000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 13541
087121cc
GM
13542 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
13543 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
13544 [HAVE_GRANDPT]: Define.
13545 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
13546
13547 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
13548 like SYSV_PTYS.
13549
13550 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
13551
13552 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
13553
c9671f81
KH
135542000-05-20 Kenichi Handa <handa@etl.go.jp>
13555
13556 The following changes are to handle 8-bit characters in a
13557 multibyte buffer/string without facing with byte combining
13558 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
13559 eight-bit-graphic (for 0xA0..0xFF) are introduced.
13560
13561 * Makefile.in (fns.o): Depend on charset.h.
13562
13563 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
13564 convert it to unibyte.
13565 (make_string): Use parse_str_as_multibyte, not chars_in_text.
13566
13567 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
13568 apparent char boundary.
13569 (Fset_buffer_multibyte): Convert 8-bit characters in the range
13570 0x80..0x9F to/from multibyte form.
13571
13572 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
13573 to unibyte.
13574
13575 * callproc.c (Fcall_process): Always encode an argument string if
13576 it is multibyte. Setup src_multibyte and dst_multibyte members of
13577 process_coding properly.
ce75fd23 13578
c9671f81
KH
13579 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
13580 SPLIT_NON_ASCII_CHAR.
13581
13582 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
13583 as is.
13584 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
13585
52283633 13586 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 13587 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 13588 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
13589 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
13590 and eight-bit-graphic.
13591 (char_to_string): Likewise. Signal an error for too large
13592 character code.
13593 (char_printable_p): Return 0 for 8-bit characters.
13594 (update_charset_table): Update iso_charset_table only when a final
13595 character is non-negative.
13596 (find_charset_in_text): Renamed from find_charset_in_str.
13597 Arguments and return value changed. Callers changed.
13598 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
13599 be -1 if CHARSET is used only internally.
13600 (Fmake_char_internal): Handle new charsets; eight-bit-control and
13601 eight-bit-graphic.
13602 (Fcharset_after): Simplified.
13603 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
13604 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
13605 (multibyte_chars_in_text): Simplified by assuming there's no
13606 invalid multibyte sequence.
52283633
SM
13607 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13608 (str_as_unibyte): New functions.
13609 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
13610 (init_charset_once): Initialization for
13611 LEADING_CODE_8_BIT_CONTROL.
13612 (syms_of_charset): Intern and staticpro Qeight_bit_control and
13613 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
13614 eight-bit-control and eight-bit-graphic.
13615
52283633
SM
13616 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
13617 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
13618 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
13619 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
13620 (CHARSET_REVERSE_CHARSET): Likewise.
13621 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
13622 eight-bit-graphic.
13623 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
13624 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
13625 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
13626 encounter an invalid multibyte sequence.
13627 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
13628 sequence is always valid.
13629 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 13630 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
13631 (CHAR_STRING): For 8-bit characters, call char_to_string.
13632 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
13633 multibyte sequence is always valid.
13634 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
13635 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13636 (str_as_unibyte): Extern them.
c9671f81 13637 (BCOPY_SHORT): Fix a bug.
52283633 13638 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
13639 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
13640 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
13641 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
13642
bd4bde7f 13643 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 13644 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
13645 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
13646 (EMIT_BYTES): New macros.
13647 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
13648 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
13649 macros deleted.
13650 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
13651 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
13652 check the validity of multibyte sequence.
13653 (decode_coding_emacs_mule): New function.
13654 (encode_coding_emacs_mule): New macro.
13655 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
13656 the source.
13657 (DECODE_ISO_CHARACTER): Just return a character code.
13658 (DECODE_COMPOSITION_START): Set coding->result instead of result.
13659 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
13660 EMIT_CHAR to produced decoded characters. Exit the loop only by
13661 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
13662 block here.
13663 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
13664 only position codes for an invalid character.
13665 (encode_designation_at_bol): Return new destination pointer. 5th
13666 arg DSTP is changed to DST.
13667 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
13668 from the source by ONE_MORE_CHAR. Don't handle the case of last
13669 block here.
13670 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
13671 macros deleted.
52283633
SM
13672 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
13673 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
13674 TWO_MORE_BYTES to fetch a byte from the source.
13675 (encode_eol): Pay attention to coding->src_multibyte.
13676 (detect_coding, detect_eol): Preserve members src_multibyte and
13677 dst_multibyte.
13678 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
13679 (encoding_buffer_size): Set magnification to 3 for all coding
13680 systems that require encoding.
13681 (ccl_coding_driver): For decoding, be sure that the result is
13682 valid multibyte sequence.
13683 (decode_coding): Initialize coding->errors and coding->result.
13684 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
13685 and raw-text, always call decode_eol. Handle the case of last
13686 block here. If not coding->dst_multibyte, convert the resulting
13687 sequence to unibyte.
13688 (encode_coding): Initialize coding->errors and coding->result.
13689 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
13690 and raw-text, always call encode_eol. Handle the case of last
13691 block here.
13692 (shrink_decoding_region, shrink_encoding_region): Detect cases
13693 that we can't skip data more rigidly.
13694 (code_convert_region): Setup src_multibyte and dst_multibyte
13695 members of coding. For decoding, if the buffer is multibyte,
13696 convert the source sequence to unibyte in advance. For encoding,
13697 if the buffer is multibyte, convert the resulting sequence to
13698 multibyte afterward.
13699 (run_pre_post_conversion_on_str): New function.
13700 (code_convert_string): Deleted and divided into the following two.
13701 (decode_coding_string, encode_coding_string): New functions.
13702 (code_convert_string1, code_convert_string_norecord): Call one of
13703 above.
13704 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
13705 MAKE_NON_ASCII_CHAR.
52283633
SM
13706 (Fset_terminal_coding_system_internal)
13707 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
13708 and dst_multibyte members.
13709 (init_coding_once): Initialize iso_code_class with new enum
13710 ISO_control_0 and ISO_control_1.
13711
13712 * coding.h (enum iso_code_class_type): Member ISO_control_code is
13713 devided into ISO_control_0 and ISO_control_1.
13714 (struct coding_system): New members src_multibyte, dst_multibyte,
13715 errors, and result. Delete member fake_multibyte.
13716 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
13717 nonzero.
13718 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
13719 nonzero.
13720
13721 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13722 (Faset): Likewise.
13723
13724 * editfns.c (Fformat): Be sure to convert 8-bit characters to
13725 multibyte form.
13726 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
13727 combining occurs.
13728 (Ftranspose_region): Delete codes for handling byte combining.
13729
13730 * fileio.c (Finsert_file_contents): Setup src_multibyte and
13731 dst_multibyte members of coding. On handling REPLACE on unibyte
13732 buffer, convert the result of decode_coding to unibyte. On
13733 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 13734 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
13735 multibyteness of the source (buffer or string).
13736
13737 * fns.c (concat): Handle 8-bit characters correctly.
13738 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
13739 unibyte in the result.
13740 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
13741 valid multibyte form in the result.
13742 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13743 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
13744 return -1, signal an error.
13745 (base64_encode_1): New arg MULTIBYTE. Get each character by
13746 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
13747 character is found, return -1.
13748 (Fbase64_decode_region): Delete codes for handling byte-combining.
13749 Treat each decoded byte as a unibyte character.
13750 (Fbase64_decode_string): Return unibyte string.
13751 (Fcompare_strings, concat, string_byte_to_char): Use
13752 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
13753 FETCH_STRING_CHAR_ADVANCE.
13754 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13755 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
13756
13757 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
13758 SPLIT_NON_ASCII_CHAR.
13759 (fontset_ref_via_base, fontset_set): Likewise
13760
13761 * insdel.c (adjust_markers_for_record_delete): Deleted.
13762 (adjust_markers_for_insert): Argument changed. Caller changed.
13763 (adjust_markers_for_replace): Likewise.
52283633
SM
13764 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
13765 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
13766 (copy_text): Delete unused local varialbe c_save. For converting
13767 to multibyte, be sure to make all 8-bit characters in valid
13768 multibyte form.
13769 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
13770 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13771 (adjust_after_replace, replace_range, del_range_2)
c9671f81 13772 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
13773 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13774 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
13775 handling byte combining.
13776 (adjust_before_replace): Deleted.
427ec082 13777
c9671f81
KH
13778 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
13779 SPLIT_NON_ASCII_CHAR.
13780 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 13781 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
13782 (Fkey_description): Likewise.
13783
13784 * lread.c (read1): On reading multibyte string, be sure to make
13785 all 8-bit chararacters in valid multibyte form.
13786 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13787
13788 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
13789 unconditionally.
13790
13791 * process.c (Fstart_process): GCPRO current_dir before calling
13792 Ffind_operation_coding_system. Encode arguments here.
13793 (create_process): Don't encode arguments here. Setup
13794 src_multibyte and dst_multibyte members of struct coding.
13795 (read_process_output): Setup src_multibyte and dst_multibyte
13796 members of struct coding. If the output is to multibyte buffer,
13797 always decode the output of the process. Adjust the
52283633 13798 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
13799 (send_process): Setup coding->src_multibyte according to the
13800 multibyteness of the source.
13801
52283633 13802 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
13803 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
13804 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
13805
52283633 13806 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
13807
13808 * w16select.c (Fw16_set_clipboard_data): Setup members
13809 src_multibyte and dst_multibyte of coding. Adjusted for the
13810 change for find_charset_in_str.
13811 (Fw16_get_clipboard_data): Likewise.
13812
13813 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
13814 dst_multibyte of coding.
13815 (x_to_w32_font): Likewise.
13816
13817 * w32select.c (Fw32_set_clipboard_data): Setup members
13818 src_multibyte and dst_multibyte of coding. Adjusted for the
13819 change for find_charset_in_str.
13820 (Fw32_get_clipboard_data): Likewise.
13821
13822 * xdisp.c (get_next_display_element): Handle 8-bit characters
13823 correctly.
52283633
SM
13824 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
13825 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
13826
13827 * xselect.c (selection_data_to_lisp_data): Setup members
13828 src_multibyte and dst_multibyte of coding. Adjusted for the
13829 change for find_charset_in_str.
13830 (lisp_data_to_selection_data): Likewise.
13831
5f64c9e0
GM
138322000-05-19 Gerd Moellmann <gerd@gnu.org>
13833
52283633 13834 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 13835
5f64c9e0
GM
13836 * dispextern.h (Vimage_types): Add extern declaration.
13837
13838 * xdisp.c (Vimage_types): Moved here from xfns.c.
13839 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
13840
13841 * xfns.c (Vimages_types): Moved to xdisp.c.
13842 (syms_of_xfns): Move `image-types' to xdisp.c.
13843
13844 * w32fns.c (Vimage_types): Removed.
13845 (syms_of_w32fns): Remove `image-types'.
13846
813086ea
KH
138472000-05-18 Kenichi Handa <handa@etl.go.jp>
13848
13849 * fns.c (map_char_table): Pay attention to character number of
13850 charset. Check the validity of charset at the first level. For
13851 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
13852 the default value.
13853
13854 * fontset.c: Include "buffer.h".
13855 (fs_load_font): If the face has fontset, record the face ID in
13856 that fontset.
13857 (Finternal_char_font): New function.
13858 (accumulate_font_info): New function.
13859 (Ffontset_info): Rewritten for the new fontset implementation.
13860 (syms_of_fontset): Register Vdefault_fontset in the first element
13861 of Vfontset_table. Include Vdefault_fontset in
13862 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
13863 function.
13864
bdaebbf0
DL
138652000-05-16 Dave Love <fx@gnu.org>
13866
13867 * m/iris5d.h: Deleted -- unused.
13868
cb613bb8
GM
138692000-05-16 Gerd Moellmann <gerd@gnu.org>
13870
b15f3b77
GM
13871 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
13872 `invalid' instead of `illegal'.
13873
13874 * indent.c (Fmove_to_column): When ending within a tab, insert
13875 spaces first so that markers at the end of the tab get adjusted.
13876
835c1b36
GM
13877 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
13878 buffer list that wasn't selected in that frame.
13879
cb613bb8
GM
13880 * filelock.c (get_boot_time): To obtain an 8 char file name, which
13881 is needed on mescaline, use a 2 char prefix, and call
13882 make_temp_name with second arg non-zero.
13883
13884 * fileio.c (make_temp_name): New function, extracted from
13885 Fmake_temp_name.
13886 (Fmake_temp_name): Use it.
13887
f685bea9
EZ
138882000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13889
52283633 13890 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 13891
a1b8d58b
GM
138922000-05-15 Gerd Moellmann <gerd@gnu.org>
13893
13894 * Makefile.in (lisp): Add env.elc.
13895
13896 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
13897
a265079f
GM
138982000-05-12 Gerd Moellmann <gerd@gnu.org>
13899
13900 * search.c (Freplace_match): Handle case of `\N' in the
13901 replacement when there's no group N.
13902
da4496b6
GM
139032000-05-11 Gerd Moellmann <gerd@gnu.org>
13904
0ace421a
GM
13905 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
13906 of the message to message_dolog.
13907
1172eb8d
GM
13908 * keyboard.c (read_char): Don't clear current message for help
13909 events; let the code handling help events handle this. Change
13910 code detecting help events that should be ignored.
13911
da4496b6
GM
13912 * xdisp.c (handle_single_display_prop): Don't try to set PT if
13913 we're interating over a string.
13914
0623e40f
DL
139152000-05-09 Dave Love <fx@gnu.org>
13916
13917 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
13918 that offset before writing. Move gcpro region past call of
13919 Ffile_regular_p.
13920
bae2503b
DL
139212000-05-04 Dave Love <fx@gnu.org>
13922
13923 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
13924
ec82fb2f
GM
139252000-05-04 Gerd Moellmann <gerd@gnu.org>
13926
13927 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
13928 of inserted characters when BUF equals the current buffer, and PT
13929 is in front of or equal to FROM.
13930
cbf18892
GM
139312000-05-03 Gerd Moellmann <gerd@gnu.org>
13932
4ff40dd0
GM
13933 * xdisp.c (handle_single_display_prop): If display property value
13934 is invalid, or something not supported on the frame, restore
13935 iterator's position to what it was initially. Make sure to return
13936 0 for invalid and unsupported property values.
13937
cbf18892
GM
13938 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
13939 that x_per_char_metric returns null.
13940
1b0672c3
GM
139412000-05-02 Gerd Moellmann <gerd@gnu.org>
13942
576da55d
GM
13943 * xterm.h (struct face): Add forward declaration.
13944 (struct image): Ditto.
13945 (image_ascent): Add prototype.
13946
13947 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
13948 (x_draw_image_relief, x_draw_image_foreground_1): Call function
13949 image_ascent instead of using IMAGE_ASCENT.
13950
13951 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
13952 (IMAGE_ASCENT): Removed.
13953
13954 * xfns.c (Qcenter): New variable.
13955 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
13956 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
13957 (image_ascent): New function.
13958 (lookup_image): Recognize `:ascent center'.
13959 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
13960 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
13961 (xbm_load): Don't set image's ascent here.
13962 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
13963 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
13964 check ascent values here.
13965 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
13966 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
13967 (syms_of_xfns): Initialize Qcenter.
13968
1b0672c3
GM
13969 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
13970 to the limits, increase the limits.
13971
0d7811ed
KH
139722000-05-01 Kenichi Handa <handa@etl.go.jp>
13973
13974 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 13975 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 13976
a943a5ca
GM
139772000-04-28 Gerd Moellmann <gerd@gnu.org>
13978
13979 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
13980 taller than the window.
13981
5dba1e29
KH
139822000-04-28 Kenichi Handa <handa@etl.go.jp>
13983
13984 * xfaces.c (realize_x_face): Fix the argument of the second
13985 xassert. BASE_FACE may not be a face for ASCII.
13986
353964e3
GM
139872000-04-27 Gerd Moellmann <gerd@gnu.org>
13988
c76e04a8
GM
13989 * print.c (print_object): Treat print-length < 0 as nil.
13990
13991 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
13992
13993 * s/freebsd.h (TERMCAP_OBJ): Removed.
13994 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
13995
13996 * lread.c (read1): Don't treat period followed by certain
13997 characters as symbol start.
13998
13999 * xfns.c (slurp_file): New function.
14000 (xbm_image_p): Handle case of in-memory XBM files.
14001 (xbm_scan): Rewritten to work on memory buffers instead of files.
14002 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
14003 Work on memory buffers instead of files. If DATA is null test
14004 if buffer looks like an in-memory XBM file.
14005 (xbm_load_image): Renamed from xbm_load_image_file. Work on
14006 memory buffers instead of files.
14007 (xbm_file_p): New function.
14008 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
14009
353964e3
GM
14010 * lread.c (end_of_file_error): New function.
14011 (read1): Call it instead of signaling `end-of-file' directly.
14012
427ec082 14013 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
14014 with Fprinc instead of Fprin1.
14015
24d744ac
KR
140162000-04-26 Ken Raeburn <raeburn@gnu.org>
14017
14018 * window.c (freeze_window_start): Check that minibuffer scroll
14019 window isn't nil before extracting the window structure pointer
14020 from it.
14021
14022 * undo.c (record_delete): If we hit the end of the undo list, stop
14023 picking elements apart.
14024
7464346d
GM
140252000-04-26 Gerd Moellmann <gerd@gnu.org>
14026
14027 * xdisp.c (display_line): If lines are continued, restore
14028 iterator's ascent/descent information to the values before the
14029 first glyph not fitting on the line.
14030
612839b6
GM
140312000-04-25 Gerd Moellmann <gerd@gnu.org>
14032
14033 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 14034 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
14035
14036 * dispnew.c (increment_matrix_positions): Renamed from
14037 increment_glyph_matrix_buffer_positions.
14038 (increment_row_positions): Renamed from
14039 increment_glyph_row_buffer_positions.
14040
14041 * dispextern.h: Change names of renamed functions from dispnew.c
14042 in prototypes.
14043
cc181e95
GM
140442000-04-24 Gerd Moellmann <gerd@gnu.org>
14045
abfcc168
GM
14046 * fileio.c (Fdo_auto_save): Create directories for auto-save
14047 list file if necessary.
14048
cc181e95
GM
14049 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
14050 from buffer or frame.
14051 (automatic_hscrolling_p): New variable.
14052 (hscroll_windows): Scroll windows horizontally only if automatic
14053 hscrolling is allowed.
14054 (syms_of_xdisp): New variable `automatic-hscrolling'.
14055
14056 * frame.h (struct frame): Add member extra_line_spacing.
14057
14058 * xfns.c (x_set_line_spacing): New function.
14059 (Fx_create_frame): Set line spacing from resources.
14060 (Qline_spacing): New variable.
14061 (syms_of_xfns): Initialize Qline_spacing.
427ec082 14062
cc181e95
GM
14063 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
14064
14065 * buffer.c (init_buffer_once): Handle extra_line_spacing.
14066 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 14067 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
14068 extra_line_spacing from default value.
14069 (init_buffer_once): Initialize default value of extra_line_spacing.
14070
14071 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
14072 and extra3.
14073
14074 * xterm.c (x_produce_glyphs): Remove reference to struct it's
14075 prompt_width. Add extra line spacing.
14076
14077 * term.c (produce_glyphs): Remove reference to struct it's
14078 prompt_width.
14079
14080 * dispextern.h (struct it): Remove member prompt_width, add
14081 extra_line_spacing.
14082
58827478
GM
140832000-04-22 Gerd Moellmann <gerd@gnu.org>
14084
14085 * dispnew.c (update_frame_line): When writing a whole line, make
14086 sure cursor is in the right row afterwards, otherwise a use of
14087 capability `ch' in cmgoto might leave the cursor in the row below.
14088
25a87f42
GM
140892000-04-21 Gerd Moellmann <gerd@gnu.org>
14090
14091 * lisp.h (struct Lisp_Buffer_Cons): Remove.
14092
14093 * keyboard.c (timer_check): Fix typo in comment.
14094
54edf5c2
KH
140952000-04-21 Kenichi Handa <handa@etl.go.jp>
14096
14097 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
14098 name change: ch -> character.
14099
3a64eef5
GM
141002000-04-20 Gerd Moellmann <gerd@gnu.org>
14101
14102 * keyboard.c (echo_message_buffer): New variable.
14103 (echo_now): Set echo_message_buffer to the echo area buffer used
14104 to display the echo.
14105 (cancel_echoing): Reset echo_message_buffer to nil.
14106 (read_char): Code rewritten that handles canceling an echo or
14107 echoing a dash, respectively.
14108
14109 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
14110 directory doesn't exist.
14111
6142fdcb
DL
141122000-04-19 Dave Love <fx@gnu.org>
14113
14114 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
14115 (concat): Don't allow numeric args.
14116 (Fconcat): Doc change.
6142fdcb 14117
ac6b5352
SM
141182000-04-19 Stefan Monnier <monnier@cs.yale.edu>
14119
14120 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
14121 instead define end_match(1|2) more carefully.
14122 Use GET_CHAR_BEFORE_2 for `begline'.
14123
cb9215e4
GM
141242000-04-19 Gerd Moellmann <gerd@gnu.org>
14125
5e3dac3f
GM
14126 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
14127 on 64-bit systems where NULL is defined as `0'.
14128
14129 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
14130 the `variable argument list' to make it work on Alpha.
14131
cb9215e4
GM
14132 * m/alpha.h (_LP64) [!_LP64]: Define.
14133 (ORDINARY_LINK): Define for NetBSD.
14134
14135 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 14136
f532dca0
DL
141372000-04-19 Dave Love <fx@gnu.org>
14138
c750667e
DL
14139 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
14140 change.
14141
14142 * Makefile.in (LIBS): Don't use.
14143 (GETLOADAVG_OBJ): Define again.
14144 (otherobj): Add GETLOADAVG_OBJ.
14145
f532dca0
DL
14146 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
14147
1c7e22fd
GM
141482000-04-18 Gerd Moellmann <gerd@gnu.org>
14149
f6d3257b
GM
14150 * lread.c (read_filtered_event): Cancel and start busy cursor.
14151
427ec082 14152 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
14153 that the per-character metrics may be null.
14154
e10f64e7
GM
141552000-04-17 Gerd Moellmann <gerd@gnu.org>
14156
0daee095
GM
14157 * buffer.c (clone_per_buffer_values): New function.
14158 (Fmake_indirect_buffer): Add optional argument CLONE. Call
14159 clone_per_buffer_values if CLONE is not nil.
14160
e10f64e7
GM
14161 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
14162
38687d43
DL
141632000-04-16 Dave Love <fx@gnu.org>
14164
14165 * Makefile.in: Remove obsolete localcpp stuff.
14166 (GETLOADAVG_OBJ): Don't define.
14167 (obj): Move LIBOBJS...
14168 (otherobj): ... to here.
14169 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
14170 whitespace-only lines after the continuation (Irix).
14171
c21c7262
GM
141722000-04-14 Gerd Moellmann <gerd@gnu.org>
14173
14174 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
14175
14176 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
14177
314767c0
DL
141782000-04-14 Dave Love <fx@gnu.org>
14179
14180 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
14181 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
14182 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
14183 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
14184 NLIST_STRUCT.
14185
14186 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
14187 autoconfiscated HAVE_GETLOADAVG.
14188
14189 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
14190 BROKEN_MKTIME.
14191
a2522dca
GM
141922000-04-14 Gerd Moellmann <gerd@gnu.org>
14193
14194 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 14195 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 14196
33744b5d
DL
141972000-04-14 Dave Love <fx@gnu.org>
14198
c21c7262 14199 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
14200 (INTERVAL_SRC): Convert to make variable.
14201 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
14202 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
14203 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
14204 add LIBOBJS.
14205 (SOME_MACHINE_OBJECTS): Remove interval stuff.
14206 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
14207 (shortlisp): Add facemenu, float-sup, frame.
14208 (SOME_MACHINE_LISP): Remove them from here.
14209 (LIBES): Change unused LDLIBS to autoconf LIBS.
14210
14211 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
14212
9d3d5916
KH
142132000-04-14 Kenichi Handa <handa@etl.go.jp>
14214
14215 * composite.c (update_compositions): If FROM and TO are not in a
14216 valid range, do nothing.
14217
198e3c7a
GM
142182000-04-13 Gerd Moellmann <gerd@gnu.org>
14219
52283633 14220 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 14221
52283633 14222 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
14223
14224 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
14225 as TERMCAP_OBJ.
14226
055a28c9
EZ
142272000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14228
14229 * fileio.c (a_write): Remove redundant semi-colons.
14230 (e_write): Return -1 if failed to write all the data.
14231 This fixes the changes made at 1999-12-15.
14232
f5c75033
DL
142332000-04-12 Dave Love <fx@gnu.org>
14234
14235 * fns.c (mapcar1): Test for null vals to support mapc.
14236 (Fmapc): New function.
14237
0c3cfc51
EZ
142382000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
14239
14240 * msdos.c (NUM_MOUSE_BUTTONS): Define.
14241 (IT_frame_up_to_date): Support the buffer local value of
14242 cursor-type, if defined.
14243
33465a31
DL
142442000-04-10 Dave Love <fx@gnu.org>
14245
14246 * editfns.c (preceding-char, following-char): Doc fix.
14247
6ed56568
KR
142482000-04-10 Ken Raeburn <raeburn@gnu.org>
14249
14250 * Makefile.in (temacs): Revert 2000-03-12 change.
14251
7cf80d4e
JR
142522000-04-10 Jason Rumney <jasonr@gnu.org>
14253
14254 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
14255
34f3f342
GM
142562000-04-10 Gerd Moellmann <gerd@gnu.org>
14257
1a1b1895
GM
14258 * xdisp.c (setup_echo_area_for_printing): Choose an echo
14259 area buffer, if it's not set up yet.
14260
34f3f342
GM
14261 * indent.c (compute_motion): Set immediate_quit.
14262
be0dbdab
GM
142632000-04-09 Gerd Moellmann <gerd@gnu.org>
14264
52283633 14265 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
14266 (realize_tty_face): Suppress boldness if colors are the inverse of
14267 the default colors, and tty_suppress_bold_inverse_default_colors_p
14268 is set.
14269 (Ftty_suppress_bold_inverse_default_colors): New function.
14270 (syms_of_xfaces): Defsubr it.
14271
be0dbdab
GM
14272 * buffer.c (Frestore_buffer_modified_p): New function.
14273 (syms_of_buffer): Defsubr it.
14274
e8413c3b
KR
142752000-04-08 Ken Raeburn <raeburn@gnu.org>
14276
87f67317
KR
14277 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
14278 charset id (int) argument, not a charset (Lisp_Object).
14279
e8413c3b
KR
14280 * coding.h (code_convert_string): Declare.
14281 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
14282 object, as the fourth argument to code_convert_string.
14283
52283633 14284 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
14285 (Fset_fontset_font): Use EQ to compare lisp objects.
14286
7c752c80
KR
142872000-04-05 Ken Raeburn <raeburn@gnu.org>
14288
c0333abc
KR
14289 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
14290 a pointer that looks like a lisp object.
14291 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
14292 zero, instead see whether it's an integer object, since they can't
14293 have intervals.
14294 (GET_INTERVAL_OBJECT): Simply assign to the destination.
14295
52283633
SM
14296 * dispnew.c (allocate_matrices_for_frame_redisplay)
14297 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
14298 to convert between (unsigned) int values and lisp integers.
14299 * keyboard.c (read_key_sequence): Likewise.
14300 * lread.c (substitute_object_recurse): Likewise.
14301 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
14302 * minibuf.c (do_completion, Fminibuffer_complete_word)
14303 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
14304 * term.c (produce_special_glyphs): Likewise.
14305
14306 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
14307 * print.c (print_preprocess, print_object): Likewise.
14308
14309 * search.c (compile_pattern): Use NILP when checking for nil.
14310
74e49b38
KR
14311 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
14312 __OPTIMIZE__]: Provide a GNU C macro version that handles
14313 lisp-object unions.
14314 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
14315 field, to better cope with ENABLE_CHECKING and calls that modify a
14316 Lisp_Object using its old value.
14317
685e5ed2
GM
143182000-04-04 Gerd Moellmann <gerd@gnu.org>
14319
c407c570
GM
14320 * window.c (compare_window_configurations): Signal an error
14321 if parameters C1 or C2 aren't window configurations.
14322
685e5ed2
GM
14323 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
14324 AFTER_POTENTIAL_GC calls around calls to functions that can
14325 signal an error and thus invoke the debugger.
14326
587a49ab
GM
143272000-04-03 Gerd Moellmann <gerd@gnu.org>
14328
62f20204
GM
14329 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
14330 an error if decoding fails.
14331
587a49ab
GM
14332 * keyboard.c (lispy_mouse_names): Variable removed.
14333 (Vlispy_mouse_stem): New variable.
14334 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
14335 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
14336 for any mouse button number. Increase size of mouse_syms and
14337 button_down_location as needed. Call modify_event_symbol with
14338 different arguments.
14339 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
14340 Call modify_event_symbol with different arguments.
14341 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
14342 for any button number. Call modify_event_symbol with different
14343 arguments.
14344 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
14345 Accept a string for NAME_ALIST_OR_STEM.
14346
14347 * lisp.h (larger_vector): Add prototype.
14348
14349 * fns.c (larger_vector): Make externally visible.
14350
14351 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
14352
2d1675e4
SM
143532000-04-02 Stefan Monnier <monnier@cs.yale.edu>
14354
14355 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
14356 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
14357 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
14358 we are between str1 and str2.
14359 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
14360 (PATFETCH): Use `TRANSLATE'.
14361 (PATFETCH_RAW): Fetch multibyte char if applicable.
14362 (PATUNFETCH): Remove.
14363 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
14364 When writing a char, write it directly into the pattern buffer rather
14365 than going needlessly through a temp char-array.
14366 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
14367 multibyte magic and remove the useless `#ifdef emacs'.
14368 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
14369 buffer.
14370
14371 * regex.h (struct re_pattern_buffer): Make field `multibyte'
14372 conditional on `emacs'.
14373
14374 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
14375
cc2d8c6b
KR
143762000-04-01 Ken Raeburn <raeburn@gnu.org>
14377
14378 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
14379 non-union-type versions of XMARK and friends here, because XMARK
14380 and friends won't work on an integer field if NO_UNION_TYPE is not
14381 defined.
52283633 14382 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 14383
52283633 14384 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
14385 (syms_of_composite): Delete local var NARGS, pass an int as first
14386 argument to Fmake_hash_table.
14387
2387b382
KR
14388 * editfns.c (text_property_stickiness): Use NILP to test
14389 Lisp_Object boolean value.
14390 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
14391 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
14392 problems reading from and changing the same lisp value in an
14393 XSETSTRING call.
14394
27660e89
GM
143952000-04-01 Gerd Moellmann <gerd@gnu.org>
14396
14397 * term.c (TN_no_color_video): New variable.
14398 (term_init): Intitialize TN_no_color_video.
14399 (enum no_color_bit): New enumeration.
14400 (MAY_USE_WITH_COLORS_P): New macro.
14401 (turn_on_face): Use it to determine if attributes may be used
14402 combined with colors.
14403
3578db3c
KR
144042000-04-01 Ken Raeburn <raeburn@gnu.org>
14405
14406 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 14407 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
14408 (enlarge_window): Variable sizep now points to Lisp_Object. Use
14409 proper accessor macros.
14410 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
14411 (grow_mini_window): Fix typo getting int value of root->height.
14412
6fc556fd
KR
14413 * xdisp.c (compute_string_pos): Fix order of arguments to
14414 string_pos_nchars_ahead.
14415 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
14416 count arg to variable-arg routines like Frun_hook_with_args and
14417 Fformat.
587a49ab
GM
14418 (back_to_previous_visible_line_start)
14419 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
14420 fixed-arg routines like Fget_char_property and Fmake_string.
14421 (reconsider_clip_changes): Use XINT when comparing integer lisp
14422 objects, or passing them as int arguments.
587a49ab
GM
14423 (mark_window_display_accurate, insert_left_trunc_glyphs)
14424 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
14425 storing or passing integer values as lisp objects.
14426 (set_cursor_from_row, highlight_trailing_whitespace): Use
14427 INTEGERP, not implicit test against zero, for glyph object.
14428 (try_window_id): Don't use make_number when we want an int value.
14429
14430 * xfaces.c (xlfd_symbolic_value): Make last argument a
14431 Lisp_Object, to be consistent with callers.
14432 (Fbitmap_spec_p): Use XINT to get numeric value of height.
14433 (lface_hash): Apply XFASTINT to lisp values before folding in.
14434
14435 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
14436 fill in window width and height. Pass an int, not a lisp object,
14437 as first arg to Finsert.
14438
6e7b2457
GM
144392000-04-01 Gerd Moellmann <gerd@gnu.org>
14440
610d841e
GM
14441 * xfaces.c (realize_basic_faces): Block input while realizing
14442 the faces.
14443
6e7b2457
GM
14444 * keyboard.c (lispy_mouse_names): Add additional mouse names.
14445
14446 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
14447
aa110c0c
GM
144482000-03-31 Gerd Moellmann <gerd@gnu.org>
14449
14450 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 14451 or ASCII, handle case that per-char metric is null.
aa110c0c 14452
8801a864
KR
144532000-03-30 Ken Raeburn <raeburn@gnu.org>
14454
c6129d7e
KR
14455 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
14456
52283633
SM
14457 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
14458 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
14459 pointer, using eassert.
14460 * frame.h (XFRAME): Likewise.
14461
52283633
SM
14462 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
14463 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
14464 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 14465 * data.c (set_internal): Likewise.
52283633
SM
14466 * dispextern.h (WINDOW_WANTS_MODELINE_P)
14467 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
14468 * fileio.c (auto_save_1): Likewise.
14469 * insdel.c (check_markers): Likewise.
14470 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
14471 * undo.c (record_insert): Likewise.
14472 * vmsproc.c (child_sig): Likewise.
14473 * window.c (unshow_buffer, window_loop): Likewise.
14474 * xterm.c (x_erase_phys_cursor): Likewise.
14475
8e7af858
GM
144762000-03-30 Gerd Moellmann <gerd@gnu.org>
14477
14478 * xfns.c (free_image_cache): Free the cache structure itself
14479 last, after all its members have been freed.
14480
14481 * lisp.h (xstrdup): Add prototype.
14482
14483 * alloc.c (xstrdup): Moved here from xfaces.c.
14484 (allocating_for_lisp): Variable removed.
52283633 14485 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
14486
14487 * xfaces.c (realize_tty_face): Use find_symbol_value instead
14488 of Fsymbol_value.
14489 (xstrdup): Moved to alloc.c.
14490
e0b8c689
KR
144912000-03-29 Ken Raeburn <raeburn@gnu.org>
14492
b96f9fb7
KR
14493 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
14494
14495 * emacs.c (main): Fix sense of no-loadup test.
14496
e0b8c689
KR
14497 * config.in (ENABLE_CHECKING): Undef.
14498
14499 * lisp.h (struct interval): Replace "parent" field with a union of
14500 interval pointer and Lisp_Object; add new bitfield to use as
14501 discriminant. Change other flag fields to bitfields.
14502 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
14503 is defined and the supplied test fails, print a message and abort.
14504 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
14505
14506 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
14507 pointers; abort if the value looks like a lisp object.
52283633
SM
14508 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
14509 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
14510 Modify for new interval parent definition.
14511
52283633
SM
14512 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
14513 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
14514 addressable lisp object in the interval structure.
14515 (die): New function.
14516 (suppress_checking): New variable.
14517
14518 * intervals.c (interval_start_pos): Just return 0 if there's no
14519 parent object.
14520
f83c5440
GM
145212000-03-29 Gerd Moellmann <gerd@gnu.org>
14522
14523 * lread.c (read1): Accept `.' (period) as symbol start like in CL
14524 and earlier Emacs versions.
14525
14526 * keyboard.c (Ftop_level): Cancel busy-cursor.
14527
14528 * eval.c (call_debugger): Cancel busy-cursor.
14529
fdce64ff
KH
145302000-03-29 Kenichi Handa <handa@etl.go.jp>
14531
14532 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 14533 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 14534
f6a3f532
SM
145352000-03-28 Stefan Monnier <monnier@cs.yale.edu>
14536
14537 * regex.c (analyse_first): New function obtained by ripping out most
14538 of re_compile_fastmap and generalizing it a little bit so that it
14539 can also just return whether a given (sub)pattern can match the empty
14540 string or not.
14541 (regex_compile): Use `analyse_first' to decide whether the loop-check
14542 needs to be done or not for *, +, *? and +? (the loop check is costly
14543 for non-greedy repetition).
14544 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
14545
e9b309ac
DL
145462000-03-28 Dave Love <fx@gnu.org>
14547
52283633 14548 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 14549
e9b309ac
DL
14550 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
14551
ed0767d8
SM
145522000-03-27 Stefan Monnier <monnier@cs.yale.edu>
14553
14554 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
14555 an expression.
14556 (enum re_opcode_t): Update description of succeed_n.
14557 (PATFETCH): Always define.
14558 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
14559 operators, char classes, shy-groups and intervals).
14560 Optimize special cases of intervals so as to only use succeed_n and
14561 jump_n when really needed.
14562 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
14563 that we don't have to handle the special cases any more.
14564 Simplify on_failure_jump handling as well.
14565
e11e7e46
JR
145662000-03-28 Jason Rumney <jasonr@gnu.org>
14567
14568 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
14569
88faab89
GM
145702000-03-27 Gerd Moellmann <gerd@gnu.org>
14571
182ff242
GM
14572 * s/freebsd.h (GC_SETJMP_WORKS): Define.
14573
14574 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 14575
182ff242
GM
14576 * alloc.c (mark_maybe_object): New function.
14577 (mark_memory): Use it.
14578 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
14579 (setjmp_tested_p, longjmp_done): New variables.
14580 (test_setjmp): New function.
14581 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
14582 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
14583
c1005d06
GM
14584 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
14585 to DEC_TEXT_POS and INC_TEXT_POS.
14586
14587 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
14588 with parameter MULTIBYTE_P.
14589
52283633 14590 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 14591
7439e5b9 14592 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
14593 buffers because it looks for multibyte character byte sequences
14594 which don't exist in unibyte text.
7439e5b9 14595
d9c545da
GM
14596 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
14597
11fd416e 14598 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
14599 [DEBUG_X_COLORS]: New functions.
14600 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
14601
14602 * xfns.c (x_set_cursor_color): Get color reference counts right.
14603
14604 * xterm.c (x_copy_color): New function.
14605 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
14606
14607 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
14608 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
14609 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
14610 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
14611 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
14612 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
14613 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
14614 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
14615 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
14616 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
14617
11fd416e
GM
14618 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
14619 names for handling per-buffer variables.
d9c545da
GM
14620
14621 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
14622 instead of MAX_BUFFER_LOCAL_VARS.
14623 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
14624
14625 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
14626
88faab89
GM
14627 * xfns.c (x_specified_cursor_type): New function.
14628 (x_set_cursor_type): Use it.
14629
14630 * buffer.h (struct buffer): Add cursor_type.
14631
d80f42b7
SM
146322000-03-26 Stefan Monnier <monnier@cs.yale.edu>
14633
14634 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
14635 (print_partial_compiled_pattern, re_compile_fastmap):
14636 Handle new opcode.
d80f42b7
SM
14637 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
14638 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
14639 executing it as well as when popping it off the stack to find infinite
14640 loops in non-greedy repetition operators.
14641
89e80928
GM
146422000-03-26 Gerd Moellmann <gerd@gnu.org>
14643
3d4ff2dd
GM
14644 * doc.c (Qfunction_documentation): New variable.
14645 (syms_of_doc): Initialize Qfunction_documentation.
14646 (Fdocumentation): If FUNCTION is a symbol with non-nil
14647 `function-documentation' property, return a documentation derived
14648 from that.
14649
bd96bd79
GM
14650 * buffer.c (syms_of_buffer): Add default-cursor-type.
14651 (init_buffer_once): Don't let cursor_type have a local value
14652 in every buffer.
14653
19d1bc27
GM
14654 * xterm.c (x_display_and_set_cursor): Choose cursor depending
14655 on buffer-local value of cursor_type.
14656 (x_draw_bar_cursor): Add parameter WIDTH.
14657
14658 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
14659 (init_buffer_once): Set default cursor_type value to t.
14660 Mark cursor_type as local everywhere.
14661 (syms_of_buffer): New per-buffer variable cursor-type.
14662
89e80928
GM
14663 * buffer.h (struct buffer): Remove member local_var_flags,
14664 add local_flags.
14665 (MAX_BUFFER_LOCAL_VARS): New macro.
14666 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
14667 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
14668 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
14669 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
14670
52283633 14671 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
14672
14673 * category.c (Fset_category_table): Use new macros for per-buffer
14674 variables.
14675
14676 * buffer.c (buffer_permanent_local_flags): Make a char array.
14677 (max_buffer_local_idx): New variable.
14678 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
14679 for new handling of per-buffer variables.
14680 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
14681 (init_buffer_once): Initialize per-buffer vars differently.
14682 Set max_buffer_local_idx.
14683
14684 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
14685 variables.
14686
52283633 14687 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
14688
14689 * data.c (do_symval_forwarding, store_symval_forwarding)
14690 (find_symbol_value, set_internal, default_value, Fset_default)
14691 (Fkill_local_variable, Flocal_variable_p): Use new macros for
14692 per-buffer variables.
14693
14694 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
14695
9a0dd3dc
GM
146962000-03-24 Gerd Moellmann <gerd@gnu.org>
14697
b68c375f
GM
14698 * xterm.c (x_term_init): Unblock input around call1 of
14699 Qvendor_specific_keysyms.
14700
9a0dd3dc
GM
14701 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
14702 (find_defun_start): Consider an open parenthesis in column 0
14703 a defun start only if open_paren_in_column_0_is_defun_start is set.
14704 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
14705
7973e637
SM
147062000-03-24 Stefan Monnier <monnier@cs.yale.edu>
14707
14708 * eval.c (Fautoload): Add entry in load-history (if after dump).
14709 * lread.c (load-history): Update docstring.
14710
39210e90
GM
147112000-03-24 Gerd Moellmann <gerd@gnu.org>
14712
14713 * indent.c (Fvertical_motion): Always use the current buffer.
14714 Temporarily change the window's buffer, if necessary.
14715
72db3ab5
GM
147162000-03-23 Gerd Moellmann <gerd@gnu.org>
14717
14718 * xterm.c (fast_find_position): Make sure not to consider rows
14719 not visible in the window.
14720
990b2375
SM
147212000-03-22 Stefan Monnier <monnier@cs.yale.edu>
14722
14723 * regex.c (enum syntaxcode): Provide default for non-Emacs.
14724 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
14725
ff4df011
JR
147262000-03-22 Jason Rumney <jasonr@gnu.org>
14727
14728 * w32menu.c (single_submenu): Set help string to NULL if none.
14729 (w32_menu_show): Set help string correctly.
14730 (add-menu-item): Set help string in MIIM_DATA for menu item.
14731 Load SetMenuItemInfoA explicitly.
14732 (w32_menu_display_help): New function.
427ec082 14733
ff4df011
JR
14734 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
14735 (QCdata): Moved to xdisp.c.
14736
14737 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
14738 (Vw32_charset_to_codepage_alist): Removed.
14739 (Vw32_charset_info_alist): New variable.
52283633
SM
14740 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
14741 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
14742 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
14743 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
14744 with TODO comment.
14745 (w32_codepage_for_font): Use Vw32_charset_info_alist.
14746 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
14747 Define Vw32_charset_info_alist and w32_charset symbols.
14748
147492000-03-22 Jason Rumney <jasonr@gnu.org>
14750
14751 * makefile.nt (w32bdf.obj): Update dependencies.
14752
14753 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
14754
14755 * w32fns.c: Include fontset.h after dispextern.h.
14756 (Fx_create_frame): Do not create fontset.
14757 (w32_load_system_font): Doc fix.
14758 (Fx_close_connection): Free full_name if it is not shared.
14759
14760 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
14761 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
14762 Callers updated.
ff4df011
JR
14763 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
14764 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
14765 (w32_font_is_double_byte): New function, needs body.
14766 (x_append_glyph): Set glyph->glyph_not_available_p.
14767 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14768 it->charset. If it->multibyte_p is zero and it->c is a multibyte
14769 character, convert it to a unibyte character.
14770 (struct glyph_string): Delete member `charset'.
14771 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
14772 calculating it is found.
14773 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14774 the case that per char metric is not available correctly.
14775 (x_fill_glyph_string): Handle the case that the specific glyph is
14776 not available correctly.
14777 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14778 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14779 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14780 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14781 fontset. Don't call FS_LOAD_FONT.
14782
439d5cb4
KR
147832000-03-22 Ken Raeburn <raeburn@gnu.org>
14784
14785 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
14786 (INT_LISPLIKE): New macro.
14787 (NULL_INTERVAL_P): Use it.
52283633
SM
14788 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
14789 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
14790 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
14791
14792 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
14793 explicit references to "parent" field of struct interval and
14794 associated unclean type conversions.
52283633
SM
14795 * intervals.c (create_root_interval, root_interval, rotate_right)
14796 (rotate_left, balance_possible_root_interval, split_interval_right)
14797 (split_interval_left, interval_start_pos, find_interval)
14798 (next_interval, previous_interval, update_interval)
14799 (adjust_intervals_for_insertion, delete_node, delete_interval)
14800 (adjust_intervals_for_deletion, merge_interval_right)
14801 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
14802 (copy_intervals_to_string): Likewise.
439d5cb4
KR
14803 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
14804 Likewise.
14805 * syntax.c (update_syntax_table): Likewise.
14806
14807 * intervals.c (reproduce_tree_obj): New function, like
14808 reproduce_tree but takes a Lisp_Object for the parent. Declare
14809 with prototype.
14810 (graft_intervals_into_buffer): Use it when appropriate.
14811 (reproduce_tree): Declare with prototype.
14812 (balance_possible_root_interval): Check that the parent is a lisp
14813 object before trying to examine its type.
14814
ee1c5b21
GM
148152000-03-22 Gerd Moellmann <gerd@gnu.org>
14816
14817 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
14818 as strings only if both are known to be strings.
14819
14820 * s/openbsd.h (LIBS_TERMCAP): Undef.
14821
1fb352e0
SM
148222000-03-21 Stefan Monnier <monnier@cs.yale.edu>
14823
14824 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
14825 definitions for non-Emacs compilation.
14826 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
14827 outside of `#ifdef emacs'.
14828 (print_partial_compiled_pattern): Update.
14829 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
14830 (re_compile_fastmap): Merge handling of charset and charset_not (for
14831 emacs and non-emacs compilation as well).
14832 Similarly for (not)categoryspec and (not)syntaxspec.
14833 Don't use the fastmap when reaching `anychar' since the added
14834 complexity is not justified.
14835 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
14836 and (not)syntaxspec. Merge (not)categoryspec.
14837
fdaa1f77
KH
148382000-03-22 Kenichi Handa <handa@etl.go.jp>
14839
52283633
SM
14840 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
14841 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 14842 --without-x.
fdaa1f77 14843
d152fb46
DL
148442000-03-21 Dave Love <fx@gnu.org>
14845
14846 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
14847 doc string.
14848
d2cafc8c
GM
148492000-03-21 Gerd Moellmann <gerd@gnu.org>
14850
14851 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
14852 (lface_fully_specified_p): Don't check contents of
14853 LFACE_FONT_INDEX because that attribute is optional.
14854 (realize_x_face): Remove now unwarranted xassert.
14855
9111d4b5
KH
148562000-03-21 Kenichi HANDA <handa@etl.go.jp>
14857
14858 The following changes are to make font selection based on
14859 characters, not charset. In addition, they recover fontset
14860 facilities while utilizing the new font selection mechanism.
14861
6c4bfdc0
KH
14862 * Makefile.in (fontset.o): Depend on dispextern.h.
14863
14864 * alloc.c (mark_face_cache): Don't mark face->registry.
14865
9111d4b5
KH
14866 * dispextern.h (struct glyph): New member glyph_not_available_p.
14867 Use 22 bits for face_id.
14868 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
14869 (struct face): Delete member registry, new member ascii_face.
14870 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
14871 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
14872 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 14873 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
14874
14875 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
14876 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
14877 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
14878 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 14879 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
14880 (fs_free_face_fontset, fontset_font_pattern)
14881 (face_suitable_for_char_p, face_for_char)
14882 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
14883 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
14884 (FS_LOAD_FACE_FONT): New macro.
14885
14886 * fontset.c: All codes rewritten or adjusted for the change of
14887 fontset implementation. Now fontset is represented by char table.
52283633
SM
14888 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
14889 Variables removed.
9111d4b5 14890 (my_strcasecmp): Function removed.
52283633 14891 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 14892 (AREF, ASIZE): New macros.
52283633
SM
14893 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
14894 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
14895 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
14896 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
14897 (fontset_id_valid_p, font_family_registry, fontset_name)
14898 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
14899 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
14900 New functions.
14901 (fs_load_font): New arg FACE. Caller changed.
14902 (fs_query_fontset): Argument changed. Caller changed.
14903 (Fquery_fontset): call fs_query_fontset.
14904 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
14905 Functions removed.
52283633
SM
14906 (clear_fontset_elements, check_registry_encoding)
14907 (check_fontset_name): New functions.
9111d4b5
KH
14908 (syms_of_fontset): Set char-table-extra-slots property of fontset
14909 to 3. Staticpro and initialize Vfontset_table and
14910 Vdefault_fontset. Defsubr fontset_font and fontset_list.
14911
14912 * frame.h (struct frame): Member `fontset_data' removed.
14913 (FRAME_FONTSET_DATA): Macro removed.
14914
14915 * frame.c (make_frame): Don't allocate f->fontset_data.
14916 (Fdelete_frame): Don't free f->fontset_data.
14917
6c4bfdc0
KH
14918 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
14919
9111d4b5
KH
14920 * xdisp.c (charset_at_position): Function removed.
14921 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
14922 (handle_face_prop, reseat_to_string, set_iterator_to_next)
14923 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
14924 Likewise.
14925 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
14926 FACE_FOR_CHARSET.
52283633
SM
14927 (get_next_display_element, append_space)
14928 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
14929
14930 * xfaces.c (Qx_charset_registry, Vface_default_registry):
14931 Variables removed.
14932 (clear_font_table, frame_update_line_height, load_face_font):
14933 Adjusted for the change of fontset implementation.
14934 (load_face_fontset_font): Function removed.
14935 (pixel_point_size): New function.
14936 (font_list): Argument type changed. Caller changed.
14937 (LFACE_FONT): New macro.
14938 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
14939 (set_lface_from_font_name): Type of arg FONTNAME is changed to
14940 Lisp_Object. Determine the font name by actually loading a font
14941 by the specified pattern. Set LFACE_FONT (lface) to the specified
14942 pattern. Even if a font is not found, don't try alternatives.
14943 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
14944 (set_font_frame_param): If `font' is specified in lface, use it.
14945 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
14946 (lface_same_font_attributes_p): Likewise.
14947 (make_realized_face): Arguent changed. Caller changed. Set
14948 face->ascii_face to face itself.
14949 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
14950 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
14951 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
14952 (free_realized_multibyte_face): New function.
14953 (lookup_face, lookup_named_face, lookup_derived_face): Argument
14954 changed. Caller changed.
14955 (try_font_list): Argument type changed.
14956 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
14957 (choose_face_font): Argument changed. Handle fontset properly.
14958 (choose_face_fontset_font): Function removed.
14959 (realize_default_face, realize_named_face): Don't remove the
14960 former face here.
14961 (realize_face): Argument changed. Caller changed. Remove face
52283633 14962 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
14963 (realize_x_face): Argument changed. Caller changed. For a
14964 multibyte character, share fontset with base_face. For a single
52283633 14965 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
14966 (realize_tty_face): Argument changed. Caller changed.
14967 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
14968 (face_at_buffer_position): Don't check multibyte_p for returning
14969 DEFAULT_FACE_ID.
14970 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
14971 FACE_SUITABLE_FOR_CHARSET_P.
14972 (syms_of_xfaces): Remove code for Qx_charset_registry and
14973 Vface_default_registry.
14974
6c4bfdc0
KH
14975 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
14976 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
14977 (x_per_char_metric): Don't try FONT->default_char. Even if
14978 pcm->width is zero, glyph bits may exist.
14979 (x_encode_char): Always initialize char2b->byte1.
14980 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 14981 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
14982 (x_append_glyph): Set glyph->glyph_not_available_p.
14983 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14984 it->charset. Handle the case that per char metric is not
14985 available. If it->multibyte_p is zero and it->c is a multibyte
14986 character, convert it to a unibyte character.
14987 (struct glyph_string): Delete member `charset'.
14988 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14989 the case that per char metric is not available correctly.
14990 (x_fill_glyph_string): Handle the case that the specific glyph is
14991 not available correctly.
14992 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14993 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14994 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14995 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14996 fontset. Don't call FS_LOAD_FONT.
14997
14998 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
14999 (x_create_tip_frame): Likewise.
15000 (Fx_close_connection): Free full_name of font_info.
15001
15002 * fns.c (optimize_sub_char_table): New function.
15003 (Foptimize_char_table): New function.
15004 (syms_of_fns): Defsubr Soptimize_char_table.
15005
b33dd3b0
GM
150062000-03-20 Gerd Moellmann <gerd@gnu.org>
15007
15008 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
15009 only if buffer is displayed in some window.
15010
15011 * xdisp.c (handle_single_display_prop): Initialize local `value'.
15012 (try_window_reusing_current_matrix): Don't call scroll run
15013 function if run's current and desired position are the same;
15014 this prevents cursor flickering.
15015
4e8a9132
SM
150162000-03-19 Stefan Monnier <monnier@cs.yale.edu>
15017
15018 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
15019
15020 * regex.c (RE_STRING_CHAR): New macro.
15021 (GET_CHAR_AFER_2): Remove.
15022 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
15023 (enum re_opcode_t): Remove on_failure_jump_exclusive.
15024 (print_partial_compiled_pattern, re_compile_fastmap)
15025 (re_match_2_internal): Remove on_failure_jump_exclusive.
15026 (regex_compile): Turn optimizable P+ loops into PP*, so that the
15027 optimization only need to work for * (ie. can use of_keep_string_jump).
15028 Remove the special case for .*\n since it is now covered by the general
15029 optimization.
15030 (re_search_2): Don't bother with `room'.
15031 (skip_one_char): New function.
15032 (skip_noops): Simplify since `memory' is not needed any more.
15033 (mutually_exclusive_p): Restructure slightly to use `switch' and
15034 add handling for "all" remaining cases.
15035 (re_match_2_internal): Change on_failure_jump_smart to use
15036 on_failure_keep_string_jump (and redirect the end-of-loop jump)
15037 rather than on_failure_jump_exclusive.
15038
2136fdd4
GM
150392000-03-19 Gerd Moellmann <gerd@gnu.org>
15040
15041 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
15042 number of bits per RGB because it's everywhere used as the depth
15043 of the visual.
15044
15045 * term.c (calculate_costs): Remove code dealing with X frames.
15046
18e21ce8 150472000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
15048
15049 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
15050
d7b511c4
GM
150512000-03-18 Gerd Moellmann <gerd@gnu.org>
15052
15053 * lread.c (read_integer): Unread the last char not consumed.
15054
16b5d424
GM
150552000-03-17 Gerd Moellmann <gerd@gnu.org>
15056
15057 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 15058 which are in the process of being deleted.
16b5d424 15059
1fa28578
GM
150602000-03-16 Gerd Moellmann <gerd@gnu.org>
15061
83488cce
GM
15062 * Makefile.in (mostlyclean): Add `*.core'.
15063 (clean): Add `bootstrap-emacs'.
15064
1fa28578
GM
15065 * lread.c (read_integer): New function.
15066 (read1): Support read syntax #o, #x, #b, #r.
15067
99633e97
SM
150682000-03-15 Stefan Monnier <monnier@cs.yale.edu>
15069
1fa28578
GM
15070 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
15071 make sure POINTER_TO_OFFSET gives the same value before and after
15072 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
15073 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
15074 (debug): Now only active if > 0 rather than if != 0.
15075 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
15076 (print_partial_compiled_pattern): Add missing `succeed' case. Use
15077 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
15078 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
15079 (store_op1, store_op2, insert_op1, insert_op2)
15080 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
15081 (group_in_compile_stack): Move to after its arg's types are
15082 declared and add a prototype.
99633e97 15083 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 15084 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 15085 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
15086 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
15087 indentation of the greedy-op and shy-group code.
99633e97
SM
15088 (at_(beg|end)line_loc_p): Fix argument's types.
15089 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
15090 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
15091 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
15092 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
15093 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
15094 QUIT unconditionally.
99633e97 15095
699238d9
GM
150962000-03-15 Gerd Moellmann <gerd@gnu.org>
15097
15098 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
15099 a sole completion.
15100
15101 * process.c (send_process): Add a hint that the function
15102 can call Lisp code to its comment.
15103
15104 * lread.c (load_dangerous_libraries): New variable.
15105 (Vbytecomp_version_regexp): New variable.
15106 (safe_to_load_p): New function.
15107 (Fload): Handle files not compiled with Emacs specially.
15108 (syms_of_lread): New Lisp variable load-dangerous-libraries.
15109
34e23e5a
GM
151102000-03-14 Gerd Moellmann <gerd@gnu.org>
15111
9c763cca
GM
15112 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
15113
15114 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
15115 support functions only if HAVE_X11R6_XIM is defined.
15116 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
15117
15118 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
15119
15120 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 15121 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
15122 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
15123
15124 * config.in (HAVE_X_I18N): Moved here from xterm.h.
15125 (HAVE_X11R6_XIM): Define.
15126
15127 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
15128
34e23e5a
GM
15129 * xterm.c (x_term_init): Add support for X resource `synchronous'.
15130 If set, call XSynchronize.
15131
66f0296e
SM
151322000-03-13 Stefan Monnier <monnier@cs.yale.edu>
15133
34e23e5a
GM
15134 * regex.c: Declare a new type `re_char' used throughout the code
15135 for the string char type. It's `const unsigned char' to match the
15136 rest of Emacs. Consistently make sure all pointers to strings use
52283633 15137 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 15138 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
15139 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
15140 code duplication.
66f0296e
SM
15141
15142 * charset.h (GET_CHAR_AFTER_2): Remove.
15143 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
15144
854a025c
KR
151452000-03-12 Ken Raeburn <raeburn@gnu.org>
15146
15147 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
15148 variable before the invocation of YMF_PASS_LDFLAGS, in case both
15149 of them try to use backquotes.
15150
b9d2c7e2
DL
151512000-03-12 Dave Love <fx@gnu.org>
15152
15153 * unexelf.c: Restore changes of 1999-10-19.
15154 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
15155 fix its type and alignment; copy it from current process.
15156
5e5dff44
GM
151572000-03-12 Gerd Moellmann <gerd@gnu.org>
15158
9b2f3c38
GM
15159 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
15160 has been found. Fix bug not computing timer's predecessor.
15161
427ec082 15162 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
15163 file name.
15164
e1cff360
GM
15165 * window.c (Fsave_window_excursion): Doc fix.
15166
52283633 15167 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 15168
e411ce4b
EZ
151692000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
15170
15171 * msdos.c (vga_installed): New function, code moved from
15172 dos_set_window_size.
15173 (Qbar, Qcursor_type, outside_cursor): New variables.
15174 (syms_of_msdos): Intern and staticpro them.
15175 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
15176 shape used outside Emacs when called for the first time.
15177 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
15178 cursor shape used outside Emacs.
15179 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
15180 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
15181 type has changed.
15182 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
15183 parameters specify the cursor. Make qreverse a global
15184 variable (renamed to Qreverse).
15185
80460654
GM
151862000-03-09 Gerd Moellmann <gerd@gnu.org>
15187
15188 * fns.c (Fy_or_n_p): Cancel busy-cursor.
15189
95cd4c40
SM
151902000-03-08 Stefan Monnier <monnier@cs.yale.edu>
15191
15192 This is a big redesign of failure-stack and register handling, prompted
15193 by bugs revealed when trying to add shy-groups. Overall, what happened
15194 is that loops are now structured a little differently, groups can be
15195 shy and the code is a little simpler.
15196
15197 * regex.h: Update the copyright.
15198 (RE_SHY_GROUPS): New value.
15199 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
15200 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
15201
80460654
GM
15202 * regex.c (enum re_opcode_t): Remove jump_past_alt,
15203 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
15204 on_failure_jump_(exclusive, loop and smart). Also fix the comment
15205 for (start|stop)_memory since they now only take one argument (the
15206 second has becomes unnecessary).
52283633 15207 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
15208 (print_compiled_pattern): Use %ld to printf long ints and flush to
15209 make debugging a little easier.
95cd4c40
SM
15210 (union fail_stack_elt): Make the integer unsigned.
15211 (struct fail_stack_type): Add a `frame' element.
15212 (INIT_FAIL_STACK): Init `frame' as well.
15213 (POP_PATTERN_OP): New macro for re_compile_fastmap.
15214 (DEBUG_PUSH, DEBUG_POP): Remove.
15215 (NUM_REG_ITEMS): Remove.
15216 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
15217 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
15218 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 15219 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
15220 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
15221 New macros.
80460654
GM
15222 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
15223 address pushed is not the destination of the jump but the source
15224 of it instead.
95cd4c40
SM
15225 (NUM_FAILURE_ITEMS): Remove.
15226 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
15227 registers before the actual failure point). Don't hardcode any
15228 meaning for str==NULL anymore.
95cd4c40 15229 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
15230 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
15231 Remove.
95cd4c40
SM
15232 (REG_UNSET_VALUE): Use NULL (why not?).
15233 (compile_range): Remove declaration since it doesn't exist.
15234 (struct compile_stack_elt_t): Remove inner_group_offset.
15235 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
15236 (regex_grow_registers): Remove dead code.
15237 (FIXUP_ALT_JUMP): New macro.
80460654
GM
15238 (regex_compile): Add shy-groups Change loops to use
15239 on_failure_jump_smart&jump instead of
15240 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
15241 initial (dummy_failure_)jump. Remove c1_base (looks like unused
15242 variable to me). Use `jump' instead of `jump_past_alt' and don't
15243 bother with push_dummy_failure in alternatives since it is now
15244 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
15245 emacs' for (re)allocating the stack.
15246 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
15247 from loop when bufp->can_be_null rather than jumping to `done'.
15248 Avoid jumping backwards so as to ensure termination. Use
15249 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
15250 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 15251 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
15252 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
15253 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
15254 (lowest_active_reg, highest_active_reg)
15255 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
15256 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
15257 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
15258 variables. Push register (in `start_memory') on the stack rather
15259 than storing it in old_reg(start|end). Remove the cycle detection
15260 from `stop_memory', replaced by the use of on_failure_jump_loop
15261 for greedy loops. Add code for the new on_failure_jump_<foo>.
15262 Remove ad-hoc code in `on_failure_jump' to push more registers in
15263 the case of a loop. Take out code from `maybe_pop_jump' into
15264 separate functions and adapt it to the semantics of
15265 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
15266 and push_dummy_failure. Remove dummy_failure handling and
15267 handling of `failures to jump to on_failure_jump' (this last one
15268 was already dead code, it seems).
15269 (group_match_null_string_p, alt_match_null_string_p)
15270 (common_op_match_null_string_p): Remove.
95cd4c40 15271
7397acc4
DL
152722000-03-08 Dave Love <fx@gnu.org>
15273
15274 * config.in: Don't depend on __STDC__ for volatile.
15275 Add POINTER_TYPE, PTR, PROTOTYPES.
15276
15277 * hftctl.c, strftime.c: Use PROTOTYPES.
15278 * eval.c (find_handler_clause): Likewise.
15279
15280 * mem-limits.h: Use POINTER_TYPE.
15281
15282 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
15283 (memory_warnings): Declare using POINTER_TYPE.
15284
5e91ff9e
GM
152852000-03-08 Gerd Moellmann <gerd@gnu.org>
15286
feab4fba
GM
15287 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
15288
52283633 15289 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 15290
5e91ff9e
GM
15291 * xfns.c: Remove obsolete code in #if 0.
15292 (Fx_focus_frame): New function.
15293
a735b7e1
KH
152942000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15295
15296 * coding.c (coding_category_name): Add coding-category-utf-8,
15297 coding-category-utf-16-be, coding-category-utf-16-le.
15298 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
15299 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
15300 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
15301 (detect_coding_utf_8): New function.
15302 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
15303 UTF_16_LOW_SURROGATE_P): New macros.
15304 (detect_coding_utf_16): New function
15305 (detect_coding_mask): When priorities are specified, skip any
15306 categories that have `nil' coding-system. Fix bug of returning
15307 wrong mask when PRIORITIES is specified and detect_coding_XXX()
15308 returns a mask not set in PRIORITIES.
15309 (detect_eol_type_in_2_octet_form): New function.
15310 (detect_eol): selects detect_eol_type_XXX to call according to
15311 cooding->category_idx.
15312 (detect_coding_system): Remove `nil' coding-system in the result.
15313 (Fupdate_coding_systems_internal): Update all coding-categories.
15314
52283633
SM
15315 * coding.h (CODING_CATEGORY_IDX_UTF_8)
15316 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
15317 New macros.
15318 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
15319 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
15320 (CODING_CATEGORY_IDX_UTF_16_LE)
15321 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
15322 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
15323 (CODING_CATEGORY_MASK_ANY): Include the above macros.
15324 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
15325
9994cc69
GM
153262000-03-07 Gerd Moellmann <gerd@gnu.org>
15327
e9b4e5ff
GM
15328 * doc.c (Fdocumentation_property): If value is not a string,
15329 and doesn't refer to etc/DOC, evaluate it to obtain a string.
15330
f7daf1e1
GM
15331 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
15332 close the display with XtCloseDisplay. This caused a bus error
15333 on OpenWindows.
15334
9994cc69
GM
15335 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
15336 complete but not unique.
15337
4336c705
GM
153382000-03-06 Gerd Moellmann <gerd@gnu.org>
15339
18bb0684
GM
15340 * process.c (send_process): Remove local variable `procname' that
15341 might become invalid when a GC happens. Instead, access the
15342 process name slot directly.
15343
4336c705
GM
15344 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
15345 orig_height if set.
15346
15347 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
15348 orig_height if set.
15349
515d0d0e
EZ
153502000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
15351
15352 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
15353 glyph matrices have been freed.
15354
100b3cbb
GM
153552000-03-05 Gerd Moellmann <gerd@gnu.org>
15356
50df5e5a 15357 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 15358 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
15359
15360 * xfns.c (QCdata): Moved to xdisp.c.
15361
15362 * xdisp.c (QCdata): Moved here from xfns.c.
15363 (syms_of_xdisp): Initialize QCdata.
15364
15365 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
15366
15367 * window.c (coordinates_in_window): Use
15368 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
15369 FRAME_INTERNAL_BORDER_WIDTH.
15370
100b3cbb 15371 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 15372 it is obviously invalid.
100b3cbb
GM
15373
15374 * xterm.c (x_term_init): Create a colormap if not using the
15375 default visual.
15376
15377 * xterm.h (select_visual): Change prototype.
15378
15379 * xfns.c (select_visual): Rewritten. Recognize user-specified
15380 visual classes.
15381 (visual_classes): New variable.
15382
64d739c4
GM
153832000-03-04 Gerd Moellmann <gerd@gnu.org>
15384
15385 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
15386 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
15387 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 15388 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
15389 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
15390 XtNcolormap resources.
15391 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
15392 (Fx_create_frame): Initialize color members of x_output structure.
15393 (xpm_load): Pass colormap to XPM lib.
15394
15395 * xfaces.c (x_free_colors): Access colormap of frame using
15396 FRAME_X_COLORMAP. Be paranoid about freeing black and white
15397 when default colormap is used.
15398
15399 * xterm.c (x_term_init): Set Colormap member of x_display_info
15400 structure. Copy colormap if resource `privateColormap' is
15401 specified (PseudoColor only).
15402 (x_setup_relief_color): Access colormap of frame using
15403 FRAME_X_COLORMAP.
15404
15405 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
15406 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
15407
c3cee013
JR
154082000-03-04 Jason Rumney <jasonr@gnu.org>
15409
15410 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
15411 other non-platform-specific equivalents.
64d739c4 15412 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
15413 specific functions and macros as their w32 equivalents where
15414 non-platform-specifics are not available.
15415 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
15416 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
15417 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
15418 (frame_update_line_height): Use macros to access f->output_data.
15419 (defined_color): Remove FIXME comments; fixed.
15420 (x_face_list_fonts, prepare_face_for_display): Put X specifics
15421 into #ifdef blocks. Add WINDOWSNT blocks.
15422 (Fx_list_fonts): Use macros for accessing font data.
15423 (set_lface_from_font_name): Different default fonts for X and
15424 WINDOWSNT.
15425 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
15426 scalable for backward compatibility.
64d739c4 15427 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
15428 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
15429
64d739c4 15430 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
15431 syms_of_w32faces.
15432
15433 * makefile.nt (w32faces.obj): Remove.
15434 (xfaces.obj): Add.
15435
807cc41c
JR
154362000-03-03 Jason Rumney <jasonr@gnu.org>
15437
15438 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
15439 correct parameters.
15440
0007072a
KR
154412000-03-03 Ken Raeburn <raeburn@gnu.org>
15442
15443 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
15444 standard ELF definitions here if the system header does not.
15445
71a6ba55
GM
154462000-03-03 Gerd Moellmann <gerd@gnu.org>
15447
15448 * xterm.c (PER_CHAR_METRIC): Removed.
15449 (x_per_char_metric_1, x_default_char): New functions.
15450 (x_per_char_metric): If font's default char is invalid, return
15451 metrics of a suitably chosen usable default char.
15452 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
15453 char, replace occurrences of unprintable chars with a suitably
15454 chosen usable default char.
71a6ba55 15455
900fa1f1
GM
154562000-03-02 Gerd Moellmann <gerd@gnu.org>
15457
42f55fe0
GM
15458 * xterm.c (note_mouse_highlight): Return quickly if frame's
15459 glyph matrices have been freed.
15460
15461 * dispnew.c (free_glyphs): Block input while freeing matrices.
15462
900fa1f1
GM
15463 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
15464
52283633
SM
15465 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
15466 Use x_free_colors.
900fa1f1
GM
15467
15468 * dispextern.h (x_free_colors): Add prototype.
15469
15470 * xfaces.c (x_free_colors): New function.
15471 (unload_color, free_face_colors): Use it.
15472
2f950292
EZ
154732000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15474
15475 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
15476
15477 * window.c [MSDOS]: Include msdos.h.
15478
54d04320
DL
154792000-03-02 Dave Love <fx@gnu.org>
15480
15481 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
15482
15483 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
15484 set C_OPTIMIZE_SWITCH for gcc.
15485
0ba93ac4
KH
154862000-03-02 Kenichi Handa <handa@etl.go.jp>
15487
15488 * coding.c (coding_save_composition): Be sure to allocate
15489 composition data area in coding even if there's no composition in
15490 the current run.
15491
a2bc11d4
JR
154922000-03-01 Jason Rumney <jasonr@gnu.org>
15493
15494 * w32term.c: Equivalent changes to those made to xterm.c on
15495 2000-02-25 and 2000-02-24.
15496
15497 * w32fns.c: Equivalent changes to those made to xfns.c on
15498 2000-02-25 and 2000-02-21.
15499
15500 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
15501 correct line-end convention is followed.
15502
15503 * w32menu.c [HAVE_BOXES]: Remove #undef.
15504 (single_keymap_panes): Remove code for simulating checkmarks.
15505 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
15506 Remove code for drawing simulated checkmarks.
15507 (w32_menu_show): make unibyte help string correctly.
15508 (add_menu_item): draw standard Windows checkmarks. Draw radio
15509 buttons as radio buttons if possible.
15510
72d19d75
GM
155112000-03-01 Gerd Moellmann <gerd@gnu.org>
15512
2df636f4
GM
15513 * sysdep.c (start_of_text): Don't define this function for NetBSD
15514 with ELF.
15515
427ec082 15516 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
15517 Don't define.
15518 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
15519 (LINKER): Don't undef if __NetBSD__ is defined.
15520
15521 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
15522
15523 * fileio.c [__NetBSD__]: Define `unix'.
15524
72d19d75
GM
15525 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
15526
ed4d0512
GM
155272000-02-29 Gerd Moellmann <gerd@gnu.org>
15528
50b1039f
GM
15529 * atimer.c (start_atimer): Don't abort when timers are stopped.
15530 (append_atimer_lists): New function.
15531 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
15532 arbitrary lists of stopped and running atimers.
15533
ed4d0512
GM
15534 * atimer.c (cancel_atimer): Handle canceling an atimer when
15535 some timers are stopped.
15536
15537 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
15538 after canceling it.
15539
15540 * fns.c (maybe_resize_hash_table): Handle case of new size
15541 coming out as being the same as old size.
15542
387023ee
JR
155432000-02-27 Jason Rumney <jasonr@gnu.org>
15544
15545 * makefile.nt: Add atimer.h to dependencies.
15546 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
15547 * w32console.c: Only disable window system features for dispextern.h
15548 (initialize_w32_display): Build a display info for the console.
15549 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
15550 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
15551 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
15552 as 2 button mice.
15553 * w32gui.h (struct W32FontStruct): Revert last change after change
15554 to xdisp.c.
15555 * w32menu.c (single_submenu): Set up help string.
15556 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
15557 (w32_dialog_show): Set up help string.
15558 * w32term.c (w32_display_info_for_display): Remove unused function.
15559 (w32_draw_bitmap): Use pre-built bitmaps.
15560 (w32_initialize_display_info): New function to initialize parts of
15561 display info that are common to both GUI and console frames.
15562 (w32_term_init): Use w32_initialize_display_info. Do not set
15563 Vw32_num_mouse_buttons here, as it is not called for console
15564 frames. Build bitmaps for indicating truncated lines etc.
15565 (x_delete_display): Destroy pre-built bitmaps.
15566 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
15567 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
15568
4516715a
DL
155692000-02-27 Dave Love <fx@gnu.org>
15570
15571 * lisp.h: Add a bunch of prototypes.
15572
171ca836
KH
155732000-02-26 Kenichi Handa <handa@etl.go.jp>
15574
15575 * keyboard.c (read_char): Set `usec' correctly.
15576
4013921d
KH
155772000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15578
15579 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
15580 `lambda', set reg[RRR] to the map index.
15581 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
15582 reg[RRR] to 0. Otherwise, set it to -1.
15583
9244a058
GM
155842000-02-25 Gerd Moellmann <gerd@gnu.org>
15585
2df636f4 15586 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 15587
18e21ce8 155882000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 15589
f43d79c1
GM
15590 * fileio.c (Ffile_symlink_p): If result starts with a `/'
15591 and contains a `:', prepend `/:'.
15592
15593 * window.c (select_window_1): If selected_window is nil,
15594 don't "swap out" the buffer's point.
15595 (Fset_window_configuration): Set selected_window to nil
15596 before calling Fselect_window.
15597 (unshow_buffer): Don't set point in buffer from window's point
15598 if another more recently selected window also shows the buffer.
15599
bed0c171
GM
156002000-02-25 Gerd Moellmann <gerd@gnu.org>
15601
449c3c52
GM
15602 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
15603
f5b58615
GM
15604 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
15605 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
15606 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
15607 New variables.
f5b58615
GM
15608 (DEFAULT_BUSY_CURSOR_DELAY): New define.
15609 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
15610 (hide_busy_cursor): New functions.
15611 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
15612
15613 * minibuf.c (read_minibuf): Cancel busy-cursor.
15614
15615 * keyboard.c (command_loop_1): Call start_busy_cursor before
15616 Fcommand_execute and cancel_busy_cursor after it.
15617 (timer_check): Remove busy-cursor code.
15618 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
15619 cursor timer.
15620
15621 * process.c (wait_reading_process_input): Remove busy-cursor code.
15622
15623 * eval.c (Fsignal): Call cancel_busy_cursor instead of
15624 Fx_hide_busy_cursor.
15625
15626 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
15627 Remove prototyoes.
15628 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
15629
15630 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
15631
15632 * xterm.c (XTread_socket): Remove busy-cursor code.
15633
4eb8436f
GM
15634 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
15635 (build_frame_matrix_from_leaf_window): Put code handling
15636 glyph row's not being a slice of a frame row in #if 0.
15637 (sync_window_with_frame_matrix_rows): New function.
15638 (frame_row_to_window): New function.
15639 (mirror_line_dance): Handle copies between windows.
15640
3cb65b0e
GM
15641 * lread.c (Fload): Use `xfree' instead of `free'.
15642 (init_obarray): Use `xmalloc' instead of `malloc'.
15643
bed0c171
GM
15644 * window.c (Fset_window_buffer): Set WINDOW to the window
15645 after decoding.
2add4349
GM
15646 (coordinates_in_window): Take frame's internal border width
15647 into account.
bed0c171 15648
42088c12
GM
156492000-02-24 Gerd Moellmann <gerd@gnu.org>
15650
15651 * xterm.c (x_display_and_set_cursor): Display cursor of
15652 non-selected windows depending on the setting of
15653 cursor_in_non_selected_windows.
15654
15655 * xdisp.c (cursor_in_non_selected_windows): New variable.
15656 (syms_of_xdisp): DEFVAR_BOOL it.
15657
d1e103b2
GM
156582000-02-23 Gerd Moellmann <gerd@gnu.org>
15659
723e779c
GM
15660 * data.c (Fstring_to_number): If number is greater than what
15661 fits into an integer, return a float.
15662
d1e103b2
GM
15663 * eval.c (specbind): Remove references to
15664 keyword_symbols_constant_flag.
15665
15666 * data.c (keyword_symbols_constant_flag): Removed.
15667 (Fmakunbound, set_internal, syms_of_data): Remove references to
15668 keyword_symbols_constant_flag.
15669
15670 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
15671
214f877f
KH
156722000-02-23 Kenichi Handa <handa@etl.go.jp>
15673
15674 * syntax.c (multibyte_syntax_as_symbol): New variable.
15675 (syms_of_syntax): Declare it as a Lisp variable.
15676 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
15677 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
15678 nonzero, treat all multibyte characters as symbol.
52283633 15679 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 15680
130adcb7
EZ
156812000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15682
3cb65b0e 15683 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 15684 a deleted frame.
130adcb7 15685
17cbbf95
GM
156862000-02-21 Gerd Moellmann <gerd@gnu.org>
15687
15688 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
15689
15690 * xfns.c (x_window_to_frame, x_any_window_to_frame)
15691 (x_non_menubar_window_to_frame): Check the busy-cursor window.
15692
beb0bc36
DL
156932000-02-21 Dave Love <fx@gnu.org>
15694
15695 * frame.c (Vmouse_position_function): New variable.
15696 (Fmouse_position): Use it.
15697 (syms_of_frame): Install it.
15698
15699 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
15700
1d92afcd
GM
157012000-02-20 Gerd Moellmann <gerd@gnu.org>
15702
15703 * fileio.c (Finsert_file_contents): Unbind the binding of
15704 standard-output done by temp_output_buffer_setup.
329eed9f
GM
15705
15706 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
15707 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
15708 (specbind, unbind_to): Handle most common case of non-constant
15709 symbol with trivial value specially.
15710
15711 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
15712
18e21ce8 157132000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
15714
15715 * data.c (Fmake_variable_buffer_local): Doc fix.
15716 Init found_for_buffer to 0.
15717 (Fmake_variable_frame_local): If the variable has already
15718 been buffer-local, set the check_frame field.
15719
1d4311c3
EZ
157202000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
15721
15722 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
15723 produced for CODING_MODE_LAST_BLOCK requires.
15724
2dc95ddd
DL
157252000-02-18 Dave Love <fx@gnu.org>
15726
15727 * keyboard.c (echo_keystrokes): Remove declaration.
15728 (Vecho_keystrokes) New variable.
15729 (read_char, record_menu_key, read_key_sequence): Use it to allow
15730 use of float value.
15731 (syms_of_keyboard): Change Vecho_keystrokes declaration.
15732
15733 * lread.c: Undef feature selection macros before defining.
15734
f0930f35
GM
157352000-02-18 Gerd Moellmann <gerd@gnu.org>
15736
15737 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
15738 for symbols other than the symbol in question.
15739
e3d4de90
DL
157402000-02-17 Dave Love <fx@gnu.org>
15741
15742 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
15743
0b378936
GM
157442000-02-17 Gerd Moellmann <gerd@gnu.org>
15745
d621caf7
GM
15746 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
15747
0b378936
GM
15748 * alloc.c (enum mem_type): Compile unconditionally.
15749
3b451f74
EZ
157502000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
15751
15752 * xfaces.c (tty_defined_color): Don't return faulire indication
15753 for unspecified-fg and unspecified-bg pseudo-colors.
15754
10689a01
GM
157552000-02-17 Gerd Moellmann <gerd@gnu.org>
15756
1216f5e4
GM
15757 * alloc.c (mark_object): Don't mark symbol names in pure space.
15758 (gc_sweep): Don't unmark symbol names in pure space.
15759
15760 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15761 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15762 [GC_MARK_STACK]: New defines.
427ec082 15763 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
15764 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
15765
15766 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
15767
15768 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
15769 allocate_buffer instead of xmalloc.
15770
15771 * alloc.c (toplevel): Include setjmp.h.
15772 (PURE_POINTER_P): New define.
15773 (enum mem_type) [GC_MARK_STACK]: New enumeration.
15774 (Vdead) [GC_MARK_STACK]: New variable.
15775 (lisp_malloc): Add parameter TYPE, call mem_insert if
15776 GC_MARK_STACK is defined.
15777 (allocate_buffer): New function.
427ec082 15778 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
15779 (free_float) [GC_MARK_STACK]: Set type to Vdead.
15780 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
15781 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
15782 (MEM_NIL) [GC_MARK_STACK]: New define.
15783 (struct mem_node) [GC_MARK_STACK]: New structure.
15784 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
15785 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
15786 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
15787 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
15788 (mark_stack) [GC_MARK_STACK]: New functions.
15789 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
15790 (clear_marks): Removed.
15791 (gc_sweep): Set free conses' car, free floats' type, free
15792 symbols' function to Vdead. Use lisp_free to free buffers.
15793 (init_alloc_once): Initialize Vdead.
15794 (survives_gc_p): Return non-zero for pure objects.
15795
15796 * alloc.c: Add comments throughout the file.
15797
2503c8b1
GM
15798 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
15799 that unblocks alarms.
15800
8389e1e2
GM
15801 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
15802 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
15803 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
15804
10689a01 15805 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 15806
bfc17d18
KH
158072000-02-17 Kenichi Handa <handa@etl.go.jp>
15808
4a09dee0
KH
15809 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
15810 avoid infinite error signaling. Allocate sufficient memory for
15811 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 15812
2b927d02
SM
158132000-02-17 Stefan Monnier <monnier@cs.yale.edu>
15814
15815 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
15816 depends on the previous behavior.
15817
b49cb764
GM
158182000-02-16 Gerd Moellmann <gerd@gnu.org>
15819
15820 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
15821
99e95407
GM
158222000-02-15 Gerd Moellmann <gerd@gnu.org>
15823
15824 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
15825
15826 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 15827 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
15828 write(2).
15829
6ffd3cf7
RS
158302000-02-15 Richard M. Stallman <rms@gnu.org>
15831
15832 * data.c (set_internal): Don't make variable buffer-local
15833 if within a let-binding for the same buffer.
15834 (let_shadows_buffer_binding_p): New function.
15835
15836 * eval.c (specbind): For buffer-local value,
15837 record the current buffer also.
15838 (unbind_to): Cope with that change.
15839
cad53475
GM
158402000-02-15 Gerd Moellmann <gerd@gnu.org>
15841
15842 * window.c (Fsave_window_excursion): Doc fix.
15843
1aa963c8
SM
158442000-02-15 Stefan Monnier <monnier@cs.yale.edu>
15845
15846 * syntax.c (back_comment): Make sure we only consider comment-starters
15847 of the relevant style and return -1 in case of a failure to find the
15848 beginning of the comment.
15849 (Fforward_comment): If back_comment fails, go back to the position just
15850 after the comment-end.
15851 (scan_lists): Add comment describing a very minor bug.
15852
b9b84fd3
SM
158532000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15854
15855 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
15856 `completion-regexp-list' in the docstring.
15857
3a28db80
DL
158582000-02-14 Dave Love <fx@gnu.org>
15859
15860 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
15861
fb4a568d
SM
158622000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15863
15864 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
15865 to Emacs' syntax. Also fix the comment about set/not-set meanings
15866 since Emacs syntax is not the value 0 any more.
15867 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
15868 since it's now part of RE_SYNTAX_EMACS.
15869
1063ebb5
DL
158702000-02-12 Dave Love <fx@gnu.org>
15871
52283633 15872 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 15873
fb07a302
GM
158742000-02-12 Gerd Moellmann <gerd@gnu.org>
15875
15876 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
15877
aaf2320c
DL
158782000-02-12 Dave Love <fx@gnu.org>
15879
15880 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
15881
15882 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
15883 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
15884 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
15885
15886 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
15887
15888 * s/nextstep.h: Don't define HAVE_ALLOCA.
15889
15890 * config.in: Add vfork bits.
15891
eedf8bde
GM
158922000-02-12 Gerd Moellmann <gerd@gnu.org>
15893
15894 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
15895 unwind function to undo the effect of stopping atimers.
15896
52283633 15897 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
15898
15899 * atimer.c (stopped_atimers): New variable.
15900 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
15901 New functions.
15902
15903 * atimer.h (stop_other_atimers, run_all_atimers)
15904 (unwind_stop_other_atimers): Add function prototypes.
427ec082 15905
eedf8bde
GM
15906 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
15907
8476c2f8
KR
159082000-02-11 Ken Raeburn <raeburn@gnu.org>
15909
15910 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
15911 library may depend on jpeg.
15912 (atimer.o): Depends on atimer.c.
15913
0e85e4a3
KH
159142000-02-11 Kenichi Handa <handa@etl.go.jp>
15915
15916 * insdel.c (del_range_1): Call update_compositions.
15917 (del_range_both): Call update_compositions just once..
15918
97fa0cc8
DL
159192000-02-10 Dave Love <fx@gnu.org>
15920
15921 * xfns.c (create_frame_xic): Fix initialization of automatic
15922 aggregates for pcc.
15923
25566a3c
KH
159242000-02-09 Kenichi Handa <handa@etl.go.jp>
15925
15926 * ccl.c (CCL_MAKE_CHAR): New macro.
15927 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
15928 registers by CCL_MAKE_CHAR before calling translate_char.
15929 <CCL_TranslateCharacterConstTbl> Likewise.
15930
69da54ba
DL
159312000-02-08 Dave Love <fx@gnu.org>
15932
15933 * lread.c (__EXTENSIONS__): Define.
15934
f7136ee8
GM
159352000-02-08 Gerd Moellmann <gerd@gnu.org>
15936
15937 * puresize.h (BASE_PURESIZE): Increase to 650000.
15938
7768790b
EZ
159392000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15940
15941 * msdos.c (XMenuActivate): Turn off the cursor after displaying
15942 the help message.
15943
38fd211b
EZ
159442000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15945
15946 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
15947 md, mh, mb, mr, and me to the fake termcap entry.
15948
66e4690f
KR
159492000-02-06 Ken Raeburn <raeburn@gnu.org>
15950
15951 * sound.c (sound_cleanup): Don't call device close routine if the
15952 function pointer is null.
15953
a75dfea0
AI
159542000-02-06 Andrew Innes <andrewi@gnu.org>
15955
15956 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
15957 around image definitions and prototypes.
15958 (gamma_correct) [WINDOWSNT]: New prototype.
15959
15960 * w32term.c (x_make_frame_visible): Replace call to
15961 input_poll_signal with poll_for_input.
15962
15963 * window.c [WINDOWSNT]: Include w32term.h.
15964
15965 * xdisp.c [WINDOWSNT]: Include w32term.h.
15966
15967 * makefile.nt: Add dependencies on w32gui.h.
15968 (OBJ1): Include atimer.obj.
15969 ($(BLD)\atimer.obj): New dependency rule.
15970
15971 * w32.c (sigmask): New function (does nothing).
15972 (sigunblock): Ditto.
15973
15974 * frame.c [WINDOWSNT]: Include w32term.h.
15975
15976 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
15977
15978 * lread.c (syms_of_lread): Fix literal newlines.
15979
15980 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
15981 the string constant limit (2048 bytes) in MSVC.
15982 (main): Ditto.
15983
59ddecde
GM
159842000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
15985
52283633 15986 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
15987 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
15988 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
15989 dispatch the event.
15990
07590973
DL
159912000-02-04 Dave Love <fx@gnu.org>
15992
15993 * fileio.c: Remove some unused vars.
15994 (_GNU_SOURCE): Define (for euidaccess).
15995
15996 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
15997
15998 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
15999 gcpro1, gcpro2.
16000 (read_minibuf): Deal with allow_props correctly.
16001
649351f9
EZ
160022000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
16003
16004 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
16005
66e4690f 160062000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
16007
16008 * search.c (compile_pattern): If a cache entry has a nil regexp,
16009 fill in that entry instead of clobbering a previously cached
16010 string regexp.
16011
66e4690f 160122000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
16013
16014 * puresize.h (BASE_PURESIZE): Increase to 610000.
16015
d240a249
GM
160162000-02-02 Gerd Moellmann <gerd@gnu.org>
16017
16018 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
16019 can GC.
16020
ca91fb26
KH
160212000-02-02 Kenichi Handa <handa@etl.go.jp>
16022
25660570
KH
16023 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
16024 instead of incrementing ic directly.
16025 <CCL_WriteExprConst> Likewise.
16026 <ccl_set_expr>: Set ic to jump_address.
16027
ca91fb26
KH
16028 * fileio.c (e_write): Fix the handling of
16029 CODING_FINISH_INSUFFICIENT_SRC.
16030
2ede9689
DL
160312000-02-01 Dave Love <fx@gnu.org>
16032
16033 * editfns.c (Fpropertize): Doc fix.
16034
16035 * process.c (Fstart_process): Doc fix.
16036
16037 * eval.c: Fix various doc strings not to duplicate information
16038 from help-manyarg-func-alist.
16039
52283633 16040 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
16041
16042 * doc.c (Vhelp_manyarg_func_alist): New variable.
16043 (Fdocumentation): Use it.
16044 (syms_of_doc): Define it.
16045
b6680a0e
GM
160462000-01-31 Gerd Moellmann <gerd@gnu.org>
16047
2cb750ba
GM
16048 * xterm.c (xim_open_dpy): Remove unused local variable.
16049
52283633 16050 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
16051
16052 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
16053 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
16054
b6680a0e
GM
16055 * fns.c (sweep_weak_table): New function.
16056 (sweep_weak_hash_tables): Use it. Keep on marking until there
16057 is no more change.
16058
994c5afe
GM
160592000-01-30 Gerd Moellmann <gerd@gnu.org>
16060
16061 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
16062 that XTread_socket does not crash by trying to call XNoOp on a
16063 closed display.
427ec082 16064
f00276e3
JR
160652000-01-30 Jason Rumney <jasonr@gnu.org>
16066
16067 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16068 Change selected_frame to SELECTED_FRAME ().
16069 (w32_console_mouse_position): Remove #ifndef MULE from around
16070 `insist' parameter.
16071
16072 * makefile.nt: Remove dosfns.obj.
16073
16074 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
16075
16076 * w32fns.c (w32_defined_color): Check for valid frame before
16077 applying gamma correction. Eliminate dependency on frame elsewhere.
16078 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
16079 (w32_to_x_font): Use resx and resy not height_in and width_in.
16080 (x_to_w32_font): Doc fix.
16081 (xlfd_strip_height): New function to strip and return font height.
16082 (w32_font_match): Compare height separately from rest of xlfd
16083 spec, using xlfd_strip_height.
16084
16085 * w32term.c (w32_term_init): Swap resx and height_in, resy and
16086 width_in. Use w32_defined_color in place of defined_color.
16087
16088 * w32faces.c: Merge more of DOS and X specifics in preparation for
16089 merge with xfaces.c.
16090 (defined_color): Remove FIXME comment.
16091 (tty_color_name): Provide w32-specific function.
16092 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
16093
16094 * w32console.c (turn_on_face, turn_off_face): Removed.
16095 (w32_face_attributes): New function.
16096 (Global_variables): Reduce scope where possible.
16097 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
16098 fill attribute.
16099 (hl_mode): Don't modify text attributes.
16100 (write_glyphs): Don't do anything if len <= 0. Use
16101 w32_face_attributes to get attributes for drawing. Write
16102 terminating codes using char_attr_normal.
16103 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
16104 (update_begin, update_end): Likewise.
16105 (vga_stdcolor_name): New function.
16106 (initialize_w32_display): Remove char_attr_reverse and char_attr.
16107 (Fset_screen_color): Remove char_attr_reverse.
16108
b08e8bb2
GM
161092000-01-29 Gerd Moellmann <gerd@gnu.org>
16110
16111 * xfns.c (xic_set_preeditarea): Take window parameter and
16112 window-relative pixel-positions.
16113
16114 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
16115 is its frame's selected window.
16116 (xim_instantiate_callback): Likewise.
16117
16118 * xfns.c (x_create_im): Removed.
16119 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
16120 (supported_xim_styles): Renamed from supported_styles.
16121 (best_xim_style): Renamed from best_style.
16122 (create_frame_xic): Renamed from xic_create_frame.
16123 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 16124
b08e8bb2
GM
161252000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
16126
16127 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
16128 our frames, call XFilterEvent with 2nd parameter `None'.
16129 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
16130 returning XBufferOverflow.
52283633 16131 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
16132 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
16133 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
16134 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
16135 (xim_initialize, xim_close)
16136 [HAVE_X_I18N && HAVE_X11R6]: New functions.
16137 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
16138 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
16139 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
16140
16141 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
16142 and `xim_styles'.
16143 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
16144 `xic_style' and `xic_xfs'.
16145 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
16146 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
16147 (FRAME_XIM): Removed.
16148
16149 * xfns.c (supported_styles): New variable.
16150 (DEFAULT_STYLE, DEFAULT_FONT): New macros
16151 (xic_create_xfontset, best_style, xic_create_frame)
16152 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
16153 (xic_set_xfontset): New functions.
16154
142e109c
DL
161552000-01-28 Dave Love <fx@gnu.org>
16156
16157 * s/irix6-5.h: Revert last change after change to irix5-0.h.
16158
16159 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
16160
b02786f9
GM
161612000-01-28 Gerd Moellmann <gerd@gnu.org>
16162
d060bc9f
GM
16163 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
16164 for *scratch* if it already existed.
16165
b02786f9
GM
16166 * emacs.c (USAGE): New macro.
16167 (main): Use it to display usage information.
16168
2c52d7e4
EZ
161692000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
16170
16171 Support for the menu-help feature:
16172
52283633 16173 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
16174
16175 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
16176 part of the line to the termscript file.
16177 (IT_clear_to_end): Clear the entire line, not just its beginning.
16178 (menu_help_message, prev_menu_help_message): New variables.
16179 (IT_menu_make_room): Make room for the help_text member.
16180 (IT_menu_display): New argument disp_help; all callers changed.
16181 If disp_help is non-zero, store the help text of the active menu
16182 item in menu_help_message.
16183 (XMenuAddPane): Initialize the help_text member to NULL.
16184 (XMenuAddSelection): New argument help_text. Store it in the
16185 XMenu structure.
16186 (XMenuActivate): New argument help_callback. If the value of
16187 menu_help_message has changed since the last time, display the
16188 menu help message text while waiting for the mouse to move. Clear
16189 the echo area before exiting.
16190 (XMenuDestroy): Free the help_text member.
16191
ffe0bcd1
GM
161922000-01-27 Gerd Moellmann <gerd@gnu.org>
16193
16194 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
16195 XMenuAddSelection. Pass help callback to XMenuActivate.
16196 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
16197
50dbd23f
EZ
161982000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
16199
16200 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
16201 and EMACS_SET_USECS.
16202
f5941bf8
GM
162032000-01-26 Dave Love <fx@gnu.org>
16204
6c67ddee
DL
16205 * editfns.c (Fchar_after, Fchar_before): Doc fix.
16206
f5941bf8
GM
16207 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
16208 an error may be signalled.
16209
9e49c990
GM
162102000-01-26 Gerd Moellmann <gerd@gnu.org>
16211
fc3cb460
GM
16212 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
16213 LD_SWITCH_SYSTEM inherited from irix5-0.h.
16214
9e49c990
GM
16215 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
16216
d0c037d8
GM
162172000-01-25 Gerd Moellmann <gerd@gnu.org>
16218
16219 * charset.c (Fstring): If there is a multibyte char among
16220 the args, always return a multibyte string.
16221
e12489f9
GM
162222000-01-25 Gerd Moellmann <gerd@gnu.org>
16223
16224 * sysdep.c (sys_select): Turn atimers off and on instead of
16225 recording and restoring old alarm handler
16226
16227 * process.c (toplevel): Include atimer.h.
16228 (create_process_1): Rewritten.
16229 (create_process): Use atimers instead of alarm.
16230 (wait_reading_process_input) [hpux]: Turn atimers off instead
16231 of turning off SIGALRM.
16232 (wait_reading_process_input): Turn off atimers instead off
16233 calling stop_polling.
16234
16235 * emacs.c (main): Call init_atimer.
16236
16237 * keyboard.c (toplevel): Include systime.h and atimer.h.
16238 (polling_for_input): Removed because unused.
16239 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
16240 (poll_timer): New variable.
16241 (poll_for_input, poll_for_input_1): New functions.
16242 (start_polling, stop_polling): Rewritten.
16243
16244 * keyboard.h (polling_for_input): Removed.
427ec082 16245
e12489f9
GM
16246 * atimer.h, atimer.c: New files.
16247
16248 * Makefile.in (obj): Add atimer.o.
16249 (atimer.o): New target.
16250
16251 * blockinput.h (pending_atimers): Add extern declaration.
16252 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
16253
16254 * lisp.h (popup_activated_flag): Add extern declaration.
16255
16256 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 16257 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
16258 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
16259
16260 * xterm.c (toplevel): Include atimer.h.
16261 (toolkit_scroll_bar_interaction): New variable.
16262 (Fxt_process_timeouts): Removed.
16263 (x_process_timeouts): New function.
16264 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
16265 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
16266 (x_make_frame_visible): Call poll_for_input_1 instead of
16267 input_poll_signal. Don't call alarm.
16268 (x_initialize): Install timer calling x_process_timeouts.
427ec082 16269
1e5279b9
DL
162702000-01-24 Dave Love <fx@gnu.org>
16271
6c67ddee 16272 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
16273 Don't use -cckr -- apparently not now necessary.
16274
edf6aeb8
EZ
162752000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
16276
16277 * msdos.c (IT_menu_display): Truncate long menu lines at the right
16278 screen boundary.
16279
9badad41
JR
162802000-01-23 Jason Rumney <jasonr@gnu.org>
16281
16282 * w32fns.c (w32_defined_color): Apply gamma correction before
16283 trying to map to the palette.
16284 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
16285 to w32_clear_rect.
16286
16287 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
16288 here. Callers changed to always pass real device context.
16289 (w32_draw_bitmap): Likewise.
16290 (w32_get_glyph_overhangs): Likewise.
52283633 16291 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
16292 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
16293 pfnSetScrollInfo and SetScrollRange.
16294 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
16295 back into MULE characters after decoding them.
16296 (x_get_glyph_face_and_encoding): Likewise.
16297 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
16298 GetCharABCWidthsW fails, since this is defined on Windows 9x.
16299 (x_produce_glyphs): Calculate per char metrics for a character
16300 that we know exists in default font when font_not_found_p is true.
16301
63bd786b
JR
163022000-01-22 Jason Rumney <jasonr@gnu.org>
16303
16304 * makefile.nt (intervals.obj, composite.obj): New modules.
16305 (composite.h): Added as dependency where appropriate.
16306
16307 * w32gui.h (XGCValue): New struct for emulating X GCs.
16308
16309 * w32term.h (XCharStruct): New struct for emulating X.
16310
16311 * w32console.c (turn_on_face, turn_off_face): New functions.
16312 (change_line_highlight): New prototype for new redisplay.
16313 (write_glyphs): Support multibyte text. Support faces.
16314
52283633 16315 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
16316
16317 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
16318 throughout. struct frame * in place of FRAME_PTR.
16319 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 16320 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
16321 (w32_get_arg): Renamed from x_get_arg.
16322 (Fx_file_dialog): New function.
16323 (w32_list_fonts): Check cache before asking system.
16324 (Vw32_enable_synthesized_fonts): New variable.
16325 (Vw32_enable_italics): Obsolete, removed.
16326
16327 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16328 Use SELECTED_FRAME macro.
16329
16330 * w32menu.c: Add skeleton support for help strings on menus.
16331 (add_menu_item): Native checkbox and radio support added, but not
16332 yet enabled due to bugs.
16333 (push_menu_item): Add parameters type, selection and help.
16334 Callers updated.
16335 Formatting changes to reduce unnecessary diffs with xmenu.c.
16336
16337 * w32select.c (Fw32_set_clipboard_data): Update call to
16338 find_charset_in_str.
16339
16340 * w32term.c: Complete rewrite for new redisplay based on new
16341 xterm.c with necessary sections merged back in from old w32term.c.
16342
6ffd3cf7 163432000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
16344
16345 * data.c (set_internal): Further fix in same criterion.
16346
6ffd3cf7 163472000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
16348
16349 * data.c (set_internal): Fix the criteria for whether
16350 to swap out the old cached binding.
16351
60af03f1
DL
163522000-01-19 Dave Love <fx@gnu.org>
16353
16354 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
16355
f9be074f
KH
163562000-01-18 Kenichi Handa <handa@etl.go.jp>
16357
16358 * regex.c (re_compile_fastmap): While checking a range table for
16359 `charset', skip flag bits for a character class correctly.
16360
52b8dbf9
GM
163612000-01-17 Gerd Moellmann <gerd@gnu.org>
16362
d36100c9
GM
16363 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
16364
52283633 16365 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
16366
16367 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 16368 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
16369
16370 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
16371 MENU_ITEMS_ITEM_.*.
16372 (MENU_ITEMS_ITEM_HELP): New enumerator.
16373 (push_menu_item): Add parameter HELP. Record help in menu_items.
16374 (single_menu_item, single_submenu, list_of_items): Call
16375 push_menu_item with new parameter.
16376 (single_submenu): Set help string in widget value.
16377 (menu_highlight_callback): New function.
16378 (set_frame_menubar): Call lw_create_widget with new
16379 parameter list.
16380 (xmenu_show, xdialog_show): Ditto.
16381
3139018f
GM
163822000-01-13 Gerd Moellmann <gerd@gnu.org>
16383
16384 * sound.c (Fplay_sound): Improve doc string.
16385
83c8f461
RS
163862000-01-11 Richard M. Stallman <rms@gnu.org>
16387
16388 * lisp.h (set_internal): Enter the new arg.
16389
16390 * eval.c (specbind): Record buffer-local variables specially,
16391 indicating which buffer's binding was saved.
16392 (unbind_to): Restore buffer-local variables specially
16393 in the proper buffer.
16394
16395 * data.c (set_internal): New arg BUF.
427ec082 16396
83c8f461
RS
16397 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
16398 * data.c (Fset): Pass new arg to set_internal.
16399 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 16400
1fab1775
GM
164012000-01-11 Gerd Moellmann <gerd@gnu.org>
16402
52283633 16403 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 16404
83c8f461 164052000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
16406
16407 * minibuf.c (Ftry_completion): Doc fix.
16408
7a85e4df
GM
164092000-01-11 Gerd Moellmann <gerd@gnu.org>
16410
16411 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
16412 vector, too.
16413
a970dae4
AS
164142000-01-11 Andreas Schwab <schwab@suse.de>
16415
16416 * coding.c (code_convert_region): Initialize total_skip.
16417
c65d14ee
DL
164182000-01-08 Dave Love <fx@gnu.org>
16419
16420 * eval.c (Fuser_variable_p): Check customizability too.
16421
834938d2
GM
164222000-01-07 Gerd Moellmann <gerd@gnu.org>
16423
16424 * minibuf.c (Fcompleting_read): Doc fix.
16425
e0303cd6
GM
164262000-01-05 Gerd Moellmann <gerd@gnu.org>
16427
8a26744b
GM
16428 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
16429 -L /usr/local/lib.
16430
e0303cd6
GM
16431 * xfns.c (x_create_im): New function to set IM and IC of a frame.
16432 Check that input style is supported before trying to create an
16433 IC for it.
16434 (x_window): Call x_create_im.
427ec082 16435
2e471eb5
GM
164362000-01-04 Gerd Moellmann <gerd@gnu.org>
16437
560a7bd2
GM
16438 * xfns.c (current_gif_memory_src): New variable.
16439 (gif_load): Record the address of the current memory source
16440 in current_gif_memory_src.
16441 (gif_read_from_memory): Use current_gif_memory_src.
16442
f9ee84a3
GM
16443 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
16444 macros statement form.
16445
d1299cde
GM
16446 * sound.c (struct sound): Renamed from struct sound_file.
16447 (struct sound): Add members `data' and `header_size'.
16448 (enum sound_attr): Add SOUND_DATA.
16449 (current_sound, current_sound_device): Variables renamed from
16450 sound_file and sound_device.
16451 (parse_sound): Parse :data.
16452 (parse_sound): Handle sound data in strings.
16453 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 16454 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
16455 needed header size.
16456 (wav_play, au_play): Play sounds from string data.
16457
2e471eb5
GM
16458 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
16459
16460 * lisp.h: Add prototype for allocate_string_data.
16461
52283633 16462 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
16463
16464 * alloc.c (mark_buffer): Remove code in #if 0.
16465 (gc_sweep): Ditto.
16466 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
16467 (strings_consed): New variable.
16468 (allocate_string): Set it.
16469 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
16470 (Fmemory_use_counts): Return strings_consed. Use Flist.
16471
16472 * alloc.c: General cleanup in comments etc. Remove conditional
16473 compilation for `standalone'.
16474
16475 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
16476
16477 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
16478 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
16479 (DONT_COPY_FLAG): Removed.
16480 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
16481 (struct sdata, struct sblock): New
16482 (struct string_block): Rewritten.
16483 (STRINGS_IN_STRING_BLOCK): New macro.
16484 (oldest_sblock, current_sblock, total_strings, total_free_strings)
16485 (large_sblocks, string_blocks, string_free_list): New variables.
16486 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
16487 (init_strings): Rewritten.
16488 (allocate_string, allocate_string_data, compact_small_strings)
16489 (free_large_strings, sweep_strings): New functions.
16490 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
16491 (struct string_block_head, current_string_block)
16492 (first_string_block, large_string_blocks, STRING_FULLSIZE)
16493 (STRING_PAD): Removed.
16494 (make_uninit_multibyte_string, make_pure_string): Rewritten.
16495 (Fgarbage_collect): Don't set mark bit in large strings.
16496 (mark_object): Mark strings differently. Mark symbol names
16497 differently.
16498 (survives_gc_p): Test marked strings differently.
427ec082 16499 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
16500 symbol names.
16501 (compact_strings): Removed.
16502
42608ba8
EZ
165032000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
16504
16505 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
16506 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
16507
e0a09e1a
KH
165082000-01-04 Kenichi Handa <handa@etl.go.jp>
16509
dd9f0750 16510 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 16511 in a non-empty buffer.
dd9f0750 16512
3c0f3b15 16513 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 16514
44cd3ae5
GM
165152000-01-03 Gerd Moellmann <gerd@gnu.org>
16516
16517 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
16518 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
16519
16520 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
16521
c182a70f
EZ
165222000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16523
16524 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
16525 need to test for MSDOS frames.
16526
24480d5b
EZ
165272000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16528
16529 * dosfns.c (unspecified_colors): Remove.
16530 (msdos_stdcolor_idx): Use global variables unspecified_fg and
16531 unspecified_bg.
16532 (msdos_stdcolor_name): Return strings for unspecified fore- and
16533 back-ground colors.
16534
16535 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 16536 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
16537 (tty_color_name): Return Lisp strings for unspecified fore- and
16538 back-ground colors.
16539 (Finternal_set_lisp_face_attribute): Remove the special treatment
16540 for Qunspecified_{f,b}g.
52283633 16541 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 16542
047f434a
GM
165432000-01-03 Gerd Moellmann <gerd@gnu.org>
16544
16545 * xdisp.c (reseat_at_next_visible_line_start): Position before
16546 newline only if ending up on a newline.
16547 (next_element_from_ellipsis): Return success. Handle case of
52283633 16548 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
16549 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
16550 returns 0.
16551
d684c676
EZ
165522000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16553
16554 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
16555 (Fcolor_supported_p): Renamed from face-color-supported-p.
16556
5fe1d139
EZ
165572000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16558
16559 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
16560 list of colors renamed to tty-defined-color-alist.
16561 (tty_color_name): Pass the frame to tty-color-by-index.
16562 (realize_tty_face): tty-color-alist is now a function which
16563 accepts the frame as argument.
16564
52283633 16565 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 16566
816be8b8
EZ
165672000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16568
16569 * term.c (insert_glyphs): Pass glyph, not &glyph, to
16570 encode_terminal_code.
16571
b635321e
EZ
165722000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16573
16574 * dispnew.c (mode_line_string): Support termcap frames as well.
16575
9b784e96
GM
165762000-01-01 Gerd Moellmann <gerd@gnu.org>
16577
27189709
GM
16578 * syntax.c (Fforward_word): Undo previous change.
16579
16580 * editfns.c (Fconstrain_to_field): Don't constrain if
16581 inhibit-field-text-motion is non-nil.
16582 (Fline_beginning_position): Undo previous change.
16583 (Fline_end_position): Ditto.
16584
16585 * syntax.c (Fforward_word): Notice field boundaries only if
16586 inhibit-field-text-motion is nil.
16587
16588 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
16589
16590 * editfns.c (Vinhibit_field_text_motion): New variable.
16591 (inhibit-field-text-motion): New DEFVAR_LISP.
16592 (Fline_beginning_position, Fline_end_position): Notice field
16593 boundaries only if inhibit-field-text-motion is nil.
16594
45158a91
GM
16595 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
16596 All calls adjusted.
16597 (x_build_heuristic_mask): Likewise.
16598 (xbm_load_image_from_file): Change error output.
16599 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
16600 (gif_load, gs_load, x_kill_gs_process): Ditto.
16601
9b784e96
GM
16602 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
16603 color indices when accessing raster pixels.
63cec32f
GM
16604 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
16605 one of :file or :data.
16606 (enum pbm_keyword_index): Add PBM_DATA.
16607 (pbm_format): Add :data.
16608 (pbm_image_p): Allow either :file or :data.
16609 (pbm_read_file): New function.
16610 (pbm_scan_number): Rewritten to read from string.
16611 (pbm_load): Support :data.
9b784e96 16612
2cb085db 16613See ChangeLog.8 for earlier changes.
6922b018
KH
16614
16615;; Local Variables:
49b3bd82 16616;; coding: iso-2022-7bit
6922b018 16617;; End:
2a34a036
GM
16618
16619 Copyright (C) 2001 Free Software Foundation, Inc.
16620 Copying and distribution of this file, with or without modification,
16621 are permitted provided the copyright notice and this notice are preserved.