(encode_coding_object): Give correct arguments ot
[bpt/emacs.git] / src / ChangeLog
1 2002-05-14 Kenichi Handa <handa@etl.go.jp>
2
3 * xfns.c (x_encode_text): Allocate coding.destination here, and
4 call encode_coding_object with dst_object Qnil.
5
6 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
7 multibyte form correctly.
8
9 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
10 against Vfont_encoding_alist.
11
12 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13 handling of charset list.
14 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
15 (decode_coding_object): Move point to coding->dst_pos before
16 calling post-read-conversion function.
17 (encode_coding_object): Give correct arguments ot
18 pre-write-conversion. Ignore the return value of
19 pre-write-conversion function. Pay attention for the case that
20 pre-write-conversion change the current buffer. If dst_object is
21 Qt, even if coding->src_bytes is zero, allocate at least one byte
22 to coding->destination.
23
24 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
25
26 * charset.c (Fmake_char): Make it more backward compatible.
27 (Fmap_charset_chars): Fix docstring.
28
29 2002-05-13 Dave Love <fx@gnu.org>
30
31 * coding.c: Doc fixes.
32 (Fdefine_coding_system_alias): Use names, not symbols, in
33 coding-system-alist.
34
35 2002-05-13 Kenichi Handa <handa@etl.go.jp>
36
37 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
38 of calling free_realized_face.
39
40 2002-05-10 Yong Lu <lyongu@asia-infonet.com>
41
42 * charset.c (load_charset_map): Fix previous change.
43 (read_hex): Don't treat SPC as a comment starter.
44 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
45 -1.
46 (Fdecode_char): Fix typo.
47
48 2002-05-10 Kenichi Handa <handa@etl.go.jp>
49
50 * charset.h (struct charset): New member `code_space_mask'.
51
52 * coding.c (coding_set_source): Delete the local variable
53 beg_byte.
54 (encode_coding_charset): Delete the local variable charset.
55 (Fdefine_coding_system_internal): Likewise.
56 (Fdefine_coding_system_internal): Setup
57 attrs[coding_attr_charset_valids] correctly.
58
59 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
60 member to check if CODE is valid or not.
61 (Fdefine_charset_internal): Initialize `code_space_mask' member.
62 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
63 is within the range of charset->min_code and carset->max_code.
64
65 2002-05-09 Dave Love <fx@gnu.org>
66
67 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
68
69 * dispextern.h (generate_ascii_font): Fix return type.
70
71 * xfaces.c (generate_ascii_font): Fix arg declaration.
72
73 * coding.c (coding_inherit_eol_type)
74 (Fset_terminal_coding_system_internal)
75 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
76
77 2002-05-08 Kenichi Handa <handa@etl.go.jp>
78
79 * coding.c (decode_coding_charset, encode_coding_charset): Handle
80 multiple charsets correctly.
81
82 2002-05-07 Kenichi Handa <handa@etl.go.jp>
83
84 * search.c (boyer_moore): Fix handling of mulitbyte character
85 translation.
86
87 * xdisp.c (display_mode_element): When the variable `elt' is
88 changed, update `this' and `lisp_string'.
89
90 2002-05-07 Kenichi Handa <handa@etl.go.jp>
91
92 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
93
94 * callproc.c (Fcall_process): Be sure to give the current buffer
95 to decode_coding_c_string. Update PT and PT_BYTE after the
96 insertion.
97
98 * charset.c (struct charset_map_entries): New struct.
99 (load_charset_map): Renamed from parse_charset_map. New args
100 entries and n_entries. Caller changed.
101 (load_charset_map_from_file): Renamed from load_charset_map.
102 Caller changed. New arg control_flag. Call load_charset_map at
103 the tail.
104 (load_charset_map_from_vector): New function.
105 (Fdefine_charset_internal): Setup charset.compact_codes_p.
106 (encode_char): If the charset is compact, change a character index
107 to a code point.
108
109 * coding.c (coding_alloc_by_making_gap): Check the case that the
110 source and destination are the same correctly.
111 (decode_coding_raw_text): Set coding->consumed_char and
112 coding->consumed to 0.
113 (produce_chars): If coding->chars_at_source is nonzero, update
114 coding->consumed_char and coding->consumed before calling
115 alloc_destination.
116 (Fdefine_coding_system_alias): Register ALIAS in
117 Vcoding_system_alist.
118 (syms_of_coding): Define `no-convesion' coding system at the tail.
119
120 * fileio.c (Finsert_file_contents): Set coding_system instead of
121 val. If the current buffer is multibyte, always call
122 decode_coding_gap.
123
124 * xfaces.c (try_font_list): Give higher priority to fontset's
125 family than face's family.
126
127 2002-04-18 Kenichi Handa <handa@etl.go.jp>
128
129 * callproc.c (Fcall_process): Be sure to give the current buffer
130 to decode_coding_c_string.
131
132 * xfaces.c (try_font_list): Give a family specified in a fontset
133 higher priority than a family specified in a face.
134
135 2002-04-09 Kenichi Handa <handa@etl.go.jp>
136
137 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
138 Fix arguments to insert_from_buffer.
139
140 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
141
142 2002-03-11 Kenichi Handa <handa@etl.go.jp>
143
144 * coding.c (produce_chars): Set the variable `multibytep' correctly.
145 (decode_coding_gap): Set coding->dst_multibyte correctly.
146
147 2002-03-07 Kenichi Handa <handa@etl.go.jp>
148
149 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
150 (decode_coding_utf_16): Fix converting high and low bytes to
151 code-point.
152 (encode_coding_utf_16): Substitute coding->default_char for
153 non-Unicode characters.
154 (decode_coding): Don't call record_insert here.
155 (setup_coding_system): Initialize `surrogate' of
156 coding->spec.utf_16 to 0.
157 (EMIT_ONE_BYTE): Fix for multibyte case.
158
159 * insdel.c (insert_from_gap): Call record_insert.
160
161 2002-03-04 Kenichi Handa <handa@etl.go.jp>
162
163 * casefiddle.c (casify_region): Fix multibyte case.
164
165 * character.c (c_string_width): Add return type `int'.
166 (char_string_with_unification): Arg ADVANCED deleted.
167
168 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
169 (CHAR_STRING): Adjusted for the change of
170 char_string_with_unification.
171 (CHAR_STRING_ADVANCE): Make it do-while statement.
172
173 * chartab.c (sub_char_table_set_range): Optimized for the case
174 DEPTH == 3. Add workaround code for a GCC optimization bug.
175
176 * charset.c (parse_charset_map): Remove an unused variable.
177
178 * coding.c: Delete unused variables.
179
180 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
181 earlier. If inserted is zero and the coding system doesn't
182 require flushing, don't call decode_coding_gap.
183
184 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
185
186 2002-03-01 Kenichi Handa <handa@etl.go.jp>
187
188 The following changes are for using Unicode as an internal
189 character model, and use UTF-8 format for buffer/string
190 representation.
191
192 * .gdbinit (xchartable): Adjusted for the change of char table
193 structure.
194 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
195
196 * Makefile.in (obj): Add character.o and chartab.o.
197 (lisp, shortlisp): Remove utf-8.elc:
198 (*.o): For many files, change dependency on charset.h to
199 character.h, and add dependency on character.h.
200 (character.o, chartab.o): New targets.
201
202 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
203 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
204 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
205 of "charset.h".
206
207 * dired.c, filelock.c: Include "character.h".
208
209 * alloc.c: Include "character.h" instead of "charset.h".
210 (Fmake_char_table): Moved to chartab.c.
211 (make_sub_char_table): Likewise.
212 (syms_of_alloc): Remove defsubr for Smake_char_table.
213
214 * buffer.c: Include "character.h" instead of "charset.h", don't
215 include "coding.h".
216 (Fset_buffer_multibyte): Adjuted for UTF-8.
217
218 * buffer.h: EXFUN Fbuffer_live_p.
219
220 * callproc.c: Include "character.h" instead of "charset.h".
221 (Fcall_process): Big change for the new code-conversion APIs.
222
223 * casetab.c: Include "character.h" instead of "charset.h".
224 (set_canon, set_identity, shuffle): Adjusted for the new
225 map_char_table spec.
226 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
227 accessing the char table structure.
228
229 * chartab.c: New file that implements char table.
230
231 * category.c: Include "character.h".
232 (copy_category_entry): New function.
233 (copy_category_table): Call map_char_table and copy_category_entry.
234 (Fmake_category_table): Initialize all top-vel slots.
235 (char_category_set): New function.
236 (modify_lower_category_set): Deleted.
237 (Fmodify_category_entry): Call char_table_ref_and_range.
238
239 * category.h (CATEGORY_SET): Just call char_category_set.
240
241 * ccl.c: Include "character.h".
242 (Qccl, Qcclp): New variables.
243 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
244 it's less than 256.
245 (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
246 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
247 and DST type.
248 (ccl_driver): Types of arguments changed. Code adjusted for that.
249 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
250 ccl_driver.
251 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
252
253 * ccl.h (struct ccl_program): Members eol_type and multibyte
254 deleted. New members src_multibyte, dst_multibyte, consumed, and
255 produced.
256 (struct ccl_spec): Members decoder and encoder deleted. New
257 memeber ccl.
258 (CODING_SPEC_CCL_PROGRAM): New macro.
259 (ccl_driver): Prototype updated.
260 (Qccl, Qcclp, Fccl_program_p): Extern them.
261 (CHECK_CCL_PROGRAM): New macro.
262
263 * character.c, character.h, chartab.c: New files.
264
265 * charset.c: Mostly re-written. Character and multibyte sequence
266 handling codes are moved to character.c.
267
268 * charset.h: Mostly re-written. Character and multibyte sequence
269 handling codes are moved to character.h.
270
271 * coding.c, coding.h: Mostly re-written.
272
273 * composite.c: Include "character.h" instead of "charset.h".
274 (CHAR_WIDTH): Moved to character.h.
275 (HASH_KEY, HASH_VALUE): Deleted.
276
277 * composite.h (enum composition_method): Order of enumeration
278 symbols changed.
279
280 * data.c: Include "character.h" instead of "charset.h".
281 (Faref): Call CHAR_TABLE_REF for a char table.
282 (Faset): Call CHAR_TABLE_SET for a char table.
283
284 * dispextern.h (free_realized_face, check_face_attribytes,
285 generate_ascii_font): Extern them.
286 (free_realized_multibyte_face): Extern deleted.
287
288 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
289 table structure.
290
291 * editfns.c: Include "character.h" instead of "charset.h".
292 (Fchar_to_string): Always call CHAR_STRING.
293
294 * emacs.c (main): Call init_charset_once, init_charset,
295 syms_of_chartab, and syms_of_character.
296
297 * fileio.c: Include "character.h" instead of "charset.h".
298 (Finsert_file_contents): Big change for the new code-conversion
299 API.
300 (choose_write_coding_system): Likewise.
301 (Fwrite_region): Likewise.
302 (build_annotations_2): Deleted.
303 (e_write): Big change for the new code-conversion API.
304
305 * fns.c: Include "character.h" instead of "charset.h".
306 (copy_sub_char_table): Moved to chartab.c.
307 (Fcopy_sequence): Call copy_char_table for a char table.
308 (concat): Delete codes calling count_multibyte.
309 (string_char_to_byte): Adjusted for the new multibyte form.
310 (string_byte_to_char): Likewise.
311 (internal_equal): Adjusted for the change of char table structure.
312 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
313 Fchar_table_extra_slot, Fset_char_table_extra_slot,
314 Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
315 char_table_translate, optimize_sub_char_table,
316 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
317 chartab.c.
318 (char_table_ref_and_index): Deleted.
319 (HASH_KEY, HASH_VALUE): Moved to lisp.h.
320 (Fmd5): Call preferred_coding_system instead of accessing
321 Vcoding_category_list. Adjusted for the new code-conversion API.
322 (syms_of_fns): Defsubr for char table related functions moved to
323 chartab.c.
324
325 * fontset.c: Mostly re-written.
326
327 * fontset.h (struct font_info): Type of the member encoding_type
328 changed.
329 (enum FONT_SPEC_INDEX): New enum.
330 (fontset_font_pattern, fs_load_font): Prototype updated.
331 (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
332
333 * indent.c: Include "character.h" instead of "charset.h".
334 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
335 WIDTH_BY_CHAR_HEAD.
336
337 * insdel.c: Include "character.h" instead of "charset.h".
338 (copy_text): Don't refer to Vnonascii_translation_table.
339 (insert_from_gap): New function.
340
341 * keyboard.c: Include "character.h" instead of "charset.h".
342 (command_loop_1): Never call direct_output_forward_char before
343 a non-ASCII character.
344 (read_char): If Vkeyboard_translate_table is a char table, always
345 translated a character.
346
347 * keymap.c: Include "character.h".
348 (store_in_keymap): Handle the case that IDX is a cons.
349 (Fdefine_key): Handle the case that KEY is a cons and the car part
350 is also a cons (range).
351 (push_key_description): Adjusted for the new character code.
352 (describe_vector): Call describe_char_table for a char table.
353 (describe_char_table): New function.
354
355 * keymap.h (describe_char_table): Extern it.
356
357 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
358 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
359 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
360 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
361 Deleted.
362 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
363 structure.
364 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
365 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
366 CHARTAB_SIZE_BITS_3): New macros.
367 (chartab_size): Extern it.
368 (struct Lisp_Char_Table): Re-designed.
369 (struct Lisp_Sub_Char_Table): New structure.
370 (HASH_KEY, HASH_VALUE): Moved from fns.c.
371 (CHARACTERBITS): Defined as 22.
372 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
373 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
374 (GC_SUB_CHAR_TABLE_P): New macro.
375 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
376 (code_convert_string_norecord): Extern deleted.
377 (init_character_once, syms_of_character, init_charset,
378 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
379
380 * lread.c: Include "character.h".
381 (read_multibyte): New arg NBYTES.
382 (read_escape): The meaning of returned *BYTEREP changed.
383 (to_multibyte): Deleted.
384 (read1): Adjuted the handling of char table and string.
385
386 * print.c: Include "character.h" instead of "charset.h".
387 (print_string): Convert 8-bit raw bytes to octal form by
388 string_escape_byte8.
389 (print_object): Adjusted for the new multibyte form. Print 8-bit
390 raw bytes always in octal form. Handle sub char table correctly.
391
392 * process.c: Include "character.h" instead of "charset.h".
393 (read_process_output): Adjusted for the new code-conversion API.
394 (send_process): Likewise.
395
396 * puresize.h (BASE_PURESIZE): Increased.
397
398 * regex.c: Include "character.h" instead of "charset.h".
399 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
400 (regex_compile): Accept a range whose starting and ending
401 character have different leading bytes.
402 (analyse_first): Adjusted for the above change.
403
404 * search.c: Include "character.h" instead of "charset.h".
405 (search_buffer, boyer_moore): Adjusted for the new multibyte form.
406 (Freplace_match): Adjusted for the change of
407 multibyte_char_to_unibyte.
408
409 * syntax.c: Include "character.h" instead of "charset.h".
410 (syntax_parent_lookup): Deleted.
411 (Fmodify_syntax_entry): Accept a cons as CHAR.
412 (skip_chars): Adjusted for the new multibyte form.
413 (init_syntax_once): Call char_table_set_range instead of directly
414 accessing the structure of a char table.
415
416 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
417 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
418 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
419 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
420
421 * term.c: Include "buffer.h" and "character.h".
422 (encode_terminal_code): Adjusted for the new code-conversion API.
423 (write_glyphs): Likewise.
424 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
425
426 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
427
428 * xdisp.c: Include "character.h".
429 (get_next_display_element): Adjusted for the new multibyte form.
430 (disp_char_vector): Adjusted for the new char table structure.
431 (decode_mode_spec_coding): Adjusted for the new structure of
432 coding system.
433 (decode_mode_spec): Adjusted for the new code-conversion API.
434
435 * xfaces.c: Include "character.h" instead of "charset.h".
436 (load_face_font): Adjusted for the change of choose_face_font and
437 FS_LOAD_FONT.
438 (generate_ascii_font): New function.
439 (set_lface_from_font_name): Adjusted for the change of
440 FS_LOAD_FONT.
441 (set_font_frame_param): Adjusted for the change of
442 choose_face_font.
443 (free_realized_face): Make it public.
444 (free_realized_faces_for_fontset): Renamed from
445 free_realized_multibyte_face. Free also faces realized for ASCII.
446 (choose_face_font): Argments changed. Adjusted for the change of
447 fontset_font_pattern and FS_LOAD_FONT.
448
449 * xfns.c: Include "character.h".
450 (x_encode_text): Adjusted for the new code-conversion API.
451
452 * xselect.c: Don't include "charset.h".
453 (selection_data_to_lisp_data): Adjusted for the new code
454 covnersion API.
455
456 * xterm.c: Include "character.h".
457 (x_encode_char): New argument CHARSET. Caller changed.
458 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
459 SPLIT_CHAR.
460 (x_get_glyph_face_and_encoding): Likewise.
461 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
462 CHAR_WIDTH instead of CHARSET_WIDTH.
463 (XTread_socket): Adjusted for the new code-conversion API.
464 (x_new_font): Adjusted for the change of FS_LOAD_FONT.
465 (x_load_font): Adjusted for the change of struct font.
466
467 2002-02-26 Kim F. Storm <storm@cua.dk>
468
469 The following changes add a new Vminibuf_selected_window variable
470 which is similar to Vminibuf_scroll_window, but which is only set
471 on entry to the minibuffer (from a non-minibuffer window):
472
473 * window.c: (Vminibuf_selected_window): New variable.
474 (struct save_window_data): New member minibuf_selected_window.
475 (Fset_window_configuration): Restore Vminibuf_selected_window.
476 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
477 Set minibuf_scroll_window member to nil if minibuf_level is 0.
478 (compare_window_configurations): Compare minibuf_selected_window.
479
480 * window.h: (Vminibuf_selected_window): Declare extern.
481
482 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
483 entry to minibuffer or on entry from a non-minibuffer window.
484
485 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
486 Vminibuf_selected_window instead of Vminibuf_scroll_window.
487
488 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
489 instead of Vminibuf_scroll_window when deciding in which window
490 the region should be highlighted. Consequently, the region remains
491 highlighteded even when a completion buffer is also displayed.
492
493 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
494
495 * fileio.c (Fsubstitute_in_file_name): Fix the change from
496 2002-02-08.
497
498 * xselect.c (Qcompound_text_with_extensions): Renamed from
499 Qcompound_text_no_extensions.
500 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
501
502 2002-02-26 Juanma Barranquero <lektu@terra.es>
503
504 * w32proc.c (syms_of_ntproc): Doc fix.
505
506 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
507
508 * intervals.h: Include "dispextern.h" unconditionally.
509
510 2002-02-24 Jason Rumney <jasonr@gnu.org>
511
512 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
513 and disp-table.elc.
514 (lisp): Add emacs-lisp/backquote.elc.
515
516 2002-02-24 Kim F. Storm <storm@cua.dk>
517
518 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
519 The validation of the event type was too strict as it didn't
520 allow string events; buffer names are used in bindings for
521 menu-bar-select-buffer (see `menu-bar-update-buffers').
522
523 2002-02-23 Kim F. Storm <storm@cua.dk>
524
525 The following changes rework my patch of 2002-02-06 which
526 added command remapping by entering the commands directly into
527 the keymaps. Now, command remapping uses an explicit `remap'
528 prefix in the keymaps, i.e. [remap COMMAND].
529
530 * keymap.c (Qremap, remap_command_vector): New variables.
531 (is_command_symbol): Removed function.
532 (Fdefine_key): No longer accept a symbol for KEY. Added
533 validation of [remap COMMAND] argument for KEY. The DEF is no
534 longer required to be a symbol when remapping a command.
535 (Fremap_command): New function to remap command through keymaps.
536 (Flookup_key): Perform command remapping initiated by
537 Fremap_command directly for speed.
538 (Fkey_binding): Use Fremap_command for command remapping.
539 (where_is_internal): Handle new command remapping representation.
540 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
541 staticpro them. Defsubr Fremap_command.
542
543 * keymap.h (Fremap_command): Declare extern.
544 (is_command_symbol): Remove extern.
545
546 * keyboard.c (command_loop_1): Use Fremap_command for command
547 remapping; now try command remapping for all symbols.
548
549 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
550
551 * coding.h (run_pre_post_conversion_on_str): Add prototype.
552
553 2002-02-23 Jason Rumney <jasonr@gnu.org>
554
555 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
556 on the string before encoding it.
557 (Fw32_get_clipboard_data): Run post-read-conversion on the string
558 after decoding it.
559
560 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
561
562 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
563
564 * w32term.c (enter_timestamp): Remove unused static variable to
565 prevent warning.
566
567 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
568
569 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
570
571 * w16select.c (Fw16_get_clipboard_data): Fix last change.
572
573 * xselect.c (selection_data_to_lisp_data): Fix last change.
574
575 2002-02-22 Jason Rumney <jasonr@gnu.org>
576
577 * w32term.h (struct w32_output): New member menu_command_in_progress.
578
579 * w32menu.c (menubar_selection_callback): Free the menu and
580 clear the menu_command_in_progress flag.
581
582 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
583 (menu_free_timer): New variable.
584 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
585 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
586 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
587 menu command is in progress.
588 <WM_COMMAND>: Set the menu_command_in_progress flag. Kill
589 any menu_free_timer that is running.
590
591 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
592 Call ExtTextOutA rather than ExtTextOut.
593
594 2002-02-22 Eli Zaretskii <eliz@gnu.org>
595
596 * puresize.h (BASE_PURESIZE): Increase to 755000.
597
598 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
599
600 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
601 on the string before encoding it.
602 (Fw16_get_clipboard_data): Run post-read-conversion on the string
603 after decoding it.
604
605 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
606
607 Support for ICCCM Extended Segments in X selections:
608
609 * xselect.c <Qcompound_text_no_extensions>: New variable.
610 (syms_of_xselect): Intern and staticpro it.
611 (selection_data_to_lisp_data): Run post-read-conversion on decoded
612 selection text.
613 (lisp_data_to_selection_data): If next-selection-coding-system is
614 compound-text-no-extensions, set the type of selection to be
615 compound-text.
616
617 * xterm.h (x_encode_text): Update prototype.
618
619 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
620 callers changed. If SELECTIONP is non-zero, run the
621 pre-write-conversion function before encoding the selection text.
622
623 2002-02-21 Kim F. Storm <storm@cua.dk>
624
625 * frame.c (syms_of_frame): Change mouse-highlight default to t.
626
627 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Corrected
628 composing of language-change event.
629
630 2002-02-20 Kim F. Storm <storm@cua.dk>
631
632 * keyboard.c (menu_bar_items): Don't include keymap or local-map
633 bindings at PT when building menu (the menu is not updated often
634 enough for this to work reliable).
635 (tool_bar_items): Likewise.
636 (current_active_maps): Removed unused (and buggy) function.
637
638 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
639
640 * xfns.c (gif_load): Use correct width and height for GIF images.
641
642 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
643
644 * floatfns.c (Fatan): Accept an optional second arg and call
645 atan2 if passed 2 args.
646
647 2002-02-18 Jason Rumney <jasonr@gnu.org>
648
649 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
650
651 2002-02-17 Jason Rumney <jasonr@gnu.org>
652
653 * w32term.c (x_autoselect_window_p): New variable.
654 (syms_of_w32term): DEFVAR_BOOL and initialize it.
655 (note_mouse_movement): Use it.
656
657 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
658
659 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
660
661 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
662 New variables.
663 (syms_of_w32fns): Intern and staticpro them.
664 (x_frame_parms) <"fullscreen">: New parameter.
665 (x_fullscreen_move, x_set_fullscreen): New functions.
666 (x_set_frame_parameters): Support Qfullscreen.
667 (x_real_positions): Save x/y_pixels_diff frame params.
668 (x_figure_window_size): Support full-screen frames.
669 (Fx_create_frame): Default the fullscreen parameter.
670
671 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
672 (x_fullscreen_adjust): New functions.
673 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
674 fullscreen. Call x_check_fullscreen_move, and set the
675 want_fullscreen member of output_data.w32
676 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
677
678 * w32term.h: New enum for FULLSCREEN_* constants.
679 (struct w32_output): New members want_fullscreen, x_pixels_diff,
680 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
681 (x-fullscreen-adjust): New prototype.
682
683 2002-02-17 Kim F. Storm <storm@cua.dk>
684
685 * frame.c: (Vmouse_highlight): New variable.
686 (syms_of_frame): DEFVAR_LISP it.
687
688 * frame.h: (Vmouse_highlight): Declare extern.
689
690 * xterm.h (struct x_display_info): Add mouse_face_hidden.
691
692 * xterm.c (disable_mouse_highlight): Removed variable.
693 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
694 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
695 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
696 and on after keyboard input.
697 (x_term_init): Initialize mouse_face_hidden.
698
699 * msdos.h (struct display_info): Add mouse_face_hidden.
700
701 * msdos.c (disable_mouse_highlight): Removed variable.
702 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
703 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
704 (internal_terminal_init): Initialize mouse_face_hidden.
705 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
706 and on after keyboard input.
707
708 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
709
710 * w32term.c (disable_mouse_highlight): Removed variable.
711 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
712 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
713 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
714 and on after keyboard input.
715 (w32_initialize_display_info): Initialize mouse_face_hidden.
716
717 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
718
719 * msdos.c (last_mouse_window): New variable.
720 (dos_rawgetc): Fix last change--if the mouse is in the same window
721 as recorded in last_mouse_window, don't select this window.
722
723 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not
724 cus-start.el.
725
726 * msdos.c (x_autoselect_window_p): New variable.
727 (syms_of_msdos): Defvar it.
728 (dos_rawgetc): If x_autoselect_window_p is set, select the window
729 in which the last mouse movement occured, unless it is already
730 selected.
731
732 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step): New
733 variables.
734 (syms_of_xdisp): DEVFAR them.
735 (hscroll_window_tree): Use automatic_hscroll_margin and
736 Vautomatic_hscroll_step to compute the amount of window scrolling.
737
738 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
739
740 * xterm.c (x-autoselect-window): New variable.
741 (note_mouse_movement): Use it.
742
743 * keyboard.c: Do not include "systime.h" twice.
744
745 2002-02-15 Andreas Schwab <schwab@suse.de>
746
747 * puresize.h (BASE_PURESIZE): Increase to 9/5.
748
749 * alloc.c (NSTATICS): Increase to 1280.
750
751 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
752
753 * alloc.c (NSTATICS): Bump to 1026.
754
755 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
756 (Vx_super_keysym): New variables.
757 (syms_of_xterm): DEFVAR_LISP them.
758 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
759 variables to determine which keys to use for the various
760 modifiers.
761
762 2002-02-13 Kim F. Storm <storm@cua.dk>
763
764 * window.c: (Vmode_line_in_non_selected_windows): Removed.
765 (mode_line_in_non_selected_windows): New variable.
766 (syms_of_window): DEFVAR_BOOL it.
767
768 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Use
769 mode_line_in_non_selected_windows.
770 (mode_line_in_non_selected_windows): Declare extern.
771 (Vmode_line_in_non_selected_windows): Removed extern.
772
773 2002-02-13 Richard M. Stallman <rms@gnu.org>
774
775 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
776 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
777 (Fclear_this_command_keys): Doc fixes.
778
779 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
780 (update_face_from_frame_parameter): Increment face_change_count
781 and windows_or_buffers_changed to force redisplay using changed faces.
782
783 * xdisp.c (QCpropertize): New variable.
784 (mode_line_proptrans_alist): New variable.
785 (display_mode_element): New arg PROPS; all calls changed.
786 Implement this, for strings.
787 Handle literal output of strings by sharing the
788 main-line code for strings, using local var `literal'.
789 Handle :propertize feature.
790 (syms_of_xdisp): Initialze and staticpro QCpropertize and
791 mode_line_proptrans_alist.
792
793 2002-02-11 Kim F. Storm <storm@cua.dk>
794
795 * window.c: (Vmode_line_in_non_selected_windows): New variable.
796 (syms_of_window): DEFVAR_LISP it.
797
798 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
799 (CURRENT_MODE_LINE_FACE_ID): Use it.
800 (Vmode_line_in_non_selected_windows): Declare extern.
801
802 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
803 to get mode line face.
804
805 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
806
807 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
808 variables; cus-start.el doesn't need them anymore.
809
810 2002-02-09 Kim F. Storm <storm@cua.dk>
811
812 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
813 reduction. This fixes a display problem where stray newlines were
814 inserted in the window (corrected by C-l). Clarified code (IMHO).
815
816 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
817
818 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
819
820 * xdisp.c (display_mode_lines): Fix last change.
821
822 2002-02-09 Jason Rumney <jasonr@gnu.org>
823
824 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
825 match each other.
826 (w32_load_system_font): Prevent Cleartype fonts from loading.
827 (Fx_show_tip): Ensure tip frames are above other topmost windows.
828
829 2002-02-09 Kim F. Storm <storm@cua.dk>
830
831 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
832 (CURRENT_MODE_LINE_HEIGHT): Use it.
833 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
834
835 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
836 (pos_visible_p, handle_face_prop): Likewise.
837 (display_mode_lines): Likewise, but for the real selected window.
838 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
839
840 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
841 in non-selected windows.
842 (realize_basic_faces): Realize it.
843 (syms_of_term): Intern and staticpro it.
844
845 2002-02-08 Kim F. Storm <storm@cua.dk>
846
847 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
848 Changed mail addresses to emacs-devel@gnu.org.
849
850 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
851
852 * fileio.c (Fsubstitute_in_file_name): If the file name includes
853 ~user, and there's no such user, don't discard everything before
854 ~user.
855
856 * floatfns.c (Fround): Doc fix.
857
858 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
859
860 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
861
862 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
863
864 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
865
866 2002-02-07 Kim F. Storm <storm@cua.dk>
867
868 * keymap.c (where_is_internal): Only check whether definition is
869 remapped if it fulfills is_command_symbol.
870
871 2002-02-07 Andreas Schwab <schwab@suse.de>
872
873 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
874
875 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
876
877 2002-02-06 Kim F. Storm <storm@cua.dk>
878
879 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
880 defining command remapping. Doc updated.
881 (Flookup_key): Remap command through keymap if KEY is a symbol.
882 (is_command_symbol): New function.
883 (Fkey_binding): Use it. New optional argument NO-REMAP.
884 Doc updated. Callers changed. Perform command remapping via
885 recursive call unless that arg is non-nil.
886 (where_is_internal): New argument no_remap. Callers changed.
887 Call recursively to find original key bindings for a remapped
888 comand unless that arg is non-nil.
889 (Fwhere_is_internal): New optional argument NO-REMAP.
890 Doc updated. Callers changed. Pass arg to where_is_internal.
891
892 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
893 (is_command_symbol): Added prototype.
894
895 * keyboard.c (Vthis_original_command): New variable.
896 (syms_of_keyboard): DEFVAR_LISP it.
897 (command_loop_1): Set it, and perform command remapping.
898
899 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
900
901 * keyboard.c (recursive_edit_1): Call cancel_hourglass
902 unconditionally.
903
904 2002-02-06 Jason Rumney <jasonr@gnu.org>
905
906 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
907
908 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
909
910 * charset.c (get_charset_id): Use if-else instead of ?:.
911
912 2002-02-06 Richard M. Stallman <rms@gnu.org>
913
914 * filelock.c (S_ISLNK): Define if not defined.
915
916 2002-02-03 Richard M. Stallman <rms@gnu.org>
917
918 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
919
920 * lread.c (read1): Redesign strategy for force_multibyte and
921 force_singlebyte. Now is_multibyte records whether read_buffer
922 is multibyte. Encountering any multibyte character makes it so.
923
924 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
925
926 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
927 with the same sequence, map that sequence to f10 rather than f0.
928
929 2002-02-03 Andreas Schwab <schwab@suse.de>
930
931 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
932 latter never being defined on GNU/Linux.
933
934 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
935
936 * xfaces.c (realize_default_face): Don't set the weight and slant
937 of the default face to Qnormal, unless these attributes are
938 unspecified.
939
940 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
941
942 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
943 Call cancel_hourglass unconditionally.
944
945 * eval.c (Fsignal): Remove duplicated declaration of
946 the variable `display_hourglass_p'.
947
948 2002-01-31 Richard M. Stallman <rms@gnu.org>
949
950 * editfns.c (region_limit): Nicer error message.
951
952 * coding.c (decode_composition_emacs_mule):
953 Give up if NCOMPONENT gets too large to index `component'.
954
955 * callint.c (check_mark): New arg to specify clearer error message.
956 Callers changed.
957
958 2002-01-27 Richard M. Stallman <rms@gnu.org>
959
960 * minibuf.c (Fcompleting_read): Doc fix.
961
962 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
963
964 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
965 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
966 Fix doc-strings.
967
968 2002-01-26 Richard M. Stallman <rms@gnu.org>
969
970 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
971
972 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
973 and scroll_up_aggressively.
974
975 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
976
977 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
978
979 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
980
981 * textprop.c (Fnext_property_change, Fnext_single_property_change)
982 (Fprevious_property_change, Fprevious_single_property_change):
983 Stay within the narrowed-buffer boundaries.
984
985 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
986
987 * term.c (Ftty_display_color_cells): New function.
988 (syms_of_term): Defsubr it.
989 (Ftty_display_color_cells, Ftty_display_color_p): Change the
990 argument name to DISPLAY. Doc fix.
991
992 * dispextern.h: Add prototype for set_tty_color_mode and
993 tty_setup_colors.
994
995 2002-01-24 Jason Rumney <jasonr@gnu.org>
996
997 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
998 If region left to draw is not what was expected, mark the frame as
999 garbaged.
1000
1001 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
1002 Combine the regions returned by BeginPaint and GetUpdateRect.
1003
1004 2002-01-23 Jason Rumney <jasonr@gnu.org>
1005
1006 * w32term.c (x_update_window_begin): Only hide caret if
1007 w32_use_visible_system_caret is set.
1008 (x_update_window_end): Only show caret if
1009 w32_use_visible_system_caret is set.
1010 (syms_of_w32term): Handle SystemParametersInfo call failing.
1011
1012 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
1013
1014 2002-01-22 Richard M. Stallman <rms@gnu.org>
1015
1016 * unexelf.c (unexec): Define n so as to cause compilation error
1017 for the code where people have often written n instead of nn.
1018
1019 * .gdbinit (hookpost-run): Defined.
1020
1021 2002-01-22 Jan D. <Jan.Djarv@mbox200.swipnet.se>
1022
1023 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
1024
1025 2002-01-21 Jan D. <Jan.Djarv@mbox200.swipnet.se>
1026
1027 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
1028 if fullscreen is being set.
1029
1030 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1031
1032 * minibuf.c (Fminibuffer_contents)
1033 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
1034 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
1035
1036 2002-01-21 Richard M. Stallman <rms@gnu.org>
1037
1038 * window.c (check_frame_size): Fix minimum height calculation.
1039
1040 2002-01-20 Ken Raeburn <raeburn@gnu.org>
1041
1042 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
1043 height before comparison.
1044 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
1045
1046 2002-01-20 Jason Rumney <jasonr@gnu.org>
1047
1048 * w32term.c (w32_system_caret_width): Remove.
1049 (w32_use_visible_system_caret): New user flag.
1050 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
1051 Windows reports a screen reader running.
1052 (x_update_window_begin): Hide the system caret.
1053 (x_update_window_end): Show the system caret.
1054 (x_display_and_set_cursor): Don't draw a cursor when
1055 w32_use_visible_system_caret is set. Do not adjust width.
1056
1057 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
1058 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
1059 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
1060 the user requests it. Use system default width when creating.
1061 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
1062
1063 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
1064 New window messages.
1065
1066 2002-01-20 Richard M. Stallman <rms@gnu.org>
1067
1068 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
1069
1070 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1071
1072 * doprnt.c (doprnt1): Fix typos in error call.
1073
1074 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1075
1076 * unexelf.c (unexec) [__sgi]: Support the .got sections.
1077
1078 2002-01-20 Jason Rumney <jasonr@gnu.org>
1079
1080 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
1081 that Windows returns. If a double check fails, try to guess how
1082 ExtTextOut is going to act.
1083
1084 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
1085 in place of stricmp.
1086 (w32_list_synthesized_fonts): Removed.
1087 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
1088 (struct enumfont_t): New element; list.
1089 (enum_font_cb2): List all style and charset variations of a font.
1090 (Fw32_select_font): New optional argument; include_proportional.
1091 Exclude vertical fonts. Exclude proportional fonts unless
1092 include_proportional is non-nil.
1093 (w32_enable_synthesized_fonts): Change to a boolean.
1094 (Fw32_send_sys_command): Doc fix.
1095
1096 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1097
1098 * dispnew.c (update_frame): Move the variable `tem' to the block
1099 where it is used.
1100
1101 2002-01-19 Jason Rumney <jasonr@gnu.org>
1102
1103 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
1104 call to face-set-after-frame-default.
1105
1106 2002-01-18 Richard M. Stallman <rms@gnu.org>
1107
1108 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
1109 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
1110
1111 2002-01-17 Richard M. Stallman <rms@gnu.org>
1112
1113 * window.c (enlarge_window): When exceeding size of parent,
1114 directly delete all the siblings instead of trying to resize it.
1115
1116 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1117
1118 * term.c (set_tty_color_mode): Remove unused variable `tem'.
1119
1120 2002-01-16 Henrik Enberg <henrik@enberg.org>
1121
1122 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
1123
1124 2002-01-16 Kim F. Storm <storm@cua.dk>
1125
1126 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
1127 is invisible. This can happen if cursor is on top line of a
1128 window, and we switch to a buffer with a header line.
1129
1130 * w32term.c (x_erase_phys_cursor): Ditto.
1131
1132 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1133
1134 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
1135 `dont_resize' only when used.
1136
1137 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
1138
1139 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
1140
1141 * xdisp.c (display_mode_element): When computing charpos, depend
1142 on multibyteness of elt, not the text in field.
1143
1144 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1145
1146 * buffer.c (Fkill_all_local_variables): Increment
1147 `update_mode_lines' only once.
1148
1149 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1150
1151 * lisp.h (adjust_after_replace_noundo)
1152 (Fupdate_coding_systems_internal): Add prototypes.
1153
1154 * sound.c (Fplay_sound): Initialize header_size also for :data case.
1155
1156 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
1157
1158 Support for the --color command-line argument and tty-color-mode
1159 frame parameter:
1160
1161 * term.c (tty_default_color_capabilities, tty_setup_colors)
1162 (set_tty_color_mode): New functions.
1163 (term_init): Call tty_default_color_capabilities.
1164 (Qtty_color_mode_alist): New variable.
1165 (syms_of_term): Intern and staticpro it.
1166
1167 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
1168 frames.
1169 (do_switch_frame): For termcap frames, switch the tty
1170 color mode as specified by the frame's parameters.
1171 (Qtty_color_mode): New variable.
1172 (syms_of_frame): Intern and staticpro it.
1173
1174 * emacs.c (USAGE2): Add the --color option.
1175 (standard_args): Ditto.
1176
1177 2002-01-13 Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
1178
1179 * xterm.h (struct x_output): New members want_fullscreen,
1180 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
1181 y_pixels_outer_diff.
1182 New enum for FULLSCREEN_* constants.
1183 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
1184 is NULL.
1185 (x_fullscreen_adjust): Add prototype.
1186
1187 * emacs.c (USAGE2): Add the new full-screen arguments.
1188 (standard_args): Ditto.
1189
1190 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
1191 New variables.
1192 (syms_of_xfns): Intern and staticpro them.
1193 (x_frame_parms) <"fullscreen">: New parameter.
1194 (x_fullscreen_move, x_set_fullscreen): New functions.
1195 (x_set_frame_parameters): Support for Qfullscreen.
1196 (x_real_positions): More accurate computation of the frame position.
1197 (x_figure_window_size): Support full-screen frames.
1198 (Fx_create_frame): Default the fullscreen parameter.
1199
1200 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
1201 (XTread_socket) <Expose>: Call x_check_fullscreen.
1202 <ConfigureNotify>: Don't resize to fullscreen.
1203 Call x_check_fullscreen_move, and set the want_fullscreen member of
1204 output_data.x.
1205
1206 2002-01-13 Jason Rumney <jasonr@gnu.org>
1207
1208 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
1209 for mice with more than 3 buttons.
1210
1211 * w32term.c (parse_button): New parameter xbutton. Callers changed.
1212 (w32_read_socket): Handle new "XBUTTON" messages.
1213
1214 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
1215 (syms_of_w32fns): DEFVAR_BOOL it.
1216 (w32_wnd_proc): Handle new "XBUTTON" messages.
1217
1218 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1219
1220 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
1221
1222 2002-01-13 Andreas Schwab <schwab@suse.de>
1223
1224 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
1225
1226 2002-01-12 Andreas Schwab <schwab@suse.de>
1227
1228 * .gdbinit (xbuffer): Remove address operator since data is now a
1229 pointer.
1230
1231 2002-01-11 Richard M. Stallman <rms@gnu.org>
1232
1233 * insdel.c (adjust_after_replace_noundo): New function.
1234
1235 * coding.c (code_convert_region): Don't copy old text if undo disabled.
1236
1237 2002-01-09 Jason Rumney <jasonr@gnu.org>
1238
1239 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
1240 when checking for multiple frames.
1241
1242 2002-01-08 Richard M. Stallman <rms@gnu.org>
1243
1244 * window.c (delete_window): Rewrite the code for changing the
1245 selected window to handle the case where WINDOW is not a leaf.
1246
1247 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
1248
1249 * process.c (send_process): Set src_multibyte to 1 after the call
1250 top setup_coding_system, not before the call.
1251
1252 2002-01-07 Jason Rumney <jasonr@gnu.org>
1253
1254 * xmenu.c (set_frame_menubar, xmenu_show):
1255 (xdialog_show): Initialize wv->help to Qnil.
1256
1257 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
1258 (w32_dialog_show): Initialize wv->help to Qnil.
1259
1260 2002-01-06 Jason Rumney <jasonr@gnu.org>
1261
1262 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
1263
1264 * w32menu.c (w32_menu_display_help): Revert last change.
1265
1266 * xmenu.c (menu_highlight_callback): Revert last change.
1267
1268 2002-01-06 Andreas Schwab <schwab@suse.de>
1269
1270 * insdel.c (make_gap_larger): Make sure buffer size does not
1271 overflow range of int.
1272
1273 2002-01-05 Jason Rumney <jasonr@gnu.org>
1274
1275 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1276 OVERLAPS_P.
1277
1278 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
1279
1280 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
1281 to the left or to the right of the pointer, put it against
1282 the left screen edge.
1283 (x_frame_parms): Add missing braces around initializer.
1284
1285 * w32term.c (x_setup_relief_colors): Don't compute an image's
1286 background color if it doesn't have a Pixmap.
1287 (notice_overwritten_cursor): Don't depend on
1288 output_cursor and updated_area. Compare pixel coordinates with
1289 window's cursor pixel coordinates.
1290 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1291 Call notice_overwritten_cursor with new arg list.
1292 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1293 unconditionally.
1294 (x_draw_image_relief): Use predefined macro instead of
1295 constant when the value of `tool_bar_button_relief' is negative.
1296
1297 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
1298
1299 2002-01-04 Richard M. Stallman <rms@gnu.org>
1300
1301 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
1302
1303 2002-01-03 Richard M. Stallman <rms@gnu.org>
1304
1305 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
1306 (Fkey_binding): Try the `keymap' property map first.
1307 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
1308 minor mode bindings.
1309
1310 2002-01-03 Kim F. Storm <storm@cua.dk>
1311
1312 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
1313
1314 2002-01-02 Richard M. Stallman <rms@gnu.org>
1315
1316 * keyboard.c (read_key_sequence): Handle the keymap property
1317 before minor mode maps.
1318
1319 * editfns.c (Fformat): Update thissize from field_width
1320 based on the actual width, in the string case.
1321
1322 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1323
1324 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
1325 when used as truth value to prevent gcc warnings.
1326
1327 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
1328 * w32proc.c: Include <config.h>.
1329
1330 2002-01-01 Andreas Schwab <schwab@suse.de>
1331
1332 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
1333 not EMACS_INT, to make them compatible with DEFVAR_INT.
1334 * lisp.h (max_specpdl_size): Adjust declaration.
1335
1336 2002-01-01 Richard M. Stallman <rms@gnu.org>
1337
1338 * print.c (print_object): Test print_escape_nonascii only for
1339 unibyte strings.
1340 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
1341 when outputting to a multibyte buffer.
1342
1343 2001-12-29 Richard M. Stallman <rms@gnu.org>
1344
1345 * print.c (print_object): In multibyte string, use hex escapes.
1346 Use octal only for unibyte strings.
1347 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
1348
1349 * lread.c (read_escape): New arg BYTEREP for reporting whether
1350 escape forces unibyte or multibyte.
1351 (read1): When reading a string, take note of that info.
1352
1353 2001-12-29 Ken Raeburn <raeburn@gnu.org>
1354
1355 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
1356 comparison to test lisp value returned by Fget.
1357
1358 2001-12-29 Richard M. Stallman <rms@gnu.org>
1359
1360 * lisp.h (max_specpdl_size): Add declaration.
1361
1362 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
1363
1364 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
1365 Handle modifier bits. Correct typo in error message.
1366
1367 2001-12-28 Richard M. Stallman <rms@gnu.org>
1368
1369 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
1370 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
1371 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1372 Update calls to Fdefine_abbrev.
1373 (write_abbrev): Update for changed data format.
1374 Don't list "system" abbrevs.
1375 (Fexpand_abbrev): Update use count with new data format.
1376 (describe_abbrev): Update for changed data format.
1377 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
1378
1379 * config.in (HAVE_MBSINIT): Add #undef.
1380
1381 * strftime.c (mbsinit): Define as no-op if not available.
1382
1383 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
1384 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
1385
1386 * keymap.c (Flookup_key): Error message if key has wrong data type.
1387 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
1388 (exclude_key): New variable.
1389
1390 2001-12-28 Gerd Moellmann <gerd@gnu.org>
1391
1392 * xterm.c (x_setup_relief_colors): Don't compute an image's
1393 background color if it doesn't have a Pixmap.
1394
1395 * xterm.c (notice_overwritten_cursor): Don't depend on
1396 output_cursor and updated_area. Compare pixel coordinates with
1397 window's cursor pixel coordinates.
1398 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1399 Call notice_overwritten_cursor with new arg list.
1400 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1401 unconditionally.
1402
1403 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
1404 height of the cursor line to the amount to scroll.
1405
1406 2001-12-27 Richard M. Stallman <rms@gnu.org>
1407
1408 * intervals.c (set_point_both): The position after an invisible,
1409 intangible character is not an acceptable stopping point.
1410
1411 2001-12-27 Ken Raeburn <raeburn@gnu.org>
1412
1413 * window.c (enlarge_window): In new preserve_before code, convert
1414 CURBEG from lisp object to integer before doing arithmetic.
1415
1416 2001-12-27 Richard M. Stallman <rms@gnu.org>
1417
1418 * bytecode.c (Fbyte_code): Undo previous change.
1419
1420 2001-12-26 Kim F. Storm <storm@cua.dk>
1421
1422 * keyboard.c (record_char): Ignore duplicate help-echo events only
1423 separated by mouse-movement. When tracking mouse, only record
1424 first and last mouse-movement event in same window.
1425 Don't record mouse-movement events in keyboard macros.
1426
1427 2001-12-25 Richard M. Stallman <rms@gnu.org>
1428
1429 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
1430 (Fenlarge_window): New arg PRESERVE_BEFORE.
1431
1432 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
1433 instead of Fstring_as_unibyte.
1434
1435 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1436
1437 The following changes remove mocklisp support:
1438
1439 * mocklisp.h, mocklisp.c: Files removed.
1440
1441 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
1442 `Qmocklisp' and `Qmocklisp_arguments'.
1443 Remove prototype of syms_of_mocklisp.
1444
1445 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
1446
1447 * callint.c: Do not include mocklisp.h.
1448 (Fcall_interactively): Do not test for mocklisp case.
1449
1450 * eval.c: Remove variables `Qmocklisp_arguments',
1451 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
1452 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
1453 Do not test for mocklisp case.
1454 (Fwhile): Remove unused variable `tem'.
1455 (syms_of_eval): Remove variable `moclisp-arguments'.
1456
1457 * data.c (wrong_type_argument): Remove mocklisp case.
1458
1459 * doc.c (Fdocumentation): Remove mocklisp case.
1460
1461 * emacs.c (main): Do not call syms_of_mocklisp.
1462
1463 2001-12-21 Richard M. Stallman <rms@gnu.org>
1464
1465 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
1466 to the left or to the right of the pointer, put it against
1467 the left screen edge.
1468
1469 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
1470
1471 * Makefile.in (distclean): Remove .gdbinit if we are building
1472 outside the source tree.
1473
1474 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
1475
1476 * w32.c (emacs_root_dir): New function.
1477
1478 * msdos.c (emacs_root_dir): New function.
1479
1480 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
1481 of the current drive as the fallback for default_directory.
1482
1483 * dired.c (file_name_completion): Run the elements of
1484 completion-ignored-extensions through ENCODE_FILE.
1485
1486 * lisp.h (scmp): Remove prototype, since it's now a static
1487 function private to dired.c.
1488
1489 2001-12-18 Richard M. Stallman <rms@gnu.org>
1490
1491 * dired.c (scmp): Function moved from minibuf.c.
1492 Delete multibyte handling--used only on encoded strings.
1493
1494 * minibuf.c (scmp): Function moved to dired.c.
1495
1496 * fns.c (merge): Add QUIT call.
1497
1498 2001-12-18 Dave Love <fx@gnu.org>
1499
1500 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
1501 language/georgian.el.
1502
1503 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1504
1505 * Makefile.in (lisp, shortlisp): Synchronize with changes to
1506 lisp/Makefile.in:DONTCOMPILE.
1507
1508 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1509
1510 * xdisp.c (window_box_height): Do not return negative values.
1511 From Gerd Moellmann <gerd@gnu.org>.
1512
1513 * keyboard.c (head_table): Add missing braces around initializer.
1514
1515 * term.c (keys): Likewise.
1516
1517 * xfns.c (x_frame_parms, visual_classes): Likewise.
1518
1519 2001-12-17 Sam Steingold <sds@gnu.org>
1520
1521 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
1522 patch (COMPOSING_P, not COMPOSING).
1523
1524 2001-12-17 Richard M. Stallman <rms@gnu.org>
1525
1526 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
1527
1528 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
1529 before calling decode_coding.
1530
1531 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
1532
1533 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
1534 instead of only for COMPOSITION_DISABLED.
1535
1536 2001-12-16 Richard M. Stallman <rms@gnu.org>
1537
1538 * alloc.c (pure_alloc): After overflow, allocate just a small block.
1539
1540 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
1541
1542 * buffer.h (struct buffer): New field `display_error_modiff'.
1543 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
1544
1545 * window.c (Frecenter): Clear display_error_modiff field.
1546
1547 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
1548 Call redisplay_window, but not if display_error_modiff field says no.
1549 (redisplay_window_error): New function.
1550 (displayed_buffer): New variable.
1551 (redisplay_internal, redisplay_windows): Call the new functions
1552 instead of redisplay_window directly.
1553
1554 2001-12-15 Richard M. Stallman <rms@gnu.org>
1555
1556 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1557
1558 2001-12-14 Andrew Innes <andrewi@gnu.org>
1559
1560 * makefile.w32-in (EMACSLOADPATH): Define.
1561 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
1562 (bootstrap-temacs): Remove dependency on bootstrap-clean.
1563
1564 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
1565
1566 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
1567 parameter have a numeric value all the time.
1568
1569 * w32fns.c (x_report_frame_params): Likewise.
1570
1571 2001-12-12 Richard M. Stallman <rms@gnu.org>
1572
1573 * fileio.c (Fwrite_region): Doc fix.
1574
1575 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
1576 (redisplay_internal): Call clear_image_cache only for window terminals.
1577
1578 2001-12-12 Gerd Moellmann <gerd@gnu.org>
1579
1580 * xdisp.c (move_it_vertically_backward): Change heuristic
1581 for the case that we didn't move far enough initially.
1582
1583 * window.c (Frecenter): Simplify computation in the case of window
1584 system frames and ARG < 0; use window_box_height.
1585
1586 2001-12-11 Richard M. Stallman <rms@gnu.org>
1587
1588 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
1589 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
1590
1591 2001-12-11 Andrew Innes <andrewi@gnu.org>
1592
1593 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
1594 arg is negative.
1595
1596 2001-12-11 Richard M. Stallman <rms@gnu.org>
1597
1598 * m/hp800.h: Split the __hpux conditional into the parts
1599 that are right for GNU/Linux too and the parts that are not.
1600 Use the former if GNU_LINUX.
1601 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
1602
1603 * s/gnu-linux.h (GNU_LINUX): Defined.
1604
1605 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1606
1607 * macros.c, msdos.c, w16select.c: Change doc-string comments to
1608 `new style' [w/`doc:' keyword].
1609
1610 2001-12-10 Jason Rumney <jasonr@gnu.org>
1611
1612 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
1613 before using.
1614
1615 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1616
1617 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
1618 keyword].
1619
1620 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
1621
1622 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
1623
1624 * s/hpux10.h (srand48): Don't undefine.
1625
1626 2001-12-09 Jason Rumney <jasonr@gnu.org>
1627
1628 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
1629 Add comment to explain where the struct came from.
1630 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
1631 (add_menu_item): Process pop-up menus first to avoid memory leak.
1632 (add_menu_item, w32_menu_display_help): Use `help' field as
1633 Lisp_Object.
1634 (w32_free_submenu_strings): Only free owner-drawn strings.
1635
1636 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1637
1638 * COPYING: Moved back.
1639
1640 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
1641 Add parentheses around && within ||.
1642
1643 * indent.c (compute_motion): Likewise.
1644
1645 * intervals.c (merge_properties_sticky): Likewise.
1646
1647 * coding.c (setup_coding_system, shrink_encoding_region)
1648 (Fdecode_sjis_char): Likewise.
1649
1650 2001-12-07 Andreas Schwab <schwab@suse.de>
1651
1652 * xdisp.c (display_mode_element): Don't read past end of string if
1653 it ends with '%'.
1654
1655 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
1656 can hold.
1657
1658 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
1659 from most_positive_fixnum and most_negative_fixnum, resp., and
1660 type changed to Lisp_Object.
1661 (syms_of_data): DEFVAR_LISP them.
1662
1663 2001-12-07 Richard M. Stallman <rms@gnu.org>
1664
1665 * callproc.c (init_callproc): Set Vdata_directory based on the source
1666 location whenever Emacs was run uninstalled.
1667
1668 2001-12-06 Paul Eggert <eggert@twinsun.com>
1669
1670 * config.in (HAVE_WORKING_VFORK): New #undefs.
1671 * process.c (create_process):
1672 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
1673 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
1674 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
1675 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
1676 * m/intel386.h (HAVE_VFORK): Likewise.
1677 * m/mips-siemens.h (HAVE_VFORK): Likewise.
1678 * m/mips.h (HAVE_VFORK): Likewise.
1679 * s/freebsd.h (vfork): Remove #define.
1680 * s/lynxos.h (HAVE_VFORK): Remove #undef.
1681 * s/usg5-4-2.h: Fix comment about vfork.
1682
1683 2001-12-06 Richard M. Stallman <rms@gnu.org>
1684
1685 * s/hpux10.h (random): Add undef.
1686 (HAVE_RANDOM): Define it just once.
1687
1688 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
1689
1690 * eval.c: Undo last change: the standard syntax is not wanted.
1691
1692 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
1693
1694 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
1695 scroll bars of the frame before deleting the frame itself. If the
1696 frame has a widget, delete the frame with XtDestroyWidget, and do
1697 not call XDestroyWindow before that.
1698
1699 2001-12-06 Kim F. Storm <storm@cua.dk>
1700
1701 * xfns.c (x_report_frame_params): Return actual fringe widths.
1702
1703 * w32fns.c (x_report_frame_params): Return actual fringe widths.
1704
1705 2001-12-05 Andrew Innes <andrewi@gnu.org>
1706
1707 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
1708 excessively large.
1709
1710 * insdel.c (make_gap_larger): New function.
1711 (make_gap_smaller): New function.
1712 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
1713 make_gap_smaller if arg is negative.
1714
1715 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
1716
1717 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
1718 Pass a dummy argument when calling interrupt_signal.
1719 (parse_menu_item): Mark disabled items before checking for empty def.
1720 (read_char_minibuf_menu_prompt): Make safety more visible.
1721 (read_key_sequence): Add a `first_unbound' variable.
1722 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
1723 unbound prefix as soon as we can detect it.
1724
1725 * doc.c (Fsnarf_documentation): Add prototype.
1726 (get_doc_string): Handle negative arguments.
1727 (Fdocumentation): Use AREF and ASIZE.
1728 Move the calls to get_doc_string to a single place.
1729 Don't confuse an interactive-spec for a docstring reference.
1730 (Fdocumentation_property): Take advantage of the fact that
1731 get_doc_string now ignores the sign of the docstring position.
1732
1733 * eval.c: Use standard syntax for usage in docstrings.
1734
1735 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1736
1737 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
1738
1739 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1740
1741 * xterm.c (x_draw_image_relief): Use predefined macro instead of
1742 constant when the value of `tool_bar_button_relief' is negative.
1743
1744 2001-12-02 Richard M. Stallman <rms@gnu.org>
1745
1746 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
1747 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
1748
1749 * fileio.c (read_non_regular): Delete Fsignal call.
1750
1751 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
1752
1753 * lisp.h (run_hook_list_with_args): Undo last change.
1754
1755 2001-12-01 Gerd Moellmann <gerd@gnu.org>
1756
1757 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
1758
1759 2001-12-01 Jason Rumney <jasonr@gnu.org>
1760
1761 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
1762
1763 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
1764 [!WM_MOUSELEAVE]: Define.
1765
1766 * w32menu.c (current_popup_menu, get_menu_item_info):
1767 (set_menu_item_info): New vars.
1768 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
1769 (w32_menu_show): Set current_popup_menu.
1770 (add_menu_item): Allocate new strings for owner-drawn menu items
1771 and help strings.
1772 Use owner-draw for disabled menu items again.
1773 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
1774 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
1775
1776 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
1777 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
1778 <WM_EXITMENULOOP>: Free menu strings.
1779 <WM_MOUSELEAVE>: Stop tracking mouse.
1780 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
1781
1782 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
1783 and mouse face.
1784
1785 2001-12-01 Kim F. Storm <storm@cua.dk>
1786
1787 The following changes add left-fringe and right-fringe
1788 frame parameters to adjust fringe widths, or remove one or
1789 both fringes.
1790
1791 * frame.h (struct frame): Remove trunc_area_pixel_width and
1792 trunc_area_cols fields.
1793 (Qleft_fringe, Qright_fringe): Declare.
1794 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
1795
1796 * frame.c (Qleft_fringe, Qright_fringe): New vars.
1797 (syms_of_frame): Initialize them.
1798
1799 * window.c (coordinates_in_window): Handle separate left and right
1800 fringe widths.
1801
1802 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
1803 and fringe_cols fields.
1804 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
1805 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
1806 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
1807 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
1808 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
1809 (x_compute_fringe_widths): Add prototype.
1810
1811 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
1812 fill fringe evenly with small dashes.
1813 (x_draw_fringe_bitmap): Clear background if necessary. Align and
1814 clip the new ZV bitmap to avoid jitter between rows.
1815 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
1816 background. Don't draw fringe bitmaps if fringe width is zero.
1817 (x_compute_fringe_widths): New function.
1818 (x_new_font, x_set_window_size_1): Use it.
1819
1820 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
1821 (x_set_frame_parameters): Process `font' parameter before other
1822 parameters as fringe widths depend on it.
1823 (x_set_fringe_width): New function.
1824 (x_figure_window_size): Use x_compute_fringe_widths.
1825 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
1826 parameters.
1827
1828 * widget.c (set_frame_size): Use x_compute_fringe_widths.
1829 (EmacsFrameSetCharSize): Ditto.
1830
1831 * w32term.h: Merged changes from xterm.h.
1832 * w32term.c: Merged changes from xterm.c.
1833 * w32fns.c: Merged changes from xfns.c.
1834
1835 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1836
1837 * COPYING: Removed.
1838
1839 2001-11-29 Dave Love <fx@gnu.org>
1840
1841 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
1842 extra extra slot.
1843 (detect_coding_mask): Fix call of detect_coding_iso2022.
1844
1845 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1846
1847 * fileio.c (file-name-coding-system)
1848 (default-file-name-coding-system): Doc fix (links to referenced
1849 variables added).
1850
1851 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1852
1853 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
1854 Add dummy uses of gcproN variables.
1855
1856 * category.c (describe_category, describe_category_1)
1857 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
1858 (syms_of_category): Don't defsubr Sdescribe_categories.
1859
1860 2001-11-28 Richard M. Stallman <rms@gnu.org>
1861
1862 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
1863
1864 * Makefile.in (lispdir): New variable, referring to build dir.
1865 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
1866
1867 2001-11-28 Andrew Innes <andrewi@gnu.org>
1868
1869 * w32menu.c (w32_menu_display_help): Actually add the new argument
1870 OWNER.
1871
1872 2001-11-28 Jason Rumney <jasonr@gnu.org>
1873
1874 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
1875 menu items. From David Ponce <dponce@wanadoo.fr>.
1876 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
1877 conditionally.
1878 (w32_menu_display_help): New argument OWNER. Rewritten to store a
1879 help event in the owner frame's keyboard buffer.
1880
1881 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
1882 (Fx_show_tip): Don't subtract last width from row width.
1883
1884 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
1885 (w32_read_socket): Use EQ to compare frames.
1886
1887 2001-11-28 Gerd Moellmann <gerd@gnu.org>
1888
1889 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1890 OVERLAPS_P.
1891
1892 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1893
1894 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
1895 `gcpro3' and `gcpro4'.
1896
1897 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
1898
1899 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1900
1901 * ccl.c: Use AREF and ASIZE.
1902
1903 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
1904
1905 * lisp.h (run_hook_list_with_args): Remove.
1906 (LIST_END_P): Fix call to wrong_type_argument.
1907 (make_fixnum_or_float): Use EMACS_INT rather than int.
1908
1909 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
1910
1911 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
1912 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
1913
1914 * eval.c: Use AREF and ASIZE.
1915 (Ffetch_bytecode): Add the file name to the error message.
1916
1917 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
1918 which match the end of the file-name.
1919 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
1920 is not a valid env var, but leave it as is instead.
1921
1922 * keymap.c (access_keymap): Handle t bindings like nil bindings.
1923 Make nil bindings in char-tables transparent.
1924 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
1925
1926 2001-11-26 Richard M. Stallman <rms@gnu.org>
1927
1928 * textprop.c (set_text_properties_1): Allow START, END in either order.
1929 Do nothing if range is empty.
1930
1931 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
1932
1933 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
1934 (clean): Not here.
1935
1936 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1937
1938 * textprop.c (set_text_properties_1): Clearly mark that the
1939 interval should not be empty.
1940
1941 * intervals.c (graft_intervals_into_buffer):
1942 Don't call set_text_properties_1 on an empty interval.
1943
1944 2001-11-25 Richard M. Stallman <rms@gnu.org>
1945
1946 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
1947
1948 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
1949 don't lose the data in it.
1950
1951 2001-11-25 Juanma Barranquero <lektu@terra.es>
1952
1953 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
1954
1955 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
1956
1957 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
1958
1959 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1960
1961 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
1962
1963 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
1964
1965 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
1966 Niemitalo <kon@iki.fi>.
1967
1968 2001-11-25 Jason Rumney <jasonr@gnu.org>
1969
1970 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
1971
1972 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
1973 (Fx_show_tip): Block input during frame creation.
1974 (Fx_show_tip, Fx_hide_tip): Enable.
1975
1976 2001-11-24 Richard M. Stallman <rms@gnu.org>
1977
1978 * lread.c (Fload): Detect recursive load error for more than 3
1979 nestings of the same file.
1980 (Vrecursive_load_depth_limit): Variable deleted.
1981 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
1982
1983 2001-11-24 Jason Rumney <jasonr@gnu.org>
1984
1985 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
1986 mouse position if either left or top is not specified.
1987
1988 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
1989 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
1990 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
1991 (my_create_tip_window): Assign tip_window.
1992 (x_create_tip_frame): Use same defaults as X.
1993 (compute_tip_xy): Remove unused variable. Use full screen width.
1994 (Fx_show_tip): Do not double height. Call ShowWindow directly.
1995
1996 * w32term.c (x_after_update_window_line): Doc fix.
1997 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
1998 frames.
1999 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
2000
2001 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
2002 for all Windowed systems.
2003
2004 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2005
2006 * msdos.c (IT_clear_screen): If the frame's faces are not yet
2007 realized, use the initial screen colors to clear the screen.
2008
2009 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2010
2011 * textprop.c (Fset_text_properties): Remove unused variables
2012 `unchanged', `prev_changed', `s' and `len'.
2013
2014 * search.c (Freplace_match): Remove unused variable `inslen'.
2015
2016 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
2017
2018 2001-11-22 Jason Rumney <jasonr@gnu.org>
2019
2020 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
2021 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
2022 (my_create_tip_window): New function.
2023 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
2024 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
2025
2026 2001-11-20 Jason Rumney <jasonr@gnu.org>
2027
2028 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
2029 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
2030
2031 * w32fns.c (Vw32_system_coding_system): Remove.
2032 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
2033
2034 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
2035
2036 * fileio.c (Fwrite_region): Move choose_write_coding_system to
2037 after build_annotations.
2038
2039 * syntax.c (describe_syntax): Add dummy arg.
2040 (describe_syntax_1): Update call to describe_vector.
2041
2042 * category.c (describe_category): Add dummy arg.
2043 (describe_category_1): Update call to describe_vector.
2044
2045 * keymap.c (Fdescribe_vector): Add `describer' parameter.
2046 (describe_command, describe_translation): Add dummy second param.
2047 (describe_map): Call elt_describer with two arguments.
2048 (describe_vector_princ): Add `fun' parameter.
2049 Call it instead of the hardcoded `princ'.
2050 (describe_vector): Add arg `args'.
2051 Pass it as a new second argument to elt_describer.
2052
2053 * keymap.h (describe_vector): Update prototype.
2054
2055 * frame.c: Don't include keymap.h any more.
2056 (keys_of_frame): Remove.
2057
2058 * lisp.h (keys_of_frame): Remove declaration.
2059
2060 * emacs.c (main): Don't call `keys_of_frame' any more.
2061
2062 2001-11-14 Andreas Schwab <schwab@suse.de>
2063
2064 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
2065 if defined, 0 otherwise.
2066 (MAP_FAILED): Define if not defined and use it to test mmap failure.
2067 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
2068
2069 2001-11-19 Richard M. Stallman <rms@gnu.org>
2070
2071 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
2072
2073 2001-11-18 Jason Rumney <jasonr@gnu.org>
2074
2075 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
2076 (x_draw_bar_cursor): If the background color of the glyph under
2077 the cursor equals the frame's cursor color, use the glyph's
2078 foreground color for drawing the bar cursor.
2079 (x_after_update_window_line): Clear internal border in different
2080 circumstances.
2081 (w32_set_vertical_scroll_bar): Check for width and height > 0.
2082 (w32_draw_relief_rect): Correct relief by 1 pixel.
2083 (x_set_glyph_string_background_width):
2084 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2085 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
2086 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
2087 if cursor_in_non_selected_windows is false.
2088 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2089 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
2090 Notice if cursor gets overwritten.
2091 (notice_overwritten_cursor): Renamed from
2092 note_overwritten_text_cursor. Rewritten to take glyph widths
2093 into account, and to take X positions as parameters.
2094 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2095 around call to x_draw_glyphs.
2096 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2097 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2098 color to use for image glyph reliefs.
2099 (x_draw_image_relief): Accept zero tool_bar_button_relief.
2100 (glyph_rect): Remove unused variable `area'.
2101
2102 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
2103 some items.
2104 (x_set_internal_border_width): Set frame garbaged when window
2105 doesn't exist yet.
2106 (Fx_create_frame): Accept zero tool_bar_button_relief.
2107 (x_clear_image_1, four_corners_best, image_background)
2108 (image_background_transparent): New functions.
2109 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
2110 (gs_format): Add `:background' entry.
2111 (lookup_image): Set IMG's background color if specified.
2112 (pbm_load, xbm_load_image, png_load): Set IMG's background field
2113 when appropriate.
2114 (x_clear_image_1): Reset `background_valid' and
2115 `background_transparent_valid' fields.
2116 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2117 calculating it here. Set IMG's background_transparent field.
2118 (enum xpm_keyword_index): Add XPM_BACKGROUND.
2119 (enum png_keyword_index): Add PNG_BACKGROUND.
2120 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2121 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2122 (enum gif_keyword_index): Add GIF_BACKGROUND.
2123 (enum gs_keyword_index): Add GS_BACKGROUND.
2124 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
2125 Pre-calculate image background color where necessary.
2126 (x_create_x_image_and_pixmap, xbm_load, gs_load):
2127 Use display info's n_cbits entry for screen depth.
2128 (Fx_show_tip): Remove unused variables `buffer', `top',
2129 `left', `max_width' and `max_height'.
2130
2131 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
2132
2133 2001-11-18 Gerd Moellmann <gerd@gnu.org>
2134
2135 * puresize.h (BASE_PURESIZE): Increase to 750000.
2136
2137 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2138
2139 * frame.c (Fframe_live_p): Doc fix.
2140
2141 2001-11-18 Richard M. Stallman <rms@gnu.org>
2142
2143 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
2144 (message_dolog_marker3): New static variables hold three markers.
2145 (syms_of_xdisp): Initialize and staticpro them.
2146 (message_dolog): Use message_dolog_marker1..3 instead of
2147 allocating markers each time. Unchain them when done.
2148
2149 2001-11-17 Richard M. Stallman <rms@gnu.org>
2150
2151 * doc.c (Fsnarf_documentation): Doc fix.
2152
2153 2001-11-17 Andreas Schwab <schwab@suse.de>
2154
2155 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
2156
2157 2001-11-17 Richard M. Stallman <rms@gnu.org>
2158
2159 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
2160
2161 2001-11-17 Jason Rumney <jasonr@gnu.org>
2162
2163 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
2164
2165 2001-11-17 Gerd Moellmann <gerd@gnu.org>
2166
2167 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
2168 with invalid position.
2169
2170 2001-11-16 Richard M. Stallman <rms@gnu.org>
2171
2172 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
2173
2174 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
2175 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
2176 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
2177
2178 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
2179
2180 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
2181
2182 * fileio.c (build_annotations): Split off the tail.
2183 (build_annotations_2): New fun. Extracted from build_annotations.
2184 (Fwrite_region): Split the call to build_annotations into two
2185 calls to build_annotations and build_annotations_2.
2186
2187 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2188
2189 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
2190 clear_waiting_for_input with argument.
2191
2192 * xterm.h (x_update_cursor): Remove duplicated prototype.
2193
2194 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
2195
2196 * xterm.c (waiting_for_input): Remove unnecessary declaration.
2197
2198 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
2199
2200 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
2201
2202 * fileio.c (choose_write_coding_system): New fun, extracted
2203 from Fwrite_region.
2204 (Fwrite_region): Use it.
2205
2206 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
2207 (funcall_lambda, run_hook_with_args): Make static and add prototype.
2208 (ml_apply, find_handler_clause): Add prototype.
2209
2210 2001-11-16 Eli Zaretskii <eliz@gnu.org>
2211
2212 * config.in: Add #undef HAVE_COFF_H.
2213
2214 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
2215 Required for ISC 4.1.
2216
2217 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
2218
2219 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
2220 Andrew Wiseman <a.wiseman@btclick.com>.
2221
2222 2001-11-16 Kim F. Storm <storm@cua.dk>
2223
2224 The following changes are made to clean up the various internal
2225 references to the fringes to actually use the term `fringe' for
2226 them. Previously, they were called `flags areas', `bitmap areas',
2227 `left/right side of windows', or implicitly as `flags' or
2228 `bitmaps':
2229
2230 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
2231 Comments fixed. Use renamed symbols.
2232
2233 * dispnew.c: Comment fix. Use renamed symbols.
2234
2235 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
2236 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
2237 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
2238
2239 * msdos.c: Comment fix.
2240
2241 * w32fns.c: Use renamed symbols.
2242
2243 * w32term.c: Comment fixes. Use renamed symbols.
2244 (fringe_bitmap_type): Renamed from bitmap_type.
2245 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2246 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
2247 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2248
2249 * w32term.h: Comment fixes. Use renamed symbols.
2250 (fringes_extra): Renamed from flags_areas_extra.
2251 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2252 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2253 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2254 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
2255 (FRAME_X_LEFT_FRINGE_WIDTH):
2256 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2257 (FRAME_X_RIGHT_FRINGE_WIDTH):
2258 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2259
2260 * widget.c: Use renamed symbols.
2261
2262 * window.c: Comment fixes. Use renamed symbols.
2263 (coordinates-in-window-p): Doc fix.
2264
2265 * xdisp.c: Comment fixes. Use renamed symbols.
2266
2267 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
2268
2269 * xfns.c: Use renamed symbols.
2270
2271 * xterm.c: Comment fixes. Use renamed symbols.
2272 (fringe_bitmap_type): Renamed from bitmap_type.
2273 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2274 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
2275 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2276
2277 * xterm.h: Comment fixes. Use renamed symbols.
2278 (fringes_extra): Renamed from flags_areas_extra.
2279 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2280 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2281 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2282 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
2283 (FRAME_X_LEFT_FRINGE_WIDTH):
2284 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2285 (FRAME_X_RIGHT_FRINGE_WIDTH):
2286 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2287
2288 2001-11-15 Jason Rumney <jasonr@gnu.org>
2289
2290 * w32menu.c (add-menu-item): Make help_echo and radio buttons
2291 work for most menu items. From David Ponce
2292 <david.ponce@wanadoo.fr>.
2293
2294 2001-11-15 Gerd Moellmann <gerd@gnu.org>
2295
2296 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
2297 Some x_set_* function expect to be called even if old and new
2298 value are equal.
2299
2300 * xdisp.c (build_desired_tool_bar_string): Accept zero
2301 tool_bar_button_relief.
2302
2303 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
2304
2305 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
2306
2307 * xterm.c (x_draw_bar_cursor): If the background color of the
2308 glyph under the cursor equals the frame's cursor color, use
2309 the glyph's foreground color for drawing the bar cursor.
2310
2311 * dispnew.c (direct_output_forward_char): Fix character/byte
2312 position comparison.
2313
2314 2001-11-15 Miles Bader <miles@gnu.org>
2315
2316 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
2317 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
2318 Update arguments to find_field.
2319 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
2320 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
2321 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
2322 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
2323
2324 2001-11-14 Richard M. Stallman <rms@gnu.org>
2325
2326 * editfns.c (Fpropertize): Allow call with 1 arg.
2327
2328 * dispextern.h (image_background, image_background_transparent):
2329 Conditionalize on HAVE_X_WINDOWS.
2330
2331 2001-11-13 Richard M. Stallman <rms@gnu.org>
2332
2333 * print.c (Fprin1_to_string): Doc fix.
2334
2335 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
2336
2337 * floatfns.c (Fceiling, Ffloor): Doc fixes.
2338
2339 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
2340
2341 * fileio.c (Ffile_accessible_directory_p): Doc fix.
2342
2343 * eval.c (syms_of_eval): Doc fix.
2344
2345 * coding.c (syms_of_coding): Doc fix.
2346
2347 * doc.c (Fsnarf_documentation): Doc fix.
2348
2349 * dispnew.c (syms_of_display): Doc fix.
2350
2351 * category.c (Fget_unused_category): Doc fix.
2352
2353 * buffer.c (syms_of_buffer): Doc fixes.
2354
2355 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
2356
2357 * print.c (prin1, print): Doc fix.
2358
2359 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2360
2361 * fontset.h: Remove declarations of variables
2362 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
2363
2364 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
2365 `Vclip_large_size_font'.
2366
2367 2001-11-13 Jason Rumney <jasonr@gnu.org>
2368
2369 * w32fns.c: Doc fix.
2370
2371 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2372
2373 * xfaces.c (Fface_attributes_as_vector): Doc fix.
2374
2375 * w32fns.c (Fx_synchronize): Reindent.
2376
2377 * fns.c: Doc fix.
2378
2379 * emacs.c: Doc fix.
2380
2381 * coding.c: Doc fix.
2382
2383 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
2384 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
2385 `new style' [w/`doc:' keyword].
2386
2387 * xmenu.c (x-popup-menu): Reindent.
2388 (x-popup-dialog): Likewise.
2389
2390 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
2391
2392 * xdisp.c (Fdump_tool_bar_row): Reindent.
2393
2394 * minibuf.c (Fminibuffer_complete_word): Reindent.
2395 (Fminibuffer_complete_and_exit): Likewise.
2396 (Fminibuffer_completion_help): Likewise.
2397 (Fminibuffer_message): Likewise.
2398
2399 * fns.c (Freverse): Reindent.
2400
2401 * eval.c (Fif): Reindent.
2402 (Fand): Likewise.
2403
2404 * editfns.c (Fuser_real_login_name): Reindent.
2405 (Finsert_buffer_substring): Likewise.
2406 (Fcompare_buffer_substrings): Likewise.
2407 (Fsubst_char_in_region): Likewise.
2408
2409 * dispnew.c (Fsit_for): Reindent.
2410 (Fframe_or_buffer_changed_p): Likewise.
2411 (Finternal_show_cursor_p): Likewise.
2412 (syms_of_display): Likewise.
2413
2414 * alloc.c (Flist): Reindent.
2415 (Fvector): Likewise.
2416
2417 2001-11-12 Richard M. Stallman <rms@gnu.org>
2418
2419 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
2420 LeaveNotify events. Only FocusIn and FocusOut do that now.
2421 (x_display_and_set_cursor): Do display hollow cursors in active
2422 minibuffer windows when they are not selected.
2423
2424 2001-11-12 Jason Rumney <jasonr@gnu.org>
2425
2426 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
2427 * w32term.c: Change doc-string comments to `new style'.
2428 [w/`doc:' keyword]. Doc fixes.
2429
2430 * w32fns.c: Don't define max.
2431 (Fx_open_connection): Only execute once.
2432
2433 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2434
2435 * ccl.c: Change macros to use do-while block instead of if-else.
2436 Use braces to follow GNU Coding Standards.
2437
2438 2001-11-11 Richard M. Stallman <rms@gnu.org>
2439
2440 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
2441
2442 * lread.c (read_escape): Use end_of_file_error for reporting eof.
2443
2444 * insdel.c (replace_range): Use adjust_markers_for_replace
2445 instead of adjust_markers_for_delete and adjust_markers_for_insert.
2446
2447 * intervals.h: Declare set_text_properties and set_text_properties_1.
2448
2449 * textprop.c (set_text_properties_1): New subroutine
2450 broken out of set_text_properties.
2451 (set_text_properties): Use set_text_properties_1.
2452
2453 * intervals.c (graft_intervals_into_buffer):
2454 Use set_text_properties_1 to clear out properties.
2455
2456 * search.c (Freplace_match): Use replace_range to insert
2457 and delete. Don't request property inheritance from
2458 surrounding text.
2459
2460 2001-11-10 Jason Rumney <jasonr@gnu.org>
2461
2462 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
2463 vertical fonts. Allow them if face name is explicitly specified.
2464 Do not give up if we find a font that cannot be converted to an xlfd.
2465
2466 2001-11-10 Gerd Moellmann <gerd@gnu.org>
2467
2468 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
2469 instead of malloc/free.
2470
2471 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2472
2473 * xfaces.c (merge_face_vectors): Use braces to follow GNU
2474 Coding Standards.
2475 (Finternal_set_lisp_face_attribute): Likewise.
2476
2477 * buffer.c (Fbury_buffer): Likewise.
2478
2479 * indent.c (current_column_1): Remove unused variable `prev_col'.
2480
2481 * coding.c (encode_coding): Use precomputed value of `src'.
2482 (encode_coding): Remove unused variable `src_end'.
2483 (code_convert_region): Remove unused variables `count'.
2484
2485 2001-11-07 Jason Rumney <jasonr@gnu.org>
2486
2487 * w32term.c (x_display_and_set_cursor): Do not move system caret
2488 if cursor_glyph is NULL.
2489
2490 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2491
2492 * keymap.c (access_keymap): Fix compilation error.
2493
2494 2001-11-07 Miles Bader <miles@gnu.org>
2495
2496 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
2497
2498 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2499
2500 * intervals.c (graft_intervals_into_buffer):
2501 Remove #ifdef'd-out code.
2502 (graft_intervals_into_buffer): Remove unused variable `middle'.
2503
2504 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
2505 code (eval-current-buffer).
2506 Change doc-string comments to `new style' [w/`doc:' keyword].
2507
2508 2001-11-06 Richard M. Stallman <rms@gnu.org>
2509
2510 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
2511
2512 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
2513
2514 * lread.c (read1): Fix behavior with nested backquoting.
2515
2516 * keyboard.c (make_lispy_event): Check integerness and fix
2517 Lisp_Object/int mixup.
2518
2519 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2520
2521 * fns.c (copy_hash_table): Remove unused variable `v'.
2522
2523 * fontset.c (fontset_font_pattern): Remove unused variable
2524 `family_registry'.
2525
2526 * indent.c (current_column_1): Remove unused variable `prev_col'.
2527
2528 2001-11-05 Richard M. Stallman <rms@gnu.org>
2529
2530 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
2531
2532 * buffer.c (Fkill_buffer): Don't delete auto save file
2533 if buffer is modified.
2534
2535 2001-11-05 Andrew Innes <andrewi@gnu.org>
2536
2537 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
2538 CHECK_NUMBER_CDR.
2539
2540 2001-11-05 Richard M. Stallman <rms@gnu.org>
2541
2542 * unexelf.c (unexec): Minor changes; clean up comments.
2543
2544 2001-11-05 Sam Steingold <sds@gnu.org>
2545
2546 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
2547
2548 2001-11-05 Andreas Schwab <schwab@suse.de>
2549
2550 * sound.c (sound_perror): Save errno from being clobbered.
2551
2552 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
2553
2554 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
2555 the program image directly.
2556
2557 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2558
2559 * buffer.h (Fbuffer_local_value): Add prototype.
2560
2561 2001-11-04 Richard M. Stallman <rms@gnu.org>
2562
2563 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
2564 and CHECK_BUFFER.
2565
2566 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
2567 (record_char): Likewise.
2568
2569 * keyboard.c (make_lispy_event): Don't insist a drag event must
2570 move to a different buffer position. Instead, check for moving at
2571 least double_click_fuzz.
2572
2573 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
2574
2575 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
2576
2577 * indent.c (current_column_1, Fmove_to_column): Separate the code
2578 for display-table glyphs from the code buffer text, to fix
2579 bugs in the former.
2580
2581 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
2582
2583 * buffer.c (Fbuffer_local_value): New function.
2584 (syms_of_buffer): Defsubr it.
2585
2586 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
2587 value of `cursor-in-non-selected-windows'.
2588
2589 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
2590 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
2591 (syms_of_xdisp): Initialize it.
2592
2593 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2594
2595 * xfns.c (Fx_create_frame): Doc fix.
2596
2597 * coding.c: Change doc-string comments to `new style' [w/`doc:'
2598 keyword].
2599
2600 * eval.c (top_level_value, top_level_set): Remove commented and
2601 #ifdef'd-out code.
2602 (Fdefvar): Fix usage in doc-string.
2603
2604 2001-11-03 Richard M. Stallman <rms@gnu.org>
2605
2606 * xfns.c: Include unistd.h, if it exists.
2607
2608 * editfns.c: Move the include of ctype.h after unistd.h.
2609
2610 * gmalloc.c: Test BROKEN_PROTOTYPES.
2611
2612 2001-11-03 Ken Raeburn <raeburn@gnu.org>
2613
2614 * lisp.h (CHECK_STRING_CAR): New macro.
2615 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
2616 treating XCAR and XCDR as lvalues.
2617 (openp): Use CHECK_STRING_CAR.
2618 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
2619
2620 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
2621
2622 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
2623 (SIGMASKTYPE): Define.
2624
2625 * syssignal.h (sigunblock): Don't define if already defined.
2626
2627 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2628
2629 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
2630 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
2631 Fix typos in comments.
2632
2633 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
2634 and #ifdef'd-out code.
2635 Fix and reindent comments.
2636
2637 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
2638
2639 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
2640 argument `i' in macros.
2641
2642 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
2643 `i' in macros.
2644
2645 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
2646 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
2647 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
2648 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
2649 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
2650 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
2651 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
2652 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
2653 in macros.
2654
2655 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
2656 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
2657 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
2658 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
2659 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
2660 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
2661 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
2662 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
2663 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
2664 (remove unused second argument).
2665
2666 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
2667
2668 * syntax.c (describe_syntax): New wrapper.
2669 (Finternal_describe_syntax_value): Rename from describe_syntax.
2670 Don't insert space at front and \n at the end.
2671 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
2672
2673 * regex.c (re_wctype): Try to fix some warnings.
2674 (regcomp, regexec): Don't forget the __restrict.
2675
2676 2001-11-02 Richard M. Stallman <rms@gnu.org>
2677
2678 * textprop.c (Fget_char_property): Doc fix.
2679
2680 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2681
2682 * process.c (Fstart_process): Add usage to doc-string.
2683
2684 * data.c (Fsetq_default): Ditto.
2685
2686 * callint.c (Finteractive): Ditto.
2687
2688 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
2689
2690 * macros.c: Don't include keymap.h any more.
2691
2692 2001-11-01 Richard M. Stallman <rms@gnu.org>
2693
2694 * data.c (Fmake_local_variable): Doc fix.
2695
2696 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
2697 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
2698
2699 * keymap.c (Fdescribe_buffer_bindings): Print character property
2700 bindings along with or instead of the buffer local map.
2701 Make the overriding maps override what they should.
2702
2703 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2704
2705 * window.c (grow_mini_window): Fix typo in comment.
2706
2707 2001-11-01 Gerd Moellmann <gerd@gnu.org>
2708
2709 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
2710 (XTset_vertical_scroll_bar): Likewise.
2711
2712 * xfns.c (x_build_heuristic_mask): Use four_corners_best
2713 instead of IMAGE_BACKGROUND.
2714
2715 * xfns.c (four_corners_best): Reindent.
2716
2717 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
2718 Handle :box so that it is possible to specify sexprs.
2719
2720 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2721
2722 * xfaces.c (Finternal_merge_in_global_face): Reindent.
2723 (Fface_font): Ditto.
2724 (Finternal_set_alternative_font_registry_alist): Ditto.
2725 (Ftty_suppress_bold_inverse_default_colors): Ditto.
2726
2727 * xfns.c (x-get-resource): Reindent.
2728
2729 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
2730
2731 * s/hpux11.h: New file.
2732
2733 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2734
2735 * emacs.c (USAGE1): Show command line option --no-window-system
2736 instead of --no-windows in usage.
2737 (standard_args): Rename --no-windows to --no-window-system.
2738 (bug_reporting_address): Follow Emacs coding conventions.
2739
2740 * eval.c (Fcommandp): Doc fix.
2741 Change doc-string comments to `new style' [w/`doc:' keyword].
2742
2743 * frame.c (Fframe_live_p): Doc fix.
2744
2745 * buffer.c (selective-display-ellipses): Doc fix.
2746
2747 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2748
2749 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
2750
2751 * xfaces.c (realize_x_face): If C is not a single-byte character,
2752 set the face's colors_copied_bitwise_p instead of the defaulted_p
2753 members which have a different meaning.
2754 (free_face_colors): Do nothing for a face whose colors have been
2755 copied bitwise.
2756
2757 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
2758
2759 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2760
2761 * marker.c, mocklisp.c: Change doc-string comments to `new style'
2762 [w/`doc:' keyword].
2763
2764 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2765
2766 * fns.c (require_unwind): Return Lisp_Object.
2767
2768 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2769
2770 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
2771 (last-input-char): Revert doc-string to be the same as the
2772 doc-string of `last-input-event'.
2773
2774 * xdisp.c: Fix typos in comments.
2775
2776 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2777
2778 * window.c (grow_mini_window): Handle case that the root
2779 window is already smaller than the nominal mininum height.
2780
2781 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
2782
2783 * emacs.c (main): Don't call keys_of_macros any more.
2784
2785 * lisp.h (keys_of_macros): Remove.
2786
2787 * macros.c (keys_of_macros): Remove.
2788
2789 * xfaces.c (Fface_attribute_relative_p): Declare args.
2790
2791 2001-10-30 Jason Rumney <jasonr@gnu.org>
2792
2793 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
2794 (enum_font_cb2): Ignore fonts with vertical orientation.
2795
2796 2001-10-30 Richard M. Stallman <rms@gnu.org>
2797
2798 * keyboard.c (Finput_pending_p): Doc fix.
2799
2800 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2801
2802 * xterm.c (x_after_update_window_line): Don't run the code
2803 clearing in borders for rows whose visible height is 0.
2804
2805 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
2806 resized_p flag is set. If not set, use the much less flickering
2807 method previously used.
2808
2809 * dispnew.c (change_frame_size_1): Set frame's resized_p.
2810
2811 * frame.h (struct frame) <resized_p>: New member.
2812
2813 * lread.c (to_multibyte): Ensure read_buffer is at least twice
2814 as large as the number of bytes to convert.
2815
2816 * lread.c (to_multibyte): New function.
2817 (read1): Use it.
2818
2819 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
2820
2821 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
2822
2823 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2824
2825 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
2826 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
2827 if the row's fill_line_p is set and drawing the last glyph with
2828 DRAW_IMAGE_{RAISED,SUNKEN}.
2829
2830 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
2831
2832 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2833
2834 * xmenu.c: Include coding.h and charset.h.
2835 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
2836 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
2837 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
2838 Explicitly set wv->help. Use `TRUE' rather than `True'.
2839 (menu_help_callback): Use empty_string.
2840
2841 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
2842 (Fx_popup_dialog): Explicitly init f.
2843 (w32_menu_display_help): Use empty_string.
2844
2845 2001-10-29 Richard M. Stallman <rms@gnu.org>
2846
2847 * fns.c (Frequire): Detect recursive try to require the same
2848 feature 3 or more levels deep, and get error.
2849 (require_unwind): New subroutine.
2850 (require_nesting_list): New variable.
2851 (syms_of_fns): Init and staticpro it.
2852
2853 * print.c (print_object): Clarify indication of insertion type.
2854
2855 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
2856
2857 * coding.c (syms_of_coding): Document that locale-coding-system is
2858 used for decoding input on X.
2859
2860 * window.c (Fscroll_left, Fscroll_right): Doc fix.
2861
2862 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2863
2864 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
2865 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
2866
2867 2001-10-29 Gerd Moellmann <gerd@gnu.org>
2868
2869 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
2870 use NO_CURSOR if cursor_in_non_selected_windows is false.
2871
2872 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
2873 the slant attribute if FRAME is t.
2874
2875 * xfns.c (x_set_internal_border_width): Set frame garbaged
2876 when X window doesn't exist yet.
2877
2878 * xterm.c (x_after_update_window_line): Clear internal border
2879 in different circumstances.
2880
2881 * xterm.c (XTread_socket) <KeyPress>: Don't use
2882 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
2883 <handa@etl.go.jp>.
2884
2885 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2886
2887 * m/ibms390.h: New file. From Adam Thornton
2888 <athornton@sinenomine.net>.
2889
2890 2001-10-28 Gerd Moellmann <gerd@gnu.org>
2891
2892 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
2893
2894 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
2895 a loop counter.
2896
2897 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2898
2899 * emacs.c: Use argv[0] instead of emacs when -t was specified.
2900
2901 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
2902 keyword].
2903 Fix typos in comments.
2904
2905 * emacs.c (bug_reporting_address): New function.
2906 Use it when displaying usage message.
2907
2908 * minibuf.c (read_minibuf): Remove unused external declaration of
2909 variable `Qread_only'.
2910
2911 * keymap.c (access_keymap): Remove unused variable `charset'.
2912
2913 2001-10-28 Miles Bader <miles@gnu.org>
2914
2915 * xfaces.c (merge_face_heights): Handle TO being relative as well.
2916 Remove #ifdef'd-out code.
2917 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
2918 (syms_of_xfaces): Initialize them.
2919
2920 2001-10-27 Jason Rumney <jasonr@gnu.org>
2921
2922 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
2923 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
2924 position using the system caret.
2925
2926 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
2927 (w32_system_caret_height, w32_system_caret_x)
2928 (w32_system_caret_y): New variables for tracking system caret.
2929 (w32_initialize): Initialize them.
2930 (x_display_and_set_cursor): Make system caret follow the active cursor.
2931
2932 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
2933 New messages types.
2934
2935 * w32term.c (note_mouse_highlight): Clear old help_echo.
2936
2937 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2938
2939 * xterm.c: Fix typo in a comment.
2940
2941 * emacs.c: Fix typos in comments.
2942 Remove unnecessary spaces.
2943 Change doc-string comments to `new style' [w/`doc:' keyword].
2944 (USAGE2): Fix typos in usage string.
2945
2946 * xterm.c: Fix typo in a comment.
2947
2948 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
2949 emacs.c.
2950
2951 2001-10-27 Gerd Moellmann <gerd@gnu.org>
2952
2953 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
2954 instead of 1/2 line_height in the heuristic for skipping
2955 farther backward when target_y was not reached.
2956
2957 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
2958 Display errno only if non-zero.
2959 (sound_warning): New function.
2960 (vox_configure): Don't treat failing to set sample rate as error.
2961 (various places): Improve error messages.
2962
2963 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
2964
2965 * fileio.c (Faccess_file): Run the argument filename through
2966 Fexpand_file_name, before using it.
2967
2968 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
2969 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
2970
2971 2001-10-26 Gerd Moellmann <gerd@gnu.org>
2972
2973 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
2974
2975 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2976 Fix clearing in the case of scroll bars on the right.
2977
2978 2001-10-26 Juanma Barranquero <lektu@terra.es>
2979
2980 * w32gui.h (XImage): Add a dummy typedef.
2981
2982 2001-10-26 Gerd Moellmann <gerd@gnu.org>
2983
2984 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
2985
2986 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
2987
2988 * frame.c (Fframe_parameter): Fix last change.
2989
2990 * fileio.c: Revert last change (which removed old commented-out
2991 version of expand-file-name). Add a comment that explains why
2992 this old version should not be removed.
2993
2994 2001-10-25 Gerd Moellmann <gerd@gnu.org>
2995
2996 * frame.c (Fframe_parameter): Fix a bug whereby some
2997 ``artificial'' frame parameters, like `minibuffer' were not
2998 obtained by calling Fframe_parameters.
2999
3000 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
3001 cursor differently.
3002
3003 * xdisp.c (move_it_vertically_backward): Compute line height
3004 differently. Add heuristic to try to be more compatible to 20.x.
3005
3006 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
3007
3008 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
3009
3010 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
3011 boolean.
3012
3013 2001-10-25 Miles Bader <miles@gnu.org>
3014
3015 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
3016 BG is a pointer to a structure, not a structure.
3017 (gif_format, png_format): Add missing commas.
3018
3019 2001-10-24 Richard M. Stallman <rms@gnu.org>
3020
3021 * xfaces.c (Fface_attributes_as_vector): New function.
3022 (syms_of_xfaces): Defsubr it.
3023
3024 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3025
3026 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
3027 variable `area'.
3028
3029 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3030
3031 * search.c (scan_newline): Remove unused variable `selective_display'.
3032
3033 2001-10-25 Miles Bader <miles@gnu.org>
3034
3035 * dispextern.h (struct image): Add `background',
3036 `background_valid', and `background_transparent' fields.
3037 (image_background, image_background_transparent): New declarations.
3038 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
3039 * xfns.c (image_background, image_background_transparent)
3040 (four_corners_best): New functions.
3041 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
3042 (gs_format): Add `:background' entry.
3043 (lookup_image): Set IMG's background color if specified.
3044 (pbm_load, xbm_load_image, png_load): Set IMG's background field
3045 when appropriate.
3046 (x_clear_image_1): Reset `background_valid' and
3047 `background_transparent_valid' fields.
3048 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
3049 calculating it here. Set IMG's background_transparent field.
3050 (enum xpm_keyword_index): Add XPM_BACKGROUND.
3051 (enum png_keyword_index): Add PNG_BACKGROUND.
3052 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
3053 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
3054 (enum gif_keyword_index): Add GIF_BACKGROUND.
3055 (enum gs_keyword_index): Add GS_BACKGROUND.
3056 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
3057 Pre-calculate image background color where necessary.
3058 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
3059 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
3060 color to use for image glyph reliefs.
3061
3062 2001-10-24 Gerd Moellmann <gerd@gnu.org>
3063
3064 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
3065 in full-width rows.
3066
3067 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3068 Fix clearing of area not covered by scroll bar.
3069
3070 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3071
3072 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
3073 and `real_start'.
3074 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
3075 (glyph_rect): Remove unused variable `area'.
3076
3077 2001-10-24 Gerd Moellmann <gerd@gnu.org>
3078
3079 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
3080
3081 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
3082 (row_containing_pos): Take additional argument DY.
3083 Treat rows ending in middle of char differently.
3084 (display_line): Handle tabs on window systems differently.
3085
3086 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
3087 with additional argument.
3088
3089 * dispextern.h (row_containing_pos): Adjust prototype.
3090
3091 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
3092 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
3093 (try_window_id, try_window_reusing_current_matrix)
3094 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
3095 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
3096
3097 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3098
3099 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
3100 gnuemacs).
3101 (HAVE_BOXES): Fix typo in comment.
3102 (push_menu_pane): Fix typo in comment.
3103
3104 * xdisp.c: (display_prop_string_p): Remove unused local declaration
3105 of `Qwhen'.
3106 (single_display_prop_string_p): Remove unused local declarations
3107 of `Qwhen' and `Qmargin'.
3108 (string_buffer_position): Remove unused variable `around'.
3109 (store_frame_title): Remove unused variable `width'.
3110
3111 * window.c: Don't define max.
3112 (coordinates_in_window): Remove unused variable `uy'.
3113
3114 * widget.c: Don't define max.
3115
3116 * process.c: Don't define max.
3117 (create_process): Remove unused variable `buffer'.
3118
3119 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3120
3121 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
3122
3123 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
3124
3125 * xfaces.c (Finternal_set_lisp_face_attribute)
3126 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
3127 frame is on a windowed display.
3128
3129 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3130
3131 * dispnew.c (sync_window_with_frame_matrix_rows):
3132 Fix handling of windows which aren't full-width, fix handling
3133 of marginal areas.
3134
3135 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
3136
3137 2001-10-23 Andreas Schwab <schwab@suse.de>
3138
3139 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
3140 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
3141
3142 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3143
3144 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
3145 REAL_END. Notice if cursor gets overwritten.
3146 (notice_overwritten_cursor): Take X positions as parameters.
3147 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
3148 around call to x_draw_glyphs.
3149
3150 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3151
3152 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
3153 instead of C) and usage.
3154
3155 * editfns.c (char-to-string): Fix argument names (use CHAR instead
3156 of C) and usage.
3157
3158 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
3159 `left', `max_width' and `max_height'.
3160
3161 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3162
3163 * xdisp.c (display_line): For a tab continued to the next line,
3164 set row's ends_in_middle_of_char_p.
3165
3166 2001-10-22 Gerd Moellmann <gerd@gnu.org>
3167
3168 * xdisp.c (display_line): Fix computation of continuation lines
3169 width for TABs.
3170
3171 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3172
3173 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
3174 `Qlaplace'.
3175
3176 * fileio.c: Remove unused code.
3177
3178 2001-10-22 Miles Bader <miles@gnu.org>
3179
3180 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
3181 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
3182 Remove `DOC_STRINGS_IN_COMMENTS' cases.
3183
3184 2001-10-21 Jason Rumney <jasonr@gnu.org>
3185
3186 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
3187
3188 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3189
3190 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
3191 (Finsert_string): Avoid the multi-line string literals warning.
3192
3193 2001-10-22 Miles Bader <miles@gnu.org>
3194
3195 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
3196 (Fdocumentation): Don't use it.
3197 (syms_of_doc): Don't initialize it.
3198
3199 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
3200 * print.c (Fwith_output_to_temp_buffer): Likewise.
3201 * window.c (Fsave_window_excursion): Likewise.
3202 * editfns.c (Fsave_excursion, Fsave_current_buffer)
3203 (Fsave_restriction): Likewise.
3204 * eval.c (Frun_hooks, Frun_hook_with_args)
3205 (Frun_hook_with_args_until_failure)
3206 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
3207 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
3208 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
3209 (Funwind_protect, Fcondition_case): Likewise.
3210 * coding.c (Ffind_operation_coding_system): Likewise.
3211 * keyboard.c (Ftrack_mouse): Likewise.
3212
3213 2001-10-21 Miles Bader <miles@gnu.org>
3214
3215 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
3216 (Fmake_hash_table): Add usage: string to doc string.
3217 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
3218 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
3219 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
3220 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
3221 (Fml_prefix_argument_loop): Likewise.
3222
3223 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3224
3225 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
3226
3227 * sysdep.c (init_sys_modes): Change doc-string comments to `new
3228 style' [w/`doc:' keyword].
3229
3230 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
3231 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
3232 comments to `new style' [w/`doc:' keyword].
3233
3234 2001-10-21 Jason Rumney <jasonr@gnu.org>
3235
3236 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
3237
3238 * w32term.c (remember_mouse_glyph): New function.
3239 (w32_mouse_position): Use it.
3240 (note_mouse_movement): If the mouse moved off the glyph, remember
3241 its new position.
3242
3243 * w32term.h (struct w32_output): Correct spelling of x_compatible.
3244 (w32_display_info): Add mouse_face_overlay.
3245
3246 * w32term.c (notice_overwritten_cursor): Renamed from
3247 note_overwritten_text_cursor. Rewritten to take glyph widths into
3248 account.
3249 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3250 (fast_find_string_pos): New function.
3251 (fast_find_position): Return the correct vpos. Add parameter
3252 STOP. In the final row, stop before glyphs having STOP as object.
3253 Don't consider glyphs that are not from a buffer.
3254 (fast_find_position) [0]: Add a presumably more correct version
3255 for after 21.1.
3256 (expose_window_tree, expose_frame): Don't compute intersections here.
3257 (expose_window): Do it here instead.
3258 (expose_window_tree, expose_window, expose_line): Return 1 when
3259 overwriting mouse-face.
3260 (expose_window): If W is the window currently being updated, mark
3261 the frame garbaged.
3262 (expose_frame): If mouse-face was overwritten, redo it.
3263 (x_use_underline_position_properties): New variable.
3264 (syms_of_xterm): DEFVAR_BOOL it.
3265 (x_draw_glyph_string): Add comment to use it in future.
3266 (x_draw_glyph_string): Restore clipping after drawing box.
3267 Fix a computation of the underline position.
3268 (w32_get_glyph_string_clip_rect): Minor cleanup.
3269 (x_fill_stretch_glyph_string): Remove an assertion.
3270 (x_produce_glyphs): Don't convert multibyte characters
3271 to unibyte characters in unibyte buffers.
3272 (cursor_in_mouse_face_p): New function.
3273 (x_draw_stretch_glyph_string): Use it to choose a different GC
3274 when drawing a cursor within highlighted text. Don't draw
3275 background again if it has already been drawn.
3276 (x_draw_glyph_string_box): Don't draw a full-width
3277 box just because the glyph row's full_width_p flag is set.
3278 (x_draw_glyphs): Fix computation of rightmost x for
3279 full-width rows.
3280 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3281 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
3282 change bottom shadow accordingly. Some cleanup.
3283 (x_update_window_end): Handle overwritten mouse face
3284 also for tool bar windows.
3285 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3286 DRAW is DRAW_IMAGE_RAISED.
3287 (clear_mouse_face): Return 1 if text with mouse face was
3288 actually redrawn. Make the function static. Reset
3289 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
3290 optimize away highlighting if we pass over that same overlay again.
3291 (note_mouse_highlight): Call mouse_face_overlay_overlaps
3292 to detect a case where we have to highlight a different region
3293 despite not having left the currently highlighted region.
3294 Set mouse_face_overlay in the x_display_info. Avoid changing the
3295 mouse pointer shape when show_mouse_face has already done it, or
3296 there is no need. Handle mouse-face and help-echo in strings.
3297 (glyph_rect): New function.
3298 (w32_mouse_position): Use it to raise the threshold for mouse
3299 movement event generation.
3300 (w32_initialize_display_info): Initialize the x_display_info's
3301 mouse_face_overlay.
3302 (w32_set_vertical_scroll_bar): Don't clear a zero height
3303 or width area.
3304 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3305 a widget to zero height.
3306
3307 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
3308 Protect unibyte strings created by replacing their multibyte
3309 equivalents in menu_items.
3310 (w32_menu_show): Don't overwrite an item's name with its key
3311 description in case the description is a multibyte string.
3312 (single_submenu): Some cleanup.
3313
3314 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
3315 (postprocess_image): New function.
3316 (lookup_image): Call it for all image types except PostScript.
3317 (x_kill_gs_process): Call postprocess_image.
3318 (tiff_error_handler, tiff_warning_handler): New functions.
3319 (tiff_load): Install them as handlers.
3320 (x_kill_gs_process): Recognize if someone has cleared the image
3321 cache under us.
3322 (valid_image_p): Protect better against invalid image
3323 specifications. Previous code could signal an error.
3324 (Fx_hide_tip, Fshow_tip): Doc fix.
3325 (Fv_max_tooltip_size): New variable.
3326 (syns_of_xfns): DEFVAR_LISP it.
3327 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
3328 window buffer to *tip* right after creating the frame. Set frame's
3329 window_width. Use a maximum tooltip size specified by
3330 Vx_max_tooltip_size, if that has valid contents.
3331 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3332 Make sure the tooltip is completely visible.
3333 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3334 (Fx_create_frame): Adjust the frame's height for presence
3335 of the tool bar before calling x_figure_window_size.
3336 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
3337 when the window gets smaller.
3338 (x_set_foreground_color): Set frame's cursor_pixel.
3339 (x_set_foreground_color, x_set_background_color): Cleaned up.
3340 (x_set_font): Handle case of x_new_fontset returning the same name
3341 as before, although there was a change in fontsets.
3342
3343 2001-10-21 Miles Bader <miles@gnu.org>
3344
3345 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
3346 (Flogxor): Add usage: string to doc string.
3347 * charset.c (Fstring): Likewise.
3348 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
3349 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
3350
3351 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3352
3353 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
3354
3355 * alloc.c: Reindent DEFUNs with doc: keywords.
3356
3357 * abbrev.c (Finsert_abbrev_table_description): Reindent.
3358
3359 * frame.c: Change doc-string comments to `new style' [w/`doc:'
3360 keyword].
3361
3362 2001-10-20 Gerd Moellmann <gerd@gnu.org>
3363
3364 * (Version 21.1 released.)
3365
3366 2001-10-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3367
3368 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
3369
3370 * xdisp.c (invisible_text_between_p): Put prototype inside #if
3371 0 because unused.
3372
3373 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
3374 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
3375 Change doc-string comments to `new style' [w/`doc:' keyword].
3376
3377 2001-10-20 Miles Bader <miles@gnu.org>
3378
3379 The following changes remove the glyph_row `inverse_p' field,
3380 which is never set anymore, due to other changes:
3381
3382 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
3383 (reassert_line_highlight, change_line_highlight): Declarations removed.
3384 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
3385 (line_hash_code, row_equal_p, fake_current_matrices)
3386 (build_frame_matrix_from_leaf_window, update_frame_line)
3387 (update_frame_line, update_frame_line, update_frame_line):
3388 Don't use `inverse_p' field.
3389 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
3390 change_line_highlight_hook.
3391 (XTreassert_line_highlight, x_change_line_highlight):
3392 Functions removed.
3393 (x_fix_overlapping_area, x_write_glyphs, expose_area)
3394 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3395 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
3396 `inverse_p' field.
3397 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
3398 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3399 (w32_reassert_line_highlight, x_change_line_highlight):
3400 Functions removed.
3401 * w32console.c (reassert_line_highlight, change_line_highlight):
3402 Functions removed.
3403 (initialize_w32_display): Don't set reassert_line_highlight_hook
3404 or change_line_highlight_hook.
3405 (hl_mode): Function removed.
3406 (reset_terminal_modes, set_terminal_modes, update_begin)
3407 (update_end, w32_face_attributes, initialize_w32_display):
3408 (clear_frame, ins_del_lines): Don't call it.
3409 * termhooks.h (reassert_line_highlight_hook)
3410 (change_line_highlight_hook): Declarations removed.
3411 * term.c (reassert_line_highlight_hook)
3412 (change_line_highlight_hook): Variables removed.
3413 (reassert_line_highlight, change_line_highlight): Functions removed.
3414 * msdos.c (IT_reassert_line_highlight)
3415 (IT_change_line_highlight): Functions removed.
3416 (internal_terminal_init): Don't set reassert_line_highlight_hook
3417 or change_line_highlight_hook.
3418 (highlight): Variable removed.
3419 (IT_set_face, IT_update_begin, IT_update_end)
3420 (IT_set_terminal_modes): Don't set or use it.
3421
3422 The following changes remove inverse-video support for terminals
3423 that use a `magic cookie' standout mode. Due to changes in the
3424 way mode-lines are displayed, such support no longer works
3425 anyway, and it's probable that almost no one uses such terminals
3426 anymore:
3427
3428 * term.c (standout_requested): Variable removed.
3429 (update_end, highlight_if_desired): Don't use it.
3430 (chars_wasted, copybuf): Variables removed.
3431 (write_standout_marker): Function removed.
3432 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
3433 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
3434 Don't use `chars_wasted' or `copybuf'.
3435 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
3436 Set `costs_set' to true.
3437 (cursor_to, clear_end_of_line): Test `costs_set' instead of
3438 `chars_wasted'.
3439 (clear_end_of_line): Function removed.
3440 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
3441 (clear_to_end): Call `clear_end_of_line' instead of
3442 `clear_end_of_line_raw'.
3443 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
3444 (term_init): Don't set them.
3445 Turn off any standout/underline modes that require magic cookies.
3446 (ins_del_lines, highlight_if_desired, background_highlight)
3447 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
3448 Remove special processing for magic-cookie standout modes.
3449 (turn_off_face, turn_on_face): Remove special processing for
3450 underline magic-cookie glitch.
3451
3452 2001-10-19 Richard M. Stallman <rms@gnu.org>
3453
3454 * eval.c (syms_of_eval): Doc fixes.
3455
3456 2001-10-19 Gerd Moellmann <gerd@gnu.org>
3457
3458 * xdisp.c (redisplay_internal): Don't clear echo area if the
3459 mini-window is selected.
3460
3461 2001-10-19 Miles Bader <miles@gnu.org>
3462
3463 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
3464 doesn't take precedence if the affected property's value is nil.
3465
3466 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
3467
3468 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
3469 with fields and suggest using `forward-line' to avoid them.
3470 * editfns.c (Fline_beginning_position, Fline_end_position):
3471 Clarify documentation.
3472
3473 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
3474
3475 * keymap.c (current_minor_maps): `override' only shadows its
3476 correspondent in minor-mode-map-alist, not the whole tail.
3477
3478 2001-10-18 Andrew Innes <andrewi@gnu.org>
3479
3480 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
3481 optimization. The fontp->encoding array was not being initialized
3482 correctly when compiled with optimizations by MSVC.
3483
3484 2001-10-18 Gerd Moellmann <gerd@gnu.org>
3485
3486 * xdisp.c (display_line): Indicate empty lines in active mini-window.
3487
3488 2001-10-17 Andrew Innes <andrewi@gnu.org>
3489
3490 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
3491
3492 * w32fns.c (w32_load_system_font): Cache codepage for font, in
3493 font_info.charset field.
3494
3495 * w32term.c (w32_encode_char): Get cached codepage from font_info,
3496 rather than working it out by calling w32_codepage_for_font for
3497 every glyph.
3498
3499 2001-10-17 Andrew Innes <andrewi@gnu.org>
3500
3501 * w32term.c (w32_read_socket): Determine clipping rectangle for
3502 the entire frame, including areas covered by scrollbars and the
3503 menubar. This avoids internal arguments about whether a frame is
3504 fully obscured or not.
3505
3506 2001-10-17 Gerd Moellmann <gerd@gnu.org>
3507
3508 * xdisp.c (try_window_id): Undo last change. Give up if
3509 window ends in strings.
3510
3511 * xdisp.c (try_window_id): Don't display lines after the window
3512 end if the rest of the window after the window end was already blank.
3513
3514 * xdisp.c (try_window_id): Remove code that was only there
3515 for the release of 21.1.
3516
3517 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
3518
3519 2001-10-17 Miles Bader <miles@gnu.org>
3520
3521 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
3522 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
3523 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
3524 Change doc-string comments to `new style' [w/`doc:' keyword].
3525 (DOC_STRINGS_IN_COMMENTS): Macro removed.
3526 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
3527 out make-docfile.
3528
3529 2001-10-16 Miles Bader <miles@gnu.org>
3530
3531 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
3532
3533 2001-10-16 Gerd Moellmann <gerd@gnu.org>
3534
3535 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
3536 *scratch*.
3537
3538 2001-10-16 Ken Raeburn <raeburn@gnu.org>
3539
3540 Avoid the assumption that car and cdr slots of cons cells are
3541 addressable lvalues; this allows for easier experimentation with
3542 other lisp implementations that may not permit such accesses for
3543 various reasons. Not quite complete -- buffer.c still needs some
3544 work, and w32/mac files need rechecking -- so compile-time
3545 enforcement is left disabled for now.
3546
3547 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
3548 gcc with a union-based Lisp object rep. Redefine as no-op for now.
3549 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
3550 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
3551 (XSETCAR, XSETCDR): New macros.
3552 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
3553 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
3554 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
3555 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
3556 XSETCDR.
3557 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
3558 * buffer.c (record_buffer, Fbury_buffer)
3559 (swap_out_buffer_local_variables, recenter_overlay_lists)
3560 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
3561 fields of a cons cell respectively.
3562 * callint.c (quotify_args, Fcall_interactively): Likewise.
3563 * ccl.c (Fregister_code_conversion_map): Likewise.
3564 * coding.c (detect_coding_system): Likewise.
3565 * composite.c (get_composition_id, make_composition_value_copy):
3566 Likewise.
3567 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
3568 (swap_in_symval_forwarding, set_internal, Fset_default)
3569 (Fmake_variable_buffer_local, Fmake_local_variable)
3570 (Fmake_variable_frame_local): Likewise.
3571 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
3572 * keymap.c (Fset_keymap_parent, store_in_keymap)
3573 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
3574 * minibuf.c (get_minibuffer): Likewise.
3575 * search.c (Fmatch_data): Likewise.
3576 * textprop.c (extend_property_ranges): Likewise.
3577 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
3578 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
3579 Likewise.
3580 * w32term.c (x_delete_display): Likewise.
3581 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
3582 Likewise.
3583 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
3584 * doc.c (store_function_docstring): Use XSETCARFASTINT.
3585 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
3586 (Fread_file_name): Use XSETCAR.
3587 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
3588 CHECK_NUMBER_CDR.
3589 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
3590 * frame.c (Fmake_terminal_frame): Use XSETCDR.
3591 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
3592 CHECK_NUMBER_CDR.
3593 * keyboard.c (read_char): Alter list traversal to avoid taking the
3594 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
3595 (parse_menu_item): Use XSETCAR and XSETCDR.
3596 (reach_char_x_menu_prompt): Use XSETCAR.
3597 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
3598 (Fcommand_execute): Use XSETCDR.
3599 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
3600 (openp): Change list traversal to avoid using XCAR as lvalue.
3601 (read_list): Use XSETCDR.
3602 * process.c (wait_reading_process_input): Change wait_for_cell
3603 handling to avoid taking addresses of cons cell slots.
3604 * xselect.c (x_own_selection, x_handle_selection_clear)
3605 (x_clear_frame_selections): Use XSETCDR.
3606 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
3607 (x_handle_property_notify, x_get_foreign_selection)
3608 (x_handle_selection_notify): Use XSETCAR.
3609
3610 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3611
3612 * buffer.c: Put doc strings in comments.
3613
3614 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
3615
3616 2001-10-15 Sam Steingold <sds@gnu.org>
3617
3618 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
3619
3620 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3621
3622 * process.c (process-inherit-coding-system-flag)
3623 (get-buffer-process): Do not confuse make-docfile with doc strings
3624 in comment.
3625
3626 * editfns.c (Fchar_to_string): Make doc string consistent with
3627 arguments. Put doc strings in comments.
3628
3629 * abbrev.c, minibuf.c: Put doc strings in comments.
3630
3631 2001-10-15 Gerd Moellmann <gerd@gnu.org>
3632
3633 * window.c (window_loop): Don't check for Fother_buffer returning nil.
3634
3635 * window.c (select_window_1): Unfreeze window start. Remove a
3636 doubled test for WINDOW being live.
3637
3638 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3639
3640 * fns.c (Fmapconcat): Fix typo in a doc string.
3641
3642 * dispnew.c (Fsleep_for): Fix typo in a doc string.
3643
3644 2001-10-15 Gerd Moellmann <gerd@gnu.org>
3645
3646 * xterm.c (x_draw_glyph_string): Restore clipping after
3647 drawing box.
3648
3649 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3650
3651 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
3652
3653 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
3654
3655 * indent.c (skip_invisible): Use new retval of
3656 TEXT_PROP_MEANS_INVISIBLE.
3657
3658 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
3659 If a parent is reached and noinherit is set, exit immediately.
3660 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
3661
3662 * s/ms-w32.h (EXEC_SUFFIXES):
3663 * s/msdos.h (EXEC_SUFFIXES):
3664 * process.h (EXEC_SUFFIXES): Remove.
3665
3666 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
3667 (decode_suffixes): Remove.
3668
3669 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
3670 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
3671 (invisible_ellipsis_p): Remove.
3672
3673 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
3674 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
3675 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
3676 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
3677 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
3678
3679 2001-10-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3680
3681 * lisp.h (Ftop_level): Add prototype.
3682
3683 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
3684 (XTread_socket): Improve style of comments to follow other
3685 comments.
3686
3687 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
3688 is already prototyped in included lisp.h).
3689
3690 * frame.c (Fset_mouse_position): Improve style of comment to
3691 follow other comments.
3692 (Fset_mouse_pixel_position): Improve style of comment to follow
3693 other comments.
3694 (Fmake_frame_visible): Doc fix and typo in comment.
3695 (Fmake_frame_invisible): Doc fix and typo in comment.
3696 (Ficonify_frame): Fix typo in comment.
3697
3698 2001-10-14 Gerd Moellmann <gerd@gnu.org>
3699
3700 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
3701 * term.c, alloc.c: Put doc strings in comments.
3702
3703 2001-10-13 Gerd Moellmann <gerd@gnu.org>
3704
3705 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
3706 Provide definitions for doc strings in comments.
3707
3708 * fns.c: Put doc strings in comments.
3709
3710 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
3711
3712 * dired.c (file_name_completion): Ignore a candidate directory if
3713 it matches an element in completion-ignored-extensions that ends
3714 in a slash.
3715 (syms_of_dired) <completion-ignored-extensions>: Mention the above
3716 feature in the doc string.
3717 (Ffile_name_completion): Ditto.
3718
3719 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
3720
3721 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
3722
3723 * xfns.c (syms_of_xfns): Update calls to Fprovide.
3724
3725 * lisp.h (Fprovide): Update prototype.
3726 (Ffeaturep, invisible_p): Remove.
3727
3728 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
3729 (DOLIST, LOOP_PROPVAL): New macros.
3730 (invisible_p, invisible_ellipsis_p): Use them.
3731 (invisible_noellipsis_p): New function.
3732 (syms_of_xdisp): Use empty_string.
3733
3734 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
3735
3736 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
3737 (syms_of_lread) <Vafter_load_alist>: Update docstring.
3738
3739 * print.c (Fwith_output_to_temp_buffer): Align with
3740 internal_with_output_to_temp_buffer.
3741 (print_preprocess): Use traverse_intervals_noorder.
3742 (print_object): Update call to traverse_intervals.
3743
3744 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
3745 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
3746
3747 * intervals.c (traverse_intervals_noorder): New function.
3748 (search_for_interval, count_intervals): Use it.
3749 (traverse_intervals): Use less stack space and drop `depth' arg.
3750
3751 * fns.c (Ffeaturep): Add new `subfeature' arg.
3752 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
3753 (Qsubfeatures): New var.
3754 (syms_of_fns): Initialize it.
3755
3756 * keymap.c (Fkey_description): Use empty_string.
3757 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
3758 (syms_of_keymap): Setup inheritance between maps.
3759 Don't export Sdescribe_bindings_internal any more.
3760
3761 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
3762
3763 2001-10-12 Gerd Moellmann <gerd@gnu.org>
3764
3765 * xterm.c (notice_overwritten_cursor): Renamed from
3766 note_overwritten_text_cursor. Rewritten to take glyph widths into
3767 account.
3768
3769 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3770
3771 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
3772 multi-line strings without a trailing "\n\".
3773
3774 2001-10-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3775
3776 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
3777 defined.
3778
3779 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
3780
3781 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
3782
3783 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
3784 * w32proc.c (sys_spawnve):
3785 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
3786 * w32.c (check_windows_init_file):
3787 * sound.c (Fplay_sound):
3788 * emacs.c (init_cmdargs):
3789 * process.c (Fstart_process): Update calls to openp.
3790
3791 * callproc.c (Vexec_suffixes): New var.
3792 (Fcall_process): Update call to openp.
3793 (decode_suffixes): New function.
3794 (syms_of_callproc): Init exec-suffixes.
3795
3796 * lread.c (Vload_suffixes, default_suffixes): New vars.
3797 (openp): Take a lisp list of suffixes.
3798 Check for file-name-handlers even if the file was absolute already.
3799 (syms_of_lread): Declare load-suffixes.
3800 (Fload): Fix up call to openp.
3801 Don't bother checking for file-name-handler at the very beginning.
3802
3803 * keymap.h (Fcopy_keymap): Don't export.
3804
3805 * lisp.h (empty_string): Declare.
3806 (Vload_suffixes, Vexec_suffixes): Declare.
3807 (openp): Update prototype.
3808
3809 * emacs.c (empty_string): New var.
3810 (syms_of_emacs): Initialize it.
3811
3812 * search.c (wordify): Use it.
3813
3814 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
3815 selected window if it's not displayed there. Handle the case
3816 when the window is dedicated.
3817 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
3818
3819 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
3820
3821 * syntax.h (struct gl_state_s): Change the meaning of b_property.
3822 Remove left_ok and right_ok.
3823 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
3824 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
3825 new meaning of b_property.
3826
3827 * syntax.c (update_syntax_table): Simplify.
3828 (Fforward_comment): Don't skip quoted chars when going backward.
3829
3830 2001-10-11 Gerd Moellmann <gerd@gnu.org>
3831
3832 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
3833 in case I is of some unsigned type, in which case
3834 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
3835 comparison becomes bogus.
3836
3837 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
3838 (Fuser_full_name): Fix bug treating a float as a fixnum.
3839
3840 * data.c (Fstring_to_number): Use make_fixnum_or_float.
3841
3842 * lisp.h (make_fixnum_or_float): New macro.
3843
3844 * lisp.h (circular_list_error): Add prototype.
3845
3846 * data.c (Qcircular_list): New variable.
3847 (circular_list_error): New function.
3848 (syms_of_data): Initialize it Qcircular_list.
3849
3850 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
3851
3852 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
3853 * casefiddle.c, buffer.c: Include keymap.h.
3854
3855 2001-10-10 Gerd Moellmann <gerd@gnu.org>
3856
3857 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
3858 options. From Dave Love <d.love@dl.ac.uk>.
3859
3860 2001-10-09 Gerd Moellmann <gerd@gnu.org>
3861
3862 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
3863 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3864
3865 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
3866 unsigned char.
3867 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3868
3869 2001-10-08 Andrew Innes <andrewi@gnu.org>
3870
3871 * lisp.h [max]: Undef min and max before redefining them.
3872
3873 * w32gui.h: Do not undef min and max.
3874
3875 * w32heap.h: Do not undef min and max.
3876
3877 * s/ms-w32.h: Do not undef min and max.
3878
3879 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3880
3881 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
3882
3883 2001-10-08 Sam Steingold <sds@gnu.org>
3884
3885 * keymap.c (current-active-maps): Quote newlines (compilation error).
3886
3887 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3888
3889 * Makefile.in (lisp, shortlisp): Replace bindings.el with
3890 bindings.elc, since otherwise doc strings in bindings.el get wrong
3891 offsets in etc/DOC.
3892
3893 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3894
3895 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
3896
3897 * keyboard.h (map_prompt): Remove.
3898
3899 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
3900 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
3901
3902 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3903
3904 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3905
3906 * keyboard.c (map_prompt): Remove.
3907 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3908 Use Fkeymap_prompt.
3909
3910 * keymap.h: New file. Extracted from lisp.h.
3911
3912 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
3913 (accessible_keymaps_1): New function.
3914 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
3915 (Fwhere_is_internal): Use Fcurrent_active_maps.
3916 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
3917 Insert in current buffer rather than standard-output.
3918 Don't call `help-mode'. Export to elisp.
3919 (describe_buffer_bindings): New wrapper.
3920 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
3921 and Sdescribe_buffer_bindings.
3922
3923 2001-10-08 Gerd Moellmann <gerd@gnu.org>
3924
3925 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3926 Remove code setting signal handler.
3927
3928 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
3929 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
3930
3931 2001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3932
3933 * keyboard.c: Don't define min/max.
3934
3935 2001-10-08 Gerd Moellmann <gerd@gnu.org>
3936
3937 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
3938 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
3939 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
3940 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
3941 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
3942 Don't define min/max.
3943
3944 * lisp.h (min, max): New macros.
3945
3946 * puresize.h (BASE_PURESIZE): Increase to 725000.
3947
3948 2001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3949
3950 * xfaces.c (free_frame_menubar): Add prototype.
3951
3952 * lisp.h (init_window): Add prototype.
3953
3954 * editfns.c: Include ctype.h.
3955
3956 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
3957 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
3958 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
3959 variable `sb'.
3960
3961 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
3962 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
3963 `popup_activated_flag' and `title'.
3964
3965 * doc.c (Fdocumentation_property): Fix typo in a doc string.
3966
3967 * emacs.c (main): Remove extra `;'.
3968
3969 * atimer.h (struct atimer): Fix typos in a comment.
3970
3971 * atimer.c: Fix typo.
3972
3973 * Makefile.in: Fix typo.
3974
3975 * README: Remove obsolete part mentioning removed VMS file.
3976
3977 2001-10-07 Miles Bader <miles@gnu.org>
3978
3979 * Makefile.in (lisp, shortlisp): Add `button.elc'.
3980
3981 2001-10-07 Ken Raeburn <raeburn@gnu.org>
3982
3983 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
3984 Lisp_Object.
3985
3986 * lisp.h (Ffield_end): Declare.
3987
3988 2001-10-07 Gerd Moellmann <gerd@gnu.org>
3989
3990 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
3991
3992 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
3993
3994 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
3995
3996 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
3997
3998 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
3999 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
4000
4001 * alloc.c (inhibit_garbage_collection): Simplify.
4002 (Fmemory_use_counts): Ditto.
4003
4004 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
4005 (syms_of_data): DEFVAR_INT most-positive-fixnum and
4006 most-negative-fixnum.
4007
4008 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
4009 (FIXNUM_OVERFLOW_P): New macros.
4010
4011 2001-10-06 Miles Bader <miles@gnu.org>
4012
4013 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
4014 scroll_bar_bottom_shadow_pixel fields.
4015 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
4016 for the shadows, and tell the toolkit about them if we succeed.
4017 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
4018 Free scroll-bar shadow colors.
4019 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
4020 Free scroll-bar shadow colors when the background color changes.
4021 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
4022 Initialize scroll-bar shadow-color fields.
4023
4024 2001-10-05 Gerd Moellmann <gerd@gnu.org>
4025
4026 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
4027
4028 2001-10-05 Miles Bader <miles@gnu.org>
4029
4030 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
4031 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
4032 New functions (were in simple.el).
4033 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
4034 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
4035 (syms_of_minibuf): Initialize them.
4036
4037 2001-10-05 Gerd Moellmann <gerd@gnu.org>
4038
4039 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
4040 (tiff_load): Install them as error and warning handler.
4041
4042 2001-10-04 Andrew Innes <andrewi@gnu.org>
4043
4044 * w32fns.c (x_to_w32_color): Fix argument to alloca.
4045 (w32_load_system_font): Don't believe what GetLanguageFontInfo
4046 says; query codepage info directly to determine if font is double byte.
4047 (x_to_w32_charset): Handle private format for unknown charsets.
4048 Handle wildcards in charset spec, by ignoring them.
4049 (w32_codepage_for_font): Fix argument to alloca. Don't remove
4050 "*-" prefix from charset.
4051 (x_to_w32_font): Enlarge remainder array for safety. Specifically
4052 handle the truncated font spec form constructed by font_list_1, so
4053 that we correctly identify the charset fields. Don't remove "*-"
4054 prefix from charset.
4055 (w32_list_synthesized_fonts): Fix argument to alloca.
4056
4057 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
4058
4059 * window.h (MINI_WINDOW_P): Use NILP.
4060
4061 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
4062
4063 * termhooks.h (struct input_event): Use proper type for `kind'.
4064
4065 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4066
4067 This handles unknown keysyms better than before. For example,
4068 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
4069 Emacs formerly completely ignored F5. With the change, it derives
4070 a key symbol from the name of the X keysym, `ccaron' in this case.
4071 Reported by Martin Buchholz.
4072
4073 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
4074 unknown keysyms.
4075
4076 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
4077 that EVENT->code isn't a function key, use the keysym's name.
4078
4079 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4080
4081 FOREACH is a macro that should make it easier to loop over Lisp
4082 lists with checks for cycles and proper lists.
4083
4084 * lisp.h (LIST_END_P, FOREACH): New macros.
4085
4086 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4087
4088 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
4089 called for a lost connection. Prevent dumping core in this case.
4090 Instead print the X error, and exit. On user request.
4091
4092 * xterm.c (error_msg): New variable.
4093 (x_fatal_error_signal): New function.
4094 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
4095 as fatal_error_signal_hook around the call to XtCloseDisplay.
4096
4097 * emacs.c (fatal_error_signal_hook): New variable.
4098 (fatal_error_signal): Call that function.
4099
4100 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4101
4102 With this, Emacs prints how much pure storage it will
4103 approximately need in case pure storage overflows while dumping.
4104
4105 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
4106 New variables.
4107 (init_alloc_once): Initialize new variables.
4108 (PURE_POINTER_P): Use new variables.
4109 (pure_alloc): If pure storage overflows, allocate from the heap.
4110 (check_pure_size): New function.
4111 (Fgarbage_collect): Don't GC if pure storage has overflowed.
4112
4113 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
4114 (check_pure_size): Add prototype.
4115
4116 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
4117
4118 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4119
4120 This adds a post-gc-hook that's run with GC inhibited.
4121 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
4122
4123 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
4124 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
4125 (Fgarbage_collect): Run post-gc-hook.
4126
4127 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4128
4129 This adds `defvaralias' and `indirect-variable'. Changes not
4130 directly related to this feature are there to gain the same
4131 performance again as before variable aliases.
4132
4133 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
4134 code to get and set symbol values, to take defvaralias into account.
4135
4136 (Note: the new `constant' bit-flag in symbols would make it
4137 possible to define arbitrary read-only variables, e.g. with
4138 `defconst'.)
4139
4140 Documentation is in lispref/variables.texi. Added to NEWS.
4141
4142 * lisp.h (enum symbol_interned): New enumeration.
4143 (struct Lisp_Symbol): Remove member `obarray', add
4144 `indirect_variable', `constant', and `interned'.
4145 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
4146 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
4147 (indirect_variable): Add prototype.
4148
4149 * print.c (print_preprocess, print_object): Test internedness of
4150 symbols differently.
4151
4152 * lread.c (Fintern, Funintern): Set symbol's interned and constant
4153 bit-fields.
4154 (init_obarray): Likewise for t and nil.
4155
4156 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
4157 (Fdefvaralias): New function.
4158 (specbind): Simplify the test if symbol is a constant.
4159 (syms_of_eval): Defsubr Fdefvaralias.
4160
4161 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
4162 (Qcyclic_variable_indirection): New variable.
4163 (Fkeywordp): Check for internedness differently.
4164 (Fmakunbound): Simplify the test if symbol is a constant.
4165 (indirect_variable, Findirect_variable): New functions.
4166 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
4167 aliased symbol.
4168 (let_shadows_buffer_binding_p): Check for variable aliases.
4169 (set_internal): Simplify the test if SYMBOL is a constant.
4170 If SYMBOL has a buffer-local value and is an alias, use the aliased
4171 symbol instead.
4172 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
4173 Sindirect_variable.
4174
4175 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
4176 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
4177 set directly.
4178
4179 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
4180
4181 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
4182 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
4183 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
4184
4185 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4186
4187 * Branch for 21.1.
4188
4189 2001-10-03 Miles Bader <miles@gnu.org>
4190
4191 * callproc.c (syms_of_callproc): Explicitly state in the
4192 documentation for `process-environment' that earlier entries take
4193 precedence over later ones.
4194
4195 2001-10-02 Miles Bader <miles@gnu.org>
4196
4197 * textprop.c (Fnext_char_property_change)
4198 (Fprevious_char_property_change): Remove reference to non-existant
4199 argument OBJECT from doc-string.
4200
4201 2001-10-01 Gerd Moellmann <gerd@gnu.org>
4202
4203 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
4204 (try_window_id): Skip back over lines ending in a newline from a
4205 string.
4206
4207 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
4208 New bit flag
4209
4210 2001-10-01 Richard M. Stallman <rms@gnu.org>
4211
4212 * search.c (Freplace_match): Doc fix.
4213
4214 2001-09-28 Andrew Innes <andrewi@gnu.org>
4215
4216 * w32menu.c (set_frame_menubar): Take into account that
4217 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4218 <raeburn@gnu.org>.
4219
4220 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
4221
4222 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
4223
4224 2001-09-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4225
4226 * s/gnu-linux.h: Fix a typo in comment.
4227
4228 2001-09-28 Andreas Schwab <schwab@suse.de>
4229
4230 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
4231 nocombreloc, in case -z combreloc is the default.
4232
4233 2001-09-28 Gerd Moellmann <gerd@gnu.org>
4234
4235 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
4236 really going on here.
4237
4238 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
4239
4240 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
4241
4242 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
4243
4244 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
4245 utf-8, menu-bar, and latin-N.
4246 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
4247 unconditionally now.
4248 (lisp): Add latin-N, since they are preloaded.
4249
4250 2001-09-27 Gerd Moellmann <gerd@gnu.org>
4251
4252 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
4253 to the left. Some cleanup.
4254
4255 * xdisp.c (display_mode_element): One more case where a string's
4256 multibyteness should be used for display.
4257
4258 2001-09-26 Gerd Moellmann <gerd@gnu.org>
4259
4260 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
4261 reading at EOF.
4262
4263 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
4264 of the only temporarily set echoing flag for deciding when
4265 the cancel echoing.
4266
4267 * keyboard.c (echo_kboard): Make externally visible.
4268
4269 * lisp.h (echo_kboard): Declare extern.
4270
4271 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
4272 fonts_changed_p if we need larger matrices due to vscrolling.
4273 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
4274 this round of redisplay if make_cursor_line_fully_visible fails.
4275 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
4276 (try_cursor_movement, try_scrolling): Use them instead of integers.
4277
4278 * dispextern.h (required_matrix_width, required_matrix_height):
4279 Add prototypes.
4280
4281 * dispnew.c (required_matrix_width, required_matrix_height):
4282 New functions.
4283 (allocate_matrices_for_window_redisplay)
4284 (allocate_matrices_for_frame_redisplay: Use them.
4285 Remove parameters CH_DIM.
4286
4287 * xdisp.c (display_mode_lines): Temporarily set selected_frame
4288 and selected_window to the frame of the window whose mode-lines
4289 are displayed, and to the window itself.
4290 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
4291 here.
4292
4293 2001-09-25 Gerd Moellmann <gerd@gnu.org>
4294
4295 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
4296 the image cache under us.
4297
4298 * xdisp.c (display_mode_element): If the mode element is a symbol
4299 with a string value, use that string's multibyteness for displaying.
4300
4301 * keyboard.c (read_char): Don't clear a message for a switch-frame
4302 event. From Stefan Monnier <monnier@cs.yale.edu>.
4303
4304 * xterm.c (fast_find_position) [0]: Add a presumably more correct
4305 version for after 21.1.
4306
4307 * xdisp.c (row_containing_pos): Make externally visible.
4308
4309 * dispextern.h (row_containing_pos): Add prototype.
4310
4311 * process.c (send_process): Disable composition if from_byte < 0.
4312 From Kenichi Handa <handa@etl.go.jp>.
4313
4314 2001-09-24 Gerd Moellmann <gerd@gnu.org>
4315
4316 * xterm.c (refreshicon): Function removed.
4317
4318 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
4319
4320 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
4321
4322 * xterm.c (toplevel): Remove includes in #if 0.
4323
4324 * process.c (sigchld_handler) [LINUX]: Don't return from
4325 the signal handler at the end of the loop.
4326
4327 2001-09-21 Gerd Moellmann <gerd@gnu.org>
4328
4329 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
4330 Terminate only if kill returns -1, and errno is ESRCH.
4331
4332 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
4333
4334 * Makefile.in (shortlisp): Add ../lisp/env.elc.
4335
4336 2001-09-20 Gerd Moellmann <gerd@gnu.org>
4337
4338 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
4339 since this function can be called during GC.
4340
4341 * callproc.c (Fcall_process): Handle errors from pipe(2).
4342 (child_setup): Delete code in #ifdef vipc.
4343
4344 2001-09-19 Gerd Moellmann <gerd@gnu.org>
4345
4346 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
4347 (display_mode_element): Display the string from decode_mode_spec
4348 depending on its multibyteness.
4349
4350 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
4351
4352 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
4353
4354 2001-09-18 Gerd Moellmann <gerd@gnu.org>
4355
4356 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
4357 recursive_edit_unwind.
4358 (recursive_edit_unwind): Set kboard state according to
4359 SINGLE-KBOARD.
4360
4361 * buffer.c (modify_overlay): Don't do nothing if START == END;
4362 This can still be a modification, for example when an overlay has
4363 a before-string or after-string.
4364 (Fdelete_overlay): Prevent redisplay optimizations when deleting
4365 an overlay with before-string or after-string.
4366
4367 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
4368 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
4369
4370 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
4371 first_unchanged_at_end_row is in front of
4372 last_unchanged_at_beg_row. This code should be removed after the
4373 release of 21.1.
4374
4375 2001-09-17 Gerd Moellmann <gerd@gnu.org>
4376
4377 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
4378 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
4379
4380 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
4381 versions >= 2.95.
4382
4383 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
4384
4385 * dired.c (Ffile_attributes): Doc fix.
4386
4387 2001-09-14 Gerd Moellmann <gerd@gnu.org>
4388
4389 * fileio.c (Ffile_symlink_p): Fix last change.
4390
4391 * filelock.c (current_lock_owner): Fix last change.
4392
4393 2001-09-13 Gerd Moellmann <gerd@gnu.org>
4394
4395 * filelock.c (current_lock_owner): If readlink returns ERANGE,
4396 take that to mean that the buffer is too small.
4397
4398 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
4399 that to mean that the buffer is too small.
4400
4401 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
4402 current buffer's multibyteness when discarding the iterator's
4403 stack.
4404
4405 * xfns.c (Fx_window_property): Handle case that property gets
4406 deleted between the two calls to XGetWindowProperty.
4407
4408 2001-09-11 Gerd Moellmann <gerd@gnu.org>
4409
4410 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
4411
4412 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
4413 in addition to read-only.
4414
4415 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
4416 to t in addition to read-only.
4417
4418 * lisp.h (Qinhibit_modification_hooks): Declare.
4419
4420 * insdel.c (Qinhibit_modification_hooks): New variable.
4421 (syms_of_insdel): Initialize and staticpro it.
4422
4423 * textprop.c (verify_interval_modification): Don't run
4424 modification-hooks if inhibit_modification_hooks.
4425
4426 * dispnew.c (set_window_cursor_after_update): Fix code
4427 finding glyph row containing cursor when cursor_in_echo_area
4428 is >= 0.
4429
4430 * xdisp.c (init_from_display_pos): Put some code in #if 0.
4431 (add_to_log): Use bcopy instead of strcpy.
4432 (init_from_display_pos): Use an explicit loop over bytes in
4433 overlay strings instead of calling index.
4434
4435 2001-09-10 Gerd Moellmann <gerd@gnu.org>
4436
4437 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
4438
4439 * dispnew.c (direct_output_for_insert): Don't change IT's
4440 stop_charpos to something in front of its current position.
4441
4442 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
4443 `format'.
4444
4445 2001-09-10 Richard M. Stallman <rms@gnu.org>
4446
4447 * frame.c (Fmouse_position): Doc fix.
4448
4449 2001-09-07 Gerd Moellmann <gerd@gnu.org>
4450
4451 * xdisp.c (init_from_display_pos): Don't compare the result
4452 of calling index with NULL.
4453
4454 2001-09-06 Gerd Moellmann <gerd@gnu.org>
4455
4456 * xfns.c (x_set_background_color): Don't change the colors
4457 of the X window of scroll bar widgets.
4458
4459 2001-09-05 Andrew Innes <andrewi@gnu.org>
4460
4461 * w32fns.c (w32_createwindow): Undo last change.
4462
4463 2001-09-05 Gerd Moellmann <gerd@gnu.org>
4464
4465 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
4466
4467 * xdisp.c (string_buffer_position): Use *single_char_property*
4468 functions instead of the *single_property* functions.
4469
4470 2001-09-04 Andrew Innes <andrewi@gnu.org>
4471
4472 * w32term.c (w32_read_socket): Add more information to debugging
4473 output.
4474
4475 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
4476 from Emacs frames, so that calls to GetClipBox in w32term.c
4477 correctly report when part of a frame is visible (including
4478 scrollbars, etc). This prevents repeated redrawing of frames when
4479 only a scrollbar is visible.
4480 (w32_wnd_proc): Add more frame information to debugging output.
4481
4482 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
4483
4484 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
4485
4486 2001-09-03 Gerd Moellmann <gerd@gnu.org>
4487
4488 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
4489 help-echo for a string which doesn't have help-echo itself, use
4490 get-char-property to obtain the help-echo from the string's buffer
4491 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
4492 have mouse-face, look ``under'' the string for mouse-face from an
4493 overlay.
4494 (fast_find_position): Add parameter STOP. In the final row, stop
4495 before glyphs having STOP as object. Don't consider glyphs that
4496 are not from a buffer.
4497
4498 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
4499
4500 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
4501
4502 * fns.c (Fmd5): Doc fix.
4503
4504 2001-08-31 Gerd Moellmann <gerd@gnu.org>
4505
4506 * composite.c (update_compositions): Do nothing if
4507 inhibit-modification-hooks is set.
4508
4509 2001-08-30 Gerd Moellmann <gerd@gnu.org>
4510
4511 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
4512 and check_message_stack if terminating abnormally. We want
4513 glyph matrices etc. in a core dump.
4514
4515 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
4516 (syms_of_xdisp): Initialize them.
4517 (handle_single_display_prop): Don't change point, bind `object',
4518 `position', and `buffer-position' instead to the object having the
4519 `display' property, position in the object and position in the buffer.
4520
4521 * fileio.c (Finsert_file_contents): Don't change the multibyteness
4522 of the buffer if REPLACE is non-nil.
4523
4524 2001-08-29 Gerd Moellmann <gerd@gnu.org>
4525
4526 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
4527
4528 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
4529
4530 * w32term.c (x_set_glyph_string_background_width)
4531 (show_mouse_face): Track the last changes in xterm.c.
4532
4533 2001-08-28 Gerd Moellmann <gerd@gnu.org>
4534
4535 * xterm.c (x_set_glyph_string_background_width): Set the glyph
4536 string's background width so that multi-line mouse-face is drawn
4537 to the right edge of the window.
4538 (show_mouse_face): Set the row's mouse_face_p flag after drawing
4539 glyphs.
4540
4541 * dispnew.c (direct_output_for_insert): Set updated_area
4542 before inserting/writing glyphs.
4543
4544 * xdisp.c (display_mode_element): Use string_byte_to_char to
4545 determine character positions in strings, use chars_in_text
4546 instead of strwidth.
4547 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
4548 a matrix as parameter; this is easier to use from GDB.
4549
4550 2001-08-28 Miles Bader <miles@gnu.org>
4551
4552 * textprop.c (Fprevious_single_char_property_change)
4553 (Fnext_single_char_property_change): Doc fixes.
4554
4555 2001-08-27 Gerd Moellmann <gerd@gnu.org>
4556
4557 * fileio.c (Finsert_file_contents): Allocate, restore, and
4558 free composition data in the case of REPLACE not being nil.
4559
4560 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
4561 there exist overlay strings with newlines at POS.
4562 (text_outside_line_unchanged_p): Return 0 if changes start at
4563 START and overlays exist at START. Likewise for END.
4564 (try_window_id): Give up if init_to_row_end returns 0.
4565
4566 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
4567 unconditionally.
4568
4569 2001-08-24 Gerd Moellmann <gerd@gnu.org>
4570
4571 * keymap.c (access_keymap): Return the cdr of the binding of
4572 a generic character instead of its definition (KEY . BINDING).
4573
4574 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
4575 to 0 also in the REPLACE case.
4576
4577 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
4578
4579 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
4580 open to determine whether file is readable (as for DOS_NT).
4581
4582 2001-08-23 Gerd Moellmann <gerd@gnu.org>
4583
4584 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
4585 coding.type is coding_type_no_conversion or coding_type_raw_text,
4586 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
4587 non-nil instead of just setting enable_multibyte_characters in the
4588 buffer to nil.
4589
4590 2001-08-22 Gerd Moellmann <gerd@gnu.org>
4591
4592 * dispextern.h (struct face_cache): Add member
4593 menu_face_changed_p.
4594
4595 * xfaces.c (menu_face_changed_default): New variable.
4596 (menu_face_changed_count): Variable removed.
4597 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
4598 the menu_face_changed_default flag, otherwise set the FRAME's
4599 menu_face_changed_p flag if the `menu' face has been changed.
4600 Prevent calling set_font_frame_param if FRAME is t.
4601 (make_face_cache): Initialize cache's menu_face_changed_p
4602 from menu_face_changed_default.
4603 (realize_basic_faces): Look into the frame's face cache to
4604 determine if the menu appearance needs updating.
4605
4606 * keymap.c (access_keymap): Fix last change to not consider
4607 IDX when it has modifiers.
4608
4609 2001-08-21 Gerd Moellmann <gerd@gnu.org>
4610
4611 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
4612 . BINDING) exists, where GENERIC-CHAR is the generic character of
4613 the charset of IDX, return BINDING unless there exists a binding
4614 for IDX itself.
4615
4616 2001-08-16 Gerd Moellmann <gerd@gnu.org>
4617
4618 * xrdb.c (SYSV): Don't define on Solaris 2.
4619 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4620
4621 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
4622 of the screen line, not text line, containing IT's current position.
4623
4624 2001-08-15 Gerd Moellmann <gerd@gnu.org>
4625
4626 * window.c (window_scroll_pixel_based): Don't recenter if
4627 PT is partially visible in the window.
4628
4629 * xterm.c (expose_window_tree, expose_window, expose_line):
4630 Return 1 when overwriting mouse-face.
4631 (expose_frame): If mouse-face was overwritten, redo it.
4632
4633 * xfaces.c (x_update_menu_appearance): Don't call
4634 set_frame_menubar, let the next redisplay do it.
4635
4636 2001-08-14 Andrew Innes <andrewi@gnu.org>
4637
4638 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
4639 drawing glyph string.
4640
4641 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
4642
4643 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
4644 running HI-UX/MPP.
4645
4646 2001-08-14 Gerd Moellmann <gerd@gnu.org>
4647
4648 * xfaces.c (x_update_menu_appearance): Save and restore value of
4649 interrupt_input_blocked.
4650
4651 2001-08-13 Gerd Moellmann <gerd@gnu.org>
4652
4653 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
4654 a line start, move back to the line start.
4655
4656 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
4657 exactly when a mini-buffer is active.
4658
4659 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
4660 in units of 1/8 character on non window-system frames.
4661 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
4662
4663 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4664
4665 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
4666 a doc string.
4667
4668 2001-08-09 Gerd Moellmann <gerd@gnu.org>
4669
4670 * keyboard.c (Vpre_help_message): New variable.
4671 (syms_of_keyboard): Initialize and staticpro it.
4672 (show_help_echo): Record current message before displaying a
4673 help-echo, and restore that message when clearing the help.
4674
4675 * xfns.c (x_create_im): Remove prototype.
4676
4677 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
4678
4679 * dispnew.c (adjust_glyph_matrix): Undo last change.
4680
4681 2001-08-08 Gerd Moellmann <gerd@gnu.org>
4682
4683 * dispnew.c (adjust_glyph_matrix): In the optimization for
4684 windows whose height has changed, disable partially visible lines.
4685
4686 2001-08-07 Gerd Moellmann <gerd@gnu.org>
4687
4688 * window.c (Frecenter): If ARG < 0, and on a window system
4689 frame, count in some empty lines when we can't move -ARG lines down.
4690
4691 * xdisp.c (start_display): Don't try to determine the continuation
4692 lines width if lines are truncated. It's superfluous and leads to
4693 incorrect results if POS is not visible in the window after
4694 reseating the iterator at the previous line start.
4695
4696 2001-08-06 Gerd Moellmann <gerd@gnu.org>
4697
4698 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
4699
4700 2001-08-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4701
4702 * alloc.c (init_stack): Remove declaration.
4703
4704 2001-08-03 Gerd Moellmann <gerd@gnu.org>
4705
4706 * keyboard.c (read_key_sequence): Check that key is an integer
4707 before comparing it with quit_char.
4708 (add_command_key): Use larger_vector.
4709 (read_char_x_menu_prompt): Instead of converting symbol and
4710 integer events into conses (EVENT . nil), use (EVENT . disabled)
4711 which cannot be confused with valid events.
4712 (read_char): When reading from Vunread_command_events, check for
4713 events of the form (EVENT . disabled) instead of
4714 (EVENT . nil).
4715
4716 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
4717 a float, determine the max height from the frame's height.
4718
4719 2001-08-02 Gerd Moellmann <gerd@gnu.org>
4720
4721 * xdisp.c (redisplay_internal): Take message_cleared_p into
4722 account only if minibuf_level == 0.
4723
4724 2001-08-01 Gerd Moellmann <gerd@gnu.org>
4725
4726 * xdisp.c (redisplay_internal): Add a check for the last
4727 displayed message.
4728
4729 * xdisp.c (message_cleared_p): New variable.
4730 (clear_message): Set message_cleared_p when clearing the current
4731 message.
4732 (redisplay_internal): Look at message_cleared_p to capture
4733 the case that the echo area should be cleared.
4734
4735 * keyboard.c (command_loop_1): Fix spelling of
4736 resize_echo_area_exactly.
4737
4738 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
4739
4740 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
4741
4742 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
4743 current matrix when the window gets smaller.
4744
4745 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
4746
4747 * print.c (strout): Cast the character passed to insert_char to
4748 unsigned char, to avoid sign extension when it is promoted to int.
4749
4750 2001-07-31 Gerd Moellmann <gerd@gnu.org>
4751
4752 * fileio.c (Finsert_file_contents): Don't treat a return value
4753 of 0 from emacs_read as an IO error.
4754
4755 2001-07-30 Gerd Moellmann <gerd@gnu.org>
4756
4757 * keyboard.c (abs): New macro.
4758 (double_click_fuzz): New variable.
4759 (make_lispy_event): Use it to determine what makes a double-click.
4760 (syms_of_keyboard): DEFVAR_INT it.
4761
4762 * xmenu.c (set_frame_menubar): Take into account that
4763 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4764 <raeburn@gnu.org>.
4765
4766 2001-07-27 Gerd Moellmann <gerd@gnu.org>
4767
4768 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
4769
4770 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
4771 of row's visible height.
4772
4773 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
4774 deal with the first overlay string having an image `display' property.
4775 (try_window_reusing_current_matrix, compute_line_metrics):
4776 Fix computation of row's visible height for the case that part of the
4777 row is invisible above and part of the row is at the same time
4778 invisible below the window.
4779
4780 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4781
4782 * xfns.c (x-show-tip): Doc fix.
4783
4784 * xfns.c (Vx_max_tooltip_size): New variable.
4785 (syms_of_xfns): DEFVAR_LISP it.
4786 (Fx_show_tip): Set frame's window_width to the width of the
4787 window. Use a maximum tooltip size specified by
4788 Vx_max_tooltip_size, if that has valid contents.
4789 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
4790
4791 2001-07-26 Andrew Innes <andrewi@gnu.org>
4792
4793 * w32term.c (x_display_list): New variable.
4794 (w32_term_init): Set it.
4795
4796 * w32term.h (x_display_list): New extern.
4797
4798 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4799
4800 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
4801 is non-nil, instead of when redisplaying_p is non-zero.
4802 See comment there.
4803 (mark_window_display_accurate_1): Add an assertion.
4804
4805 2001-07-25 Gerd Moellmann <gerd@gnu.org>
4806
4807 * dispextern.h (struct it): Increase size of ctl_chars to 16.
4808
4809 * xfns.c (Fx_file_dialog): Block/unblock input while processing
4810 events so that we get a chance of processing expose events.
4811
4812 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
4813
4814 2001-07-24 Gerd Moellmann <gerd@gnu.org>
4815
4816 * xfns.c (valid_image_p): Protect better against invalid image
4817 specifications. Previous code could signal an error.
4818
4819 2001-07-23 Gerd Moellmann <gerd@gnu.org>
4820
4821 * indent.c (current_column): Fix column computation in the
4822 presence of display table entries.
4823 (current_column_1, Fmove_to_column, compute_motion): Likewise.
4824
4825 * dispnew.c (adjust_glyph_matrix): In the optimization for
4826 windows whose height has changed, use the new window height
4827 to compute which rows to invalidate.
4828
4829 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4830 (MAX_10_EXP): New macro.
4831 (Fformat): Use it.
4832
4833 * coding.c (code_convert_region): Handle the multibyte case if
4834 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
4835
4836 2001-07-20 Gerd Moellmann <gerd@gnu.org>
4837
4838 * dispextern.h (struct face): Change type of `stipple' to
4839 int; it's an ID.
4840
4841 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
4842
4843 2001-07-19 Gerd Moellmann <gerd@gnu.org>
4844
4845 * dispnew.c (update_window): Don't set the cursor at the end
4846 of the update if display update has been paused.
4847
4848 * composite.h (syms_of_composite): Renamed from syms_of_composition.
4849
4850 2001-07-18 Ken Raeburn <raeburn@gnu.org>
4851
4852 * fns.c (Fset_char_table_default): Check that a charset is defined
4853 before checking its dimension.
4854
4855 2001-07-17 Ken Raeburn <raeburn@gnu.org>
4856
4857 * coding.c (setup_coding_system): Don't do any designation based
4858 on reg_bits if charset is not yet defined.
4859
4860 * lisp.h (XVECTOR): Verify correct object type before returning a
4861 pointer, using eassert.
4862
4863 2001-07-17 Gerd Moellmann <gerd@gnu.org>
4864
4865 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
4866 Increase to 4096 because of paste problems reported on GNU/Linux.
4867
4868 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
4869
4870 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
4871
4872 2001-07-16 Gerd Moellmann <gerd@gnu.org>
4873
4874 * fileio.c (unwind_read): Function removed.
4875 (read_non_regular, read_non_regular_quit): New functions.
4876 (Finsert_file_contents): When reading from non-regular files,
4877 arrange to catch a `quit' and terminate the loop. Rearrange
4878 code so that a `quit' when reading from a regular file doesn't
4879 insert text in the buffer.
4880
4881 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
4882 Clear faces afterwards.
4883 (clear_font_table): Take a x_display_info parameter. Don't free
4884 fonts being the default font of any frame on the given display.
4885
4886 2001-07-13 Gerd Moellmann <gerd@gnu.org>
4887
4888 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
4889 instead of CHAR_STRING which can signal an error.
4890
4891 * charset.c (char_to_string_1): Extracted from char_to_string.
4892 Return -1 instead of signaling an error.
4893 (char_to_string): Use it.
4894
4895 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
4896
4897 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
4898
4899 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
4900 is t, don't try to append anything to it.
4901
4902 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
4903
4904 * dired.c (file_name_completion): Pass dp->d_name to
4905 Fstring_match, not elt, which is always nil here.
4906
4907 2001-07-12 Gerd Moellmann <gerd@gnu.org>
4908
4909 * xselect.c (x_decline_selection_request): Handle errors
4910 caused by receivers that have vanished.
4911
4912 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
4913 ignoring events on foreign windows in #if 0. Always dispatch
4914 the event after checking it with x_handle_property_notify.
4915
4916 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
4917 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
4918 TRACE macros to facilitate debugging. Add additional trace statements.
4919 (toplevel): Add prototypes for file-local functions.
4920 (x_atom_to_symbol): Remove DPYINFO parameter.
4921
4922 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
4923
4924 * w32menu.c (menubar_selection_callback, w32_menu_show):
4925 Initialize `entry' to nil.
4926 (w32_dialog_show): Remove unused `save_wv' variable.
4927 (name_is_separator): Recognize "--:foo" and "--foo-bar".
4928
4929 2001-07-11 Gerd Moellmann <gerd@gnu.org>
4930
4931 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
4932
4933 * fileio.c (unwind_read): Print a message when discarding inserted
4934 text or switching the buffer to unibyte. Change parameter.
4935 (Finsert_file_contents): Don't pass VISIT to unwind_read.
4936
4937 * fileio.c (unwind_read): New function.
4938 (Finsert_file_contents): Record it as unwind-function for
4939 the case that reading is interrupted by C-g.
4940
4941 2001-07-10 Gerd Moellmann <gerd@gnu.org>
4942
4943 * dispnew.c (update_window): Don't skip the header-line
4944 update when scrolling_window returns 0.
4945
4946 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
4947
4948 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
4949 for the case that x_decode_color signals an error.
4950
4951 * xdisp.c (add_to_log): Do nothing if called asynchronously.
4952
4953 2001-07-09 Gerd Moellmann <gerd@gnu.org>
4954
4955 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
4956 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
4957 around ioctls.
4958
4959 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
4960
4961 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
4962 doc string line for dos-timezone-offset.
4963
4964 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
4965 inline assembly, to avoid compiler warnings.
4966 (syms_of_msdos): Add \n\ at the end of a line in the doc string
4967 line for dos-unsupported-char-glyph.
4968
4969 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
4970
4971 2001-07-05 Gerd Moellmann <gerd@gnu.org>
4972
4973 * sound.c: Include Emacs' header files with #include "...".
4974
4975 * eval.c (specbind): Additionally record the buffer that was
4976 current when a buffer-local or frame-local variable was bound.
4977
4978 2001-07-04 Gerd Moellmann <gerd@gnu.org>
4979
4980 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
4981 to unibyte characters in unibyte buffers.
4982
4983 2001-07-03 Gerd Moellmann <gerd@gnu.org>
4984
4985 * eval.c (specbind): If SYMBOL has a frame-local binding, record
4986 the frame on the binding stack. Change format of entries for
4987 local bindings on the binding stack to '(SYMBOL . WHERE)'.
4988 (unbind_to): Handle unbinding a frame-local variable.
4989
4990 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
4991 glyphs and truncation glyphs at the end of a row from its pixel width.
4992 (dump_glyph_row): Print row's continuation_lines_width.
4993 (try_window_id): Take the shortcut if ZV is visible in the
4994 window, but there are actually no changes at ZV.
4995
4996 2001-07-02 Gerd Moellmann <gerd@gnu.org>
4997
4998 * xterm.h (x_free_dpy_colors): Add prototype.
4999
5000 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
5001 right number of arguments.
5002
5003 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
5004 ($(lwlibdir)TAGS): New target.
5005 (TAGS): Fix dependency list.
5006
5007 * xterm.c (x_list_fonts): Make sure XFreeFont is called
5008 with input blocked.
5009
5010 2001-06-30 Gerd Moellmann <gerd@gnu.org>
5011
5012 * emacs.c (main): Remove extern declaration for sys_nerr, which
5013 isn't used and causes a compilation error with GCC 3.0 on
5014 FreeBSD 4.3.
5015
5016 2001-06-27 Gerd Moellmann <gerd@gnu.org>
5017
5018 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
5019 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
5020 (toplevel): Include <signal.h> and syssignal.h.
5021
5022 * sound.c (vox_configure, vox_close): Turn off atimers
5023 around ioctls.
5024
5025 2001-06-26 Gerd Moellmann <gerd@gnu.org>
5026
5027 * keyboard.c (read_char) <non_reread>: Record the previous idle
5028 start time before calling timer_stop_idle.
5029 (read_char) <reread_first>: After processing a help-echo event,
5030 restore the previous idle start time.
5031
5032 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
5033 the start of invisible text.
5034 (setup_for_ellipsis): New function.
5035 (next_overlay_string): After all overlay strings have been
5036 processed, display an ellipsis if necessary.
5037 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
5038 (push_it): Initialize display_ellipsis_p on the iterator's stack.
5039
5040 * dispextern.h (struct iterator_stack_entry): Add member
5041 display_ellipsis_p.
5042
5043 2001-06-25 Gerd Moellmann <gerd@gnu.org>
5044
5045 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
5046 on the value of the wait-for-wm frame parameter.
5047
5048 * xterm.h (struct x_output): Add member wait_for_wm.
5049
5050 * xfns.c (Qwait_for_wm): New variable.
5051 (x_frame_parms): Add entry for `wait-for-wm".
5052 (x_set_wait_for_wm): New function.
5053 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
5054 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
5055
5056 * xdisp.c (try_window_id) <all changes below window end>: Don't
5057 take this shortcut if ZV is visible in the window.
5058 (try_window_id): When checking for window start being in changed
5059 text, don't check that the buffer's size has changed.
5060
5061 2001-06-23 Richard M. Stallman <rms@gnu.org>
5062
5063 * minibuf.c (Fcompleting_read): Doc fix.
5064
5065 2001-06-19 Gerd Moellmann <gerd@gnu.org>
5066
5067 * composite.c (Ffind_composition_internal): Accept ZV
5068 and a string's end position as POS.
5069
5070 2001-06-18 Gerd Moellmann <gerd@gnu.org>
5071
5072 * composite.c (Ffind_composition_internal): Check POS
5073 for validity.
5074
5075 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
5076
5077 * editfns.c (Fmessage_box): If the frame is not under a window
5078 system, output the message in the echo area.
5079
5080 2001-06-14 Richard M. Stallman <rms@gnu.org>
5081
5082 * xdisp.c (try_window_id): When EOB is visible, don't treat
5083 insertion at EOB as if it were "off the bottom of the screen."
5084
5085 2001-06-11 Andrew Innes <andrewi@gnu.org>
5086
5087 * w32proc.c (create_child): Add new parameter is_gui_app.
5088 (w32_executable_type): Add new parameter is_gui_app.
5089 (sys_spawnve): Use it.
5090 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
5091 SIGQUIT. This matches better how the signals are interpreted by
5092 MSVC compiled programs.
5093 (syms_of_ntproc): Update docstring.
5094
5095 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
5096
5097 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
5098 well otherwise note_mouse_highlight might optimize away highlighting
5099 if we pass over that same overlay again.
5100
5101 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
5102
5103 * lread.c (Fload): Document that the argument is run via
5104 substitute-in-file-name.
5105
5106 2001-05-31 Gerd Moellmann <gerd@gnu.org>
5107
5108 * Makefile.in (bootstrap-doc): New target.
5109 (bootstrap-emacs): Depend on it.
5110
5111 * fileio.c (Fdo_auto_save): Don't try to create the directory of
5112 auto-save-list-file-name when shutting down Emacs, because
5113 creating the directory might signal an error, and leaves
5114 Emacs in a strange state.
5115
5116 * term.c: (tty_cursor_hidden): New variable.
5117 (update_begin): Don't call tty_hide_cursor. Clean up.
5118 (update_end, set_terminal_window, set_scroll_region): Clean up.
5119 (ring_bell, reset_terminal_modes): Clean up.
5120 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
5121 on tty_cursor_hidden.
5122 (write_glyphs): Call tty_hide_cursor.
5123
5124 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
5125
5126 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
5127
5128 2001-05-30 Gerd Moellmann <gerd@gnu.org>
5129
5130 * xfns.c (enum image_value_type): New enumerator
5131 IMAGE_STRING_OR_NIL_VALUE.
5132 (parse_image_spec): Handle it.
5133 (xbm_format, pbm_format): Use it for :foreground and :background.
5134 (xbm_load, pbm_load): Check for nil color names.
5135
5136 * xterm.c (note_mouse_highlight): If an overlapping overlay
5137 exists, but we find that we highlight the same overlay as before,
5138 don't do the highlighting again.
5139
5140 2001-05-29 Gerd Moellmann <gerd@gnu.org>
5141
5142 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
5143 Protect unibyte strings created by replacing their multibyte
5144 equivalents in menu_items.
5145
5146 * keymap.c (Fsingle_key_description): NUL-terminate the string
5147 buffer before calling build_string.
5148
5149 * callproc.c (Fcall_process): Deal with decode_coding returning
5150 CODING_FINISH_INCONSISTENT_EOL.
5151
5152 2001-05-28 Gerd Moellmann <gerd@gnu.org>
5153
5154 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
5155 an item's name with its key description in case the description
5156 is a multibyte string.
5157
5158 * keymap.c (Fsingle_key_description): Create a multibyte string
5159 only if necessary.
5160
5161 * macros.c (Fstart_kbd_macro): Doc fix.
5162
5163 * xterm.c (cursor_in_mouse_face_p): New function.
5164 (x_draw_stretch_glyph_string): Use it to choose a different GC
5165 when drawing a cursor within highlighted text.
5166
5167 * editfns.c (char_property_eq): Put in #if 0.
5168
5169 * indent.c (string_display_width): Put in #if 0.
5170
5171 * lread.c (Fload): Remove unused label.
5172
5173 * termcap.c (speeds): Put in #if 0.
5174
5175 2001-05-18 Gerd Moellmann <gerd@gnu.org>
5176
5177 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
5178
5179 * xfaces.c (xlfd_point_size): Don't divide pixel size from
5180 transformation matrix by 10.
5181
5182 2001-05-16 Gerd Moellmann <gerd@gnu.org>
5183
5184 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
5185 only if it's equal to the former foreground pixel color.
5186 (x_set_foreground_color, x_set_background_color)
5187 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
5188
5189 2001-05-16 Dave Love <fx@gnu.org>
5190
5191 * insdel.c (signal_before_change, signal_after_change): Consider a
5192 local change hook which changes the buffer.
5193
5194 * process.c (read_process_output): Don't call signal_after_change
5195 and update_compositions after insert_from_string_before_markers.
5196
5197 2001-05-16 Gerd Moellmann <gerd@gnu.org>
5198
5199 * xfaces.c (split_font_name): Use the right field when
5200 checking for `[...]' syntax.
5201
5202 * buffer.c (copy_overlays): New function.
5203 (clone_per_buffer_values): Use it.
5204
5205 * buffer.h (OVERLAY_PLIST): New macro.
5206
5207 * keymap.c (Fsingle_key_description): Replace a build_string with
5208 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
5209
5210 * fontset.c (Ffontset_info): Check that face is non-null
5211 before accessing its fields.
5212
5213 2001-05-15 Gerd Moellmann <gerd@gnu.org>
5214
5215 * keyboard.c (read_key_sequence): Prevent generating a fake
5216 prefix key twice.
5217
5218 * xfaces.c (split_font_name): Handle `[...]' for the right
5219 font name fields.
5220
5221 * ccl.c (ccl_driver): Don't copy remaining bytes in case
5222 of CCL_STAT_INVALID_CMD.
5223
5224 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
5225
5226 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
5227 in <var> has no default value yet.
5228
5229 * xfaces.c (try_alternative_families): First try the FAMILY.
5230 And if nothing is found in the end, try again with scalable fonts.
5231 (try_font_list): Let try_alternative_families do a bit more of
5232 the work. Only use FAMILY if it is not nil.
5233 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
5234
5235 2001-05-14 Gerd Moellmann <gerd@gnu.org>
5236
5237 * xterm.c (note_mouse_highlight): Avoid changing the mouse
5238 pointer shape when show_mouse_face has already done it.
5239
5240 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
5241 full-width rows.
5242
5243 * xfaces.c (split_font_name): Make sure to leave the loop
5244 with the right value of `i'.
5245
5246 * xfaces.c (split_font_name): Handle matrix transformations
5247 in the pixel and point size fields of XLFD font names.
5248 (xlfd_point_size): Likewise.
5249
5250 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
5251
5252 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
5253 (x_to_w32_font): Add prototype.
5254
5255 * regex.c (malloc, realloc, free) [emacs]: Undefine before
5256 redefining, to avoid compiler warnings.
5257
5258 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
5259
5260 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
5261 (w32_get_bdf_glyph): Cast between unsigned char and char when
5262 passing arguments to subroutines, to shut up compiler warnings.
5263 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
5264 GET_HEX_VAL.
5265
5266 * xfaces.c: Include keyboard.h before frame.h, not after it.
5267
5268 * widget.c: Include keyboard.h before frame.h.
5269
5270 * w32term.h (struct image, struct face): Forward declaration, to
5271 avoid compiler warnings.
5272
5273 2001-05-11 Gerd Moellmann <gerd@gnu.org>
5274
5275 * keyboard.c (read_key_sequence): Don't modify events when
5276 generating fake prefix keys (mode-line, scroll-bar, ...) since
5277 this prevents proper processing of such events when pushed back
5278 into unread-command-events.
5279
5280 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
5281 actually redrawn. Make the function static.
5282 (note_mouse_highlight): Fix a case where the mouse cursor
5283 was changed back to the text cursor.
5284
5285 * xterm.h (clear_mouse_face): Remove prototype.
5286
5287 * xdisp.c (try_window_id): Fix the fix and set the right
5288 window_end_vpos.
5289
5290 * xdisp.c (try_window_id): Fix computation of window end in the
5291 case that lines were deleted at the end of the window. Add some
5292 more debug_method_adds.
5293
5294 * xfaces.c (try_alternative_families): New function.
5295 (try_font_list): Use it. If ATTRS specifies a family, check
5296 fonts from that family first.
5297 (choose_face_font): Remove code setting the family part of
5298 the pattern to nil.
5299
5300 2001-05-10 Gerd Moellmann <gerd@gnu.org>
5301
5302 * xdisp.c (try_window_id): Fix case of all changes before
5303 the window start.
5304
5305 * xdisp.c (try_window_id): Add some xasserts.
5306
5307 2001-05-09 Gerd Moellmann <gerd@gnu.org>
5308
5309 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
5310
5311 2001-05-09 Dave Love <fx@gnu.org>
5312
5313 * xdisp.c (GIVE_UP): Fix for K&R C.
5314
5315 2001-05-09 Gerd Moellmann <gerd@gnu.org>
5316
5317 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
5318
5319 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
5320 back to the text cursor shape without need.
5321
5322 2001-05-07 Gerd Moellmann <gerd@gnu.org>
5323
5324 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
5325
5326 * dispextern.h (inverse_video): Declare extern.
5327
5328 * keyboard.c (delete_kboard): Handle the case that selected_frame
5329 has been deleted in the course of x_connection_closed.
5330
5331 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
5332
5333 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
5334 Fix the change from 2001-04-30.
5335
5336 2001-05-03 Gerd Moellmann <gerd@gnu.org>
5337
5338 * xfns.c (file_dialog_unmap_cb): New function.
5339 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
5340 where a dialog is closed via the window manager.
5341
5342 * xdisp.c (try_window_id): Cases of changes all in front of
5343 the window start or all below the window end mostly rewritten.
5344 (redisplay_window): Move the tests if try_window_id is
5345 applicable to try_window_id.
5346 (GIVE_UP): New macro.
5347
5348 2001-05-02 Gerd Moellmann <gerd@gnu.org>
5349
5350 * xterm.c (expose_window): Return int. If W is the window
5351 currently being updated, mark the frame garbaged.
5352 Fix computation of rows intersecting the exposed rectangle.
5353 (expose_window_tree): Stop when expose_window returns 0.
5354
5355 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
5356 again if it has already been drawn.
5357
5358 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
5359
5360 * syntax.c (update_syntax_table): Check that oldi has the same
5361 properties as old_prop before deciding not to invalidate.
5362
5363 2001-04-30 Gerd Moellmann <gerd@gnu.org>
5364
5365 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
5366 read-only text that is so because of text properties.
5367
5368 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
5369 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
5370 windows that are components of a Lucid menu bar.
5371
5372 2001-04-27 Gerd Moellmann <gerd@gnu.org>
5373
5374 * term.c (turn_on_face): Fix reverse video handling on terminals
5375 that don't support colors.
5376
5377 2001-04-26 Gerd Moellmann <gerd@gnu.org>
5378
5379 * editfns.c (save_excursion_restore): Don't use XBUFFER on
5380 a non-buffer.
5381
5382 2001-04-25 Gerd Moellmann <gerd@gnu.org>
5383
5384 * term.c (toggle_highlight): New function.
5385 (turn_on_face): Change handling of reverse video.
5386
5387 * process.c (wait_reading_process_input):
5388 Call record_asynch_buffer_change only if a timer really changed buffers.
5389
5390 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
5391 of the number of overlays to check.
5392
5393 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
5394
5395 * xdisp.c (try_window_id): Fix a case where window_end_pos
5396 and window_end_bytepos were not adjusted.
5397
5398 2001-04-23 Gerd Moellmann <gerd@gnu.org>
5399
5400 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
5401 zero instead of -1.
5402
5403 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
5404
5405 * process.c (wait_reading_process_input) [!subprocesses]:
5406 Don't reference waiting_for_user_input_p, it's not defined in the
5407 branch without async subprocesses support.
5408
5409 2001-04-19 Gerd Moellmann <gerd@gnu.org>
5410
5411 * keyboard.c (delete_kboard): Prevent a dangling reference
5412 from current_kboard to KB, which is freed.
5413
5414 * process.c (wait_reading_process_input):
5415 Call record_asynch_buffer_change after running timers, to make
5416 read_key_sequence aware of buffer changes from under it.
5417
5418 2001-04-18 Gerd Moellmann <gerd@gnu.org>
5419
5420 * xfaces.c (Qscalable_fonts_allowed): New variable.
5421 (realizing_basic_faces_p): Removed.
5422 (x_face_list_fonts): Special handling for realizing_basic_faces_p
5423 removed.
5424 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
5425 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
5426 for scalable-fonts-allowed to t.
5427
5428 * fileio.c (Finsert_file_contents): If the file size returned from
5429 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
5430 read from files on a procfs whose contents are generated dynamically.
5431
5432 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
5433
5434 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
5435 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
5436 (__memalign_hook): Make the two prototypes consistent.
5437
5438 2001-04-17 Gerd Moellmann <gerd@gnu.org>
5439
5440 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
5441 matrix of mini-windows.
5442
5443 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
5444
5445 * intervals.c (find_interval): Don't rebalance during signal handling.
5446
5447 2001-04-11 Gerd Moellmann <gerd@gnu.org>
5448
5449 * fns.c: Include blockinput.h.
5450
5451 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
5452
5453 2001-04-10 Gerd Moellmann <gerd@gnu.org>
5454
5455 * fns.c (Fcompare_strings): Fix return values.
5456
5457 * window.c (window_scroll): Change the meaning of N to mean
5458 N screen-fulls or N lines.
5459 (window_scroll_pixel_based, window_scroll_line_based)
5460 (scroll_command, Fscroll_other_window): Change accordingly.
5461
5462 * window.c (window_scroll_pixel_based, Frecenter):
5463 Call window_box_height instead of using it.last_visible_y for the
5464 height of the window.
5465
5466 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
5467 instead of using it.last_visible_y for the height of the window.
5468
5469 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
5470 From Dan Holmsand <dan@eyebee.com>.
5471
5472 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
5473 able to write to hidden and system files. From Dan Holmsand
5474 <dan@eyebee.com>.
5475
5476 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
5477 Holmsand <dan@eyebee.com>.
5478
5479 2001-04-09 Gerd Moellmann <gerd@gnu.org>
5480
5481 * fns.c (Fplist_get, Fplist_put): Add QUITs.
5482
5483 * window.c (window_internal_height): Return 1 less if the
5484 window has a header line.
5485
5486 * xdisp.c (try_window_id): When scrolling on a terminal, take
5487 the change of window_internal_height into account.
5488
5489 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
5490
5491 * gmalloc.c (align): If the argument SIZE would overflow
5492 __malloc_ptrdiff_t, fail right away.
5493
5494 2001-04-06 Gerd Moellmann <gerd@gnu.org>
5495
5496 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
5497 Make sure the tooltip is completely visible.
5498 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
5499
5500 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
5501
5502 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
5503
5504 2001-04-06 Dave Love <fx@gnu.org>
5505
5506 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
5507 Fix test of `from'.
5508
5509 2001-04-06 Gerd Moellmann <gerd@gnu.org>
5510
5511 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
5512
5513 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
5514
5515 2001-04-05 Gerd Moellmann <gerd@gnu.org>
5516
5517 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
5518
5519 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
5520
5521 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
5522 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
5523
5524 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
5525 shell widget's position only if it is non-null.
5526
5527 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
5528 Set f->output_data.x->widget to null after destroying it.
5529
5530 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
5531 FILENAME to bring it in synch with the documentation.
5532
5533 * xfaces.c (realizing_basic_faces_p): Renamed from
5534 realize_default_face_p.
5535 (realize_basic_faces): Set/clear realizing_basic_faces_p.
5536 (realize_default_face): Don't set the flag.
5537
5538 2001-04-04 Gerd Moellmann <gerd@gnu.org>
5539
5540 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
5541
5542 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
5543
5544 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
5545 the buffer that was used for echoing.
5546
5547 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
5548 (first_font_matching): Removed unused function.
5549 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
5550 (may_use_scalable_font_p): Remove parameter FONT; rename
5551 parameter NAME to FONT.
5552 (x_face_list_fonts): Fix missing bounds check.
5553 (realizing_default_face_p): New variable.
5554 (realize_default_face): Set and clear that flag.
5555 (x_face_list_fonts): When called during the realization of the
5556 default face, and no matching fonts are found when ignoring
5557 scalable fonts and fonts matching a regexp from
5558 face-ignored-fonts, try without ignoring fonts.
5559
5560 2001-04-03 Gerd Moellmann <gerd@gnu.org>
5561
5562 * xfns.c (postprocess_image): New function.
5563 (lookup_image): Call it for all image types except PostScript.
5564 (x_kill_gs_process): Call postprocess_image.
5565
5566 * xterm.c (x_use_underline_position_properties): New variable.
5567 (x_draw_glyph_string): Use it.
5568 (syms_of_xterm): DEFVAR_BOOL it.
5569
5570 2001-04-02 Gerd Moellmann <gerd@gnu.org>
5571
5572 * xterm.c (x_alloc_nearest_color_1): New function.
5573 (x_alloc_nearest_color): Use it.
5574 (x_color_cells): Take a Display as argument, instead of a frame.
5575 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
5576 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
5577 (x_initialize): Register cvt_string_to_pixel as resource converter
5578 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
5579
5580 2001-03-30 Gerd Moellmann <gerd@gnu.org>
5581
5582 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
5583 (set_iterator_to_next): If a string from a display property ends,
5584 consider the case that this might also be the end of an
5585 overlay string having the display property.
5586
5587 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
5588
5589 * xdisp.c (reseat_to_string): Undo last change.
5590
5591 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
5592 matrix of a window when the header line changes, when
5593 new rows are allocated, or when the width changes.
5594
5595 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
5596
5597 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
5598
5599 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
5600
5601 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
5602 deprecated.
5603
5604 2001-03-29 Gerd Moellmann <gerd@gnu.org>
5605
5606 * data.c (Fsubr_interactive_form): New function.
5607 (syms_of_data): Defsubr it.
5608
5609 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
5610 (live_float_p, live_misc_p): Return 1 only if the offset of the
5611 pointer in its block is >= 0.
5612
5613 2001-03-28 Paul Eggert <eggert@twinsun.com>
5614
5615 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
5616 microseconds calcuation. Avoid double-rounding problem.
5617 In doc string, warn that the result is approximate.
5618
5619 2001-03-28 Gerd Moellmann <gerd@gnu.org>
5620
5621 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
5622 bind `inhibit-eval-during-redisplay' to t.
5623
5624 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
5625
5626 * xdisp.c (inhibit_eval_during_redisplay)
5627 (Qinhibit_eval_during_redisplay): New variables.
5628 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
5629 don't eval, return nil instead.
5630 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
5631 Initialize Qinhibit_eval_during_redisplay.
5632
5633 * xdisp.c (reseat_to_string): If STRING is multibyte, set
5634 the iterator's multibyte_p flag.
5635
5636 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
5637 instead of setting it to zero; it's incremented for each frame
5638 where the menu face is changed.
5639
5640 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
5641 change bottom shadow accordingly.
5642
5643 * xterm.c (expose_window_tree, expose_frame): Don't compute
5644 intersections here.
5645 (expose_window): Do it here instead.
5646 (x_draw_glyph_string): Fix a computation of the underline position.
5647
5648 * bytecode.c (BYTE_CODE_QUIT): New macro.
5649 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
5650
5651 2001-03-27 Gerd Moellmann <gerd@gnu.org>
5652
5653 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
5654 Give up if matrix starts in an ellipsis.
5655 (init_from_display_pos): Do nothing if POS doesn't specify
5656 a dpvec_index but the iterator has such a position.
5657
5658 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
5659
5660 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
5661 x/y position is (0, 0) after destroying the menu bar, restore
5662 its original position.
5663
5664 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
5665 (init_from_display_pos): Use it.
5666 (try_window_reusing_current_matrix): Don't use cursor_row_p.
5667
5668 2001-03-26 Gerd Moellmann <gerd@gnu.org>
5669
5670 * xdisp.c (try_window_id): Undo last change.
5671
5672 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
5673
5674 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
5675
5676 * buffer.c (syms_of_buffer): Doc fix.
5677
5678 2001-03-26 Gerd Moellmann <gerd@gnu.org>
5679
5680 * xfaces.c (x_update_menu_appearance): Use local variable
5681 popup_path for setting font resources.
5682
5683 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
5684
5685 * frame.c (Fframe_list): Don't reference tip_frame if
5686 HAVE_WINDOW_SYSTEM is not defined.
5687
5688 * emacs.c (main): Update the copyright year. From Werner LEMBERG
5689 <wl@gnu.org>.
5690
5691 2001-03-25 Gerd Moellmann <gerd@gnu.org>
5692
5693 * xdisp.c (init_from_display_pos): Test invisible property
5694 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
5695
5696 * xdisp.c (redisplay_internal) <update one window>: Make sure
5697 last_arrow_position and last_arrow_string are set.
5698
5699 * frame.c (Fframe_list): Don't return a tooltip frame.
5700
5701 2001-03-23 Gerd Moellmann <gerd@gnu.org>
5702
5703 * xdisp.c (mark_window_display_accurate_1): New function,
5704 extracted from mark_window_display_accurate.
5705 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
5706 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
5707 (mark_window_display_accurate): Use it.
5708 (redisplay_internal): Use it for the selected window.
5709 (redisplay_internal): Avoid duplicate mark_window_display_accurate
5710 for the selected frame.
5711
5712 * xdisp.c Use make_number, for readability.
5713 (try_window_id): Disable rows below the window end.
5714 (try_window_reusing_current_matrix): Use cursor_row_p.
5715 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
5716 of rows.
5717 (init_from_display_pos): If POS specifies a position in a display
5718 vector, maybe get the iterator set up for that ellipsis.
5719
5720 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
5721
5722 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
5723
5724 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
5725
5726 2001-03-23 Gerd Moellmann <gerd@gnu.org>
5727
5728 * xfaces.c (x_update_menu_appearance): Use a different path
5729 for Lucid popup menus.
5730
5731 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
5732
5733 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
5734
5735 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
5736 (string_buffer_position): Use `make_number'.
5737
5738 2001-03-22 Gerd Moellmann <gerd@gnu.org>
5739
5740 * xfaces.c (x_update_menu_appearance): Renamed from
5741 x_set_menu_face_resources. Use different resources for popups.
5742
5743 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
5744 (GC_CHECK_STRING_BYTES): Don't define.
5745
5746 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
5747 Removed, together with subroutines.
5748 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
5749 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
5750
5751 * dispextern.h (x_set_menu_resources_from_menu_face):
5752 Remove prototype.
5753
5754 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
5755 Remove calls to x_set_menu_resources_from_menu_face.
5756
5757 * xfaces.c (xm_set_menu_resources_from_menu_face):
5758 Remove #ifndef LESSTIF_VERSION.
5759
5760 * xmenu.c: Include widget.h.
5761 (single_submenu): Return int. Some cleanup.
5762 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
5763
5764 2001-03-21 Gerd Moellmann <gerd@gnu.org>
5765
5766 * xterm.c (x_update_window_end): Handle overwritten mouse face
5767 also for tool bar windows.
5768 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
5769 DRAW is DRAW_IMAGE_RAISED.
5770
5771 2001-03-20 Gerd Moellmann <gerd@gnu.org>
5772
5773 * print.c (syms_of_print): Doc fixes.
5774
5775 * fns.c (Fmd5): Doc fix.
5776
5777 2001-03-19 Gerd Moellmann <gerd@gnu.org>
5778
5779 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5780 Clear area of the frame not occupied by the scroll bar.
5781
5782 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
5783 tip frame's root window buffer to *tip* right after creating
5784 the frame.
5785
5786 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
5787 is an integer don't have to be for space characters.
5788
5789 2001-03-16 Gerd Moellmann <gerd@gnu.org>
5790
5791 * indent.c (current_column, current_column_1, Fmove_to_column)
5792 (compute_motion): Handle characters from display vectors differently.
5793
5794 2001-03-15 Kenichi Handa <handa@etl.go.jp>
5795
5796 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
5797 drawing glyph string.
5798
5799 2001-03-15 Gerd Moellmann <gerd@gnu.org>
5800
5801 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
5802 (command_loop_1): Undo last change.
5803
5804 * xterm.c (fast_find_position): Return the correct vpos.
5805
5806 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
5807 non-null, set a per-buffer value in BUF instead of the current buffer.
5808 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
5809 Call store_symval_forwarding with BUF null.
5810 (set_internal): Call store_symval_forwarding with the BUF
5811 parameter passed to set_internal. Formerly, the value was always
5812 set in the current buffer; the buffer recorded in specbind for
5813 this case wasn't used.
5814 (arith_driver): Reindent.
5815
5816 * buffer.c (swap_out_buffer_local_variables):
5817 Call store_symval_forwarding with BUF null.
5818
5819 * lisp.h (store_symval_forwarding): Change prototype.
5820
5821 * eval.c (specbind): Call store_symval_forwarding with BUF null.
5822
5823 2001-03-14 Gerd Moellmann <gerd@gnu.org>
5824
5825 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
5826 FOR_DELETION. Avoid resizing the mini-window of the selected
5827 frame if FOR_DELETION is set.
5828 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
5829 (Fmake_frame_invisible): Change calls to do_switch_frame for new
5830 signature.
5831
5832 * window.c (Fset_window_configuration): Change call to
5833 do_switch_frame to new format.
5834
5835 * keyboard.c (quit_throw_to_read_char): Change call to
5836 do_switch_frame to new format.
5837
5838 * lisp.h (do_switch_frame): Change prototype.
5839
5840 * frame.c (Fframe_parameters): In the `buffer-list' frame
5841 parameter, store the buffer list of FRAME, not the list of the
5842 selected frame.
5843
5844 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
5845 box just because the glyph row's full_width_p flag is set.
5846
5847 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
5848
5849 * xdisp.c (highlight_trailing_whitespace): On character terminals,
5850 skip the padding blanks inserted in extend_face_to_end_of_line,
5851 before checking for trailing whitespace.
5852
5853 2001-03-13 Gerd Moellmann <gerd@gnu.org>
5854
5855 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
5856 Remove special handling for LessTif/Motif.
5857 (toplevel): Don't include Xm/Xm.h.
5858
5859 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
5860 Remove workaround code for LessTif; it doesn't work anymore.
5861
5862 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
5863 Xm/ScrollBarP.h.
5864
5865 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
5866 Don't access private scroll bar data; it's no longer necessary with
5867 contemporary LessTif.
5868
5869 * xfaces.c (xm_set_menu_resources_from_menu_face):
5870 Change #if 0 to #ifndef LESSTIF_VERSION.
5871
5872 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
5873 removing button grabs.
5874
5875 2001-03-13 Kenichi Handa <handa@etl.go.jp>
5876
5877 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
5878 and clip-large-size-font as obsolete.
5879
5880 * lread.c (read_multibyte): Check the validity of multibyte
5881 sequence. If invalid, return the first byte.
5882
5883 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5884
5885 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
5886 before running the command; timer functions or process
5887 filters may have set it.
5888
5889 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
5890
5891 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
5892 Doc fix.
5893
5894 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5895
5896 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
5897 to sprintf.
5898
5899 2001-03-09 Gerd Moellmann <gerd@gnu.org>
5900
5901 * dispextern.h (string_buffer_position): Add prototype.
5902
5903 * xdisp.c (string_buffer_position, display_prop_string_p)
5904 (single_display_prop_string_p): New functions.
5905
5906 * xterm.c (note_mouse_highlight): If there's no help-echo on
5907 a string, look at the buffer text ``under'' it.
5908
5909 * keyboard.c (make_lispy_event): Add string info to the event,
5910 analogous to what's done on mode lines.
5911 (read_key_sequence): For a click on a string, consider `local-map'
5912 and `keymap' of that string.
5913
5914 * keyboard.c (make_lispy_event, make_lispy_movement):
5915 Adjust calls to buffer_posn_from_coords to new format.
5916
5917 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
5918
5919 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
5920 POS; return void.
5921
5922 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
5923 flags argument to emacs_open; it seems to conflict with O_EXCL.
5924
5925 2001-03-09 Kenichi Handa <handa@etl.go.jp>
5926
5927 * composite.h (struct composition): Change types of members;
5928 glyph_len to unsigned, width to unsigned short.
5929
5930 2001-03-08 Andrew Innes <andrewi@gnu.org>
5931
5932 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
5933 menu titles.
5934
5935 2001-03-08 Gerd Moellmann <gerd@gnu.org>
5936
5937 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
5938 instead of nil.
5939
5940 * xterm.c (note_mouse_highlight): Handle mouse-face and
5941 help-echo in strings.
5942 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
5943 (fast_find_string_pos): New function.
5944
5945 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
5946 (display_string): Call face_at_string_position with new parameter.
5947
5948 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
5949 Handle `mouse-face'.
5950
5951 * dispextern.h (face_at_string_position): Change prototype.
5952
5953 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
5954
5955 * keyboard.c (make_lispy_event): Avoid generating drag events
5956 if the mouse hasn't actually moved to another buffer position.
5957
5958 2001-03-08 Dave Love <fx@gnu.org>
5959
5960 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
5961
5962 2001-03-08 Gerd Moellmann <gerd@gnu.org>
5963
5964 * process.c (Fset_process_window_size): Fix a typo.
5965
5966 2001-03-08 Kenichi Handa <handa@etl.go.jp>
5967
5968 * coding.c (detect_coding_sjis): Do more rigid check.
5969 (detect_coding_big5): Likewise.
5970 (decode_coding_sjis_big5): Likewise.
5971 (Fdetect_coding_region): Call detect_coding_system with tailing
5972 anchor byte `\0' for more rigid detection.
5973 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
5974 (Fdetect_coding_string): Likewise.
5975
5976 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
5977
5978 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
5979 a string before extracting its data.
5980
5981 2001-03-07 Gerd Moellmann <gerd@gnu.org>
5982
5983 * window.c (Frecenter): Rewrite code handling negative values
5984 of ARG on graphical frames.
5985
5986 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
5987
5988 * window.c (displayed_window_lines): If W->start is outside the
5989 accessible portion of the buffer, call start_display with BEGV or
5990 ZV instead of W->start.
5991
5992 2001-03-07 Gerd Moellmann <gerd@gnu.org>
5993
5994 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
5995
5996 * process.c (Fset_process_filter): Don't crash if the input
5997 file descriptor of PROCESS is closed.
5998 (Fset_process_window_size): Likewise.
5999
6000 2001-03-06 Kenichi Handa <handa@etl.go.jp>
6001
6002 * xterm.c (XTflash): Make the timeout of select shorter, and call
6003 select repeatedly until the desired time expires.
6004
6005 2001-03-06 Gerd Moellmann <gerd@gnu.org>
6006
6007 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
6008
6009 * xfns.c (Fx_create_frame): Clear Vwindow_list.
6010
6011 * lisp.h (Vwindow_list): Declare extern.
6012
6013 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
6014
6015 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
6016
6017 2001-03-06 Gerd Moellmann <gerd@gnu.org>
6018
6019 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
6020 to detect a case where we have to highlight a different region
6021 despite not having left the currently highlighted region.
6022 Set mouse_face_overlay in the x_display_info.
6023 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
6024
6025 * xterm.h (struct x_display_info): Add mouse_face_overlay.
6026
6027 * buffer.c (mouse_face_overlay_overlaps): New function.
6028
6029 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
6030 (Qmouse_face): Declare extern.
6031
6032 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
6033 if face_change_count is non-zero.
6034
6035 2001-03-06 Kenichi Handa <handa@etl.go.jp>
6036
6037 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
6038 that the source is unibyte.
6039
6040 2001-03-05 Dave Love <fx@gnu.org>
6041
6042 * xterm.c (XTmouse_position): Fix typo.
6043
6044 2001-03-05 Gerd Moellmann <gerd@gnu.org>
6045
6046 * minibuf.c (read_minibuf): Clean up the binding stack if
6047 called noninteractively.
6048
6049 2001-03-05 Kenichi Handa <handa@etl.go.jp>
6050
6051 * coding.c (syms_of_coding): Docstring modified.
6052
6053 2001-03-05 Kenichi Handa <handa@etl.go.jp>
6054
6055 * charset.c (char_to_string): If a single byte char has modifier
6056 bits that can't be reflected to the character code, ignore them
6057 instead of signaling an error.
6058
6059 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
6060
6061 * s/msdos.h: Update copyright notice.
6062
6063 * dosfns.h: Update copyright notice.
6064
6065 * dosfns.c: Update copyright notice.
6066
6067 * msdos.c: Update copyright notice.
6068
6069 2001-03-02 Gerd Moellmann <gerd@gnu.org>
6070
6071 * xterm.c (glyph_rect): New function.
6072 (XTmouse_position): Use it to raise the threshold for mouse
6073 movement event generation.
6074
6075 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
6076
6077 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
6078 specifies (reverse . t), reverse the initial screen colors.
6079 (IT_set_frame_parameters): If the property is foreground-color,
6080 but we are reversing the colors, set bg_set, not fg_set.
6081 Likewise for setting background-color and reversing: set fg_set.
6082 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
6083 in effect.
6084
6085 * xfaces.c (Finternal_set_lisp_face_attribute)
6086 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
6087 parameters alist.
6088
6089 2001-03-02 Gerd Moellmann <gerd@gnu.org>
6090
6091 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
6092 to a single slash in the middle of file names.
6093
6094 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
6095 Accept only alphanumeric time zone names.
6096
6097 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
6098 or width area.
6099 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
6100 a widget to zero height.
6101
6102 2001-03-01 Gerd Moellmann <gerd@gnu.org>
6103
6104 * window.c (Fwindow_end): Call move_it_past_eol only if
6105 ending up on a partially visible line.
6106
6107 2001-03-01 Dave Love <fx@gnu.org>
6108
6109 * ccl.c (Fccl_execute): Doc fix.
6110
6111 2001-03-01 Gerd Moellmann <gerd@gnu.org>
6112
6113 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
6114 of the tool bar before calling x_figure_window_size.
6115
6116 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
6117 NULL after destroying it, otherwise XTread_socket can access a
6118 destroyed widget when input is unblocked.
6119
6120 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
6121
6122 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
6123 same name as before, although there was a change in fontsets.
6124
6125 2001-02-28 Ken Raeburn <raeburn@gnu.org>
6126
6127 * lisp.h (Fframe_parameter): Declare.
6128
6129 * window.c (set_window_buffer): Field vscroll is an int, not a
6130 Lisp_Object.
6131
6132 2001-02-28 Gerd Moellmann <gerd@gnu.org>
6133
6134 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
6135 NULL instead.
6136
6137 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
6138 NULL instead.
6139
6140 * alloc.c (toplevel): Include process.h.
6141 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
6142 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
6143 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
6144 (allocate_vector, allocate_hash_table, allocate_window)
6145 (allocate_frame, allocate_process, allocate_other_vector):
6146 New functions.
6147 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
6148 (mark_maybe_pointer): New function.
6149 (mark_memory): Also mark Lisp data to which only pointers
6150 remain and not Lisp_Objects.
6151 (min_heap_address, max_heap_address): New variables.
6152 (mem_find): Return MEM_NIL if START is below min_heap_address or
6153 above max_heap_address.
6154 (mem_insert): Compute min_heap_address and max_heap_address.
6155
6156 * process.c (make_process): Use allocate_process.
6157
6158 * frame.c (make_frame): Use allocate_frame.
6159
6160 * window.c (make_window, make_dummy_parent): Use allocate_window.
6161 (Fcurrent_window_configuration): Use allocate_other_vector.
6162
6163 * lisp.h (allocate_vectorlike): Remove prototype.
6164 (allocate_vector, allocate_other_vector, allocate_frame)
6165 (allocate_window, allocate_process, allocate_hash_table):
6166 Add prototypes.
6167
6168 * fns.c (Fdelete, larger_vector): Use allocate_vector.
6169 (make_hash_table, copy_hash_table): Use allocate_hash_table.
6170
6171 2001-02-27 Kenichi Handa <handa@etl.go.jp>
6172
6173 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
6174 treat the produced bytes as a valid multibyte sequence.
6175
6176 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
6177 (ccl_driver) <CCL_WriteMultibyteChar2>:
6178 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
6179 <ccl_finish>: Set ccl->eight_bit_control properly.
6180
6181 * ccl.h (struct ccl_program): New member eight_bit_control.
6182
6183 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
6184
6185 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
6186 accessible_keymaps_char_table.
6187 (accessible_keymaps_char_table): Obey `is_metized'.
6188 (where_is_internal, Fwhere_is_internal): Don't confuse int and
6189 Lisp_Object.
6190
6191 2001-02-26 Gerd Moellmann <gerd@gnu.org>
6192
6193 * dispnew.c: Check HAVE_TERM_H before including term.h.
6194
6195 2001-02-24 Andrew Innes <andrewi@gnu.org>
6196
6197 * makefile.w32-in: Update copyright notice.
6198
6199 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
6200
6201 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
6202
6203 2001-02-24 Kenichi Handa <handa@etl.go.jp>
6204
6205 * Makefile.in (lisp): Add international/utf-8.elc.
6206
6207 * fontset.c (Fnew_fontset): Fix handling of the case that an
6208 element of FONTLIST is a cons of family and registry.
6209
6210 2001-02-23 Jason Rumney <jasonr@gnu.org>
6211
6212 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
6213 to height unconditionally.
6214
6215 * w32term.c (x_set_glyph_string_background_width): Extend the
6216 background face to the end of the drawing area in the text area, only.
6217 (x_insert_glyphs): Call window_box_left to obtain the left
6218 x-coordinate of the area to shift.
6219
6220 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
6221 safe_run_hooks.
6222
6223 2001-02-22 Andrew Innes <andrewi@gnu.org>
6224
6225 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
6226 ($(BLD)\dispnew.obj):
6227 ($(BLD)\editfns.obj):
6228 ($(BLD)\fileio.obj):
6229 ($(BLD)\filelock.obj):
6230 ($(BLD)\keyboard.obj):
6231 ($(BLD)\w32proc.obj):
6232 ($(BLD)\process.obj):
6233 ($(BLD)\sysdep.obj): Ditto.
6234
6235 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
6236 header files.
6237 ($(BLD)/dispnew.$(O)):
6238 ($(BLD)/editfns.$(O)):
6239 ($(BLD)/fileio.$(O)):
6240 ($(BLD)/filelock.$(O)):
6241 ($(BLD)/keyboard.$(O)):
6242 ($(BLD)/w32proc.$(O)):
6243 ($(BLD)/process.$(O)):
6244 ($(BLD)/sysdep.$(O)): Ditto.
6245
6246 2001-02-22 Gerd Moellmann <gerd@gnu.org>
6247
6248 * xdisp.c (forward_to_next_line_start): When taking the shortcut
6249 at the start of the function, check that the \n in it->c is
6250 from the iterator's current position.
6251
6252 * xdisp.c (handle_single_display_prop): Add parameter
6253 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
6254 properties which replace the display of text with something else.
6255 (handle_display_prop): Call handle_single_display_prop with
6256 additional argument saying if we already replaced text display
6257 with something else. Use AREF.
6258 (with_echo_area_buffer_unwind_data, display_menu_bar)
6259 (decode_mode_spec_coding): Use AREF and ASIZE.
6260
6261 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
6262 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
6263 * vmstime.h: Files removed.
6264
6265 * unexencap.c, unexfx2800.c: Files removed.
6266
6267 * dispnew.c (direct_output_for_insert): Give up if we are showing
6268 a message or just cleared the message because we might need to
6269 resize the echo area window or display an empty echo area.
6270
6271 2001-02-21 Gerd Moellmann <gerd@gnu.org>
6272
6273 * xdisp.c (redisplay_internal): Do the
6274 mark_window_display_accurate after all windows have been
6275 redisplayed because this call resets flags in buffers which are
6276 needed for proper redisplay.
6277
6278 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
6279 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
6280 the old names.
6281
6282 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
6283 busy_window to hourglass_window, busy_p to hourglass_p.
6284
6285 * msdos.h (struct x_output): Rename busy_window to
6286 hourglass_window, busy_p to hourglass_p.
6287
6288 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
6289 busy_window to hourglass_window, busy_p to hourglass_p.
6290
6291 * xfns.c: Rename everything containing *busy_cursor* and similar
6292 to *hourglass*.
6293 (syms_of_w32fns): Rename x-busy-pointer-shape to
6294 x-hourglass-pointer-shape, display-busy-cursor to
6295 display-hourglass, busy-cursor-delay to hourglass-delay.
6296
6297 * w32fns.c: Rename everything containing *busy_cursor* and similar
6298 to *hourglass*.
6299 (syms_of_w32fns): Rename x-busy-pointer-shape to
6300 x-hourglass-pointer-shape, display-busy-cursor to
6301 display-hourglass, busy-cursor-delay to hourglass-delay.
6302
6303 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
6304 of its busy_p flag.
6305
6306 * dispextern.h (start_hourglass, cancel_hourglass)
6307 (display_hourglass_p): Renamed from *busy_cursor*.
6308
6309 2001-02-20 Gerd Moellmann <gerd@gnu.org>
6310
6311 * keyboard.c (read_char): When an event from unread-command-events
6312 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
6313
6314 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
6315 equal to the current buffer.
6316
6317 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
6318 nil, otherwise we're left with truncate_lines t when a message
6319 is printed with message-truncate-lines bound to t.
6320
6321 2001-02-19 Gerd Moellmann <gerd@gnu.org>
6322
6323 * window.c (Fmove_to_window_line): Undo last change.
6324 (displayed_window_lines): Call line_bottom_y to determine
6325 the line's bottom position.
6326
6327 * dispextern.h (line_bottom_y): Add prototype.
6328
6329 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
6330 (pos_visible_p): Use it.
6331
6332 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
6333 set redisplaying_p to 0 here instead of in Frecursive_edit.
6334 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
6335 set redisplaying_p.
6336
6337 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
6338 New variables.
6339 (syms_of_xdisp): Initialize new variables.
6340 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
6341 Specbind `inhibit-menubar-update' when updating the menu bar.
6342
6343 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
6344 safe_run_hooks.
6345
6346 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
6347 safe_run_hooks.
6348
6349 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
6350 is null.
6351
6352 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
6353 to the start of the file.
6354
6355 2001-02-16 Gerd Moellmann <gerd@gnu.org>
6356
6357 * window.c (set_window_buffer): Fix last change.
6358
6359 * window.c (set_window_buffer): Set window's vscroll to 0.
6360
6361 * window.c (coordinates_in_window): Increase width of area
6362 where the vertical line can be dragged.
6363
6364 * xterm.c (x_set_glyph_string_background_width): Extend the
6365 background face to the end of the drawing area in the text
6366 area, only.
6367
6368 * xdisp.c (handle_single_display_prop): Set iterator's position
6369 to where the `display' property starts, like for images.
6370 (dump_glyph): New function.
6371 (dump_glyph_row): Use it. Dump info about marginal areas.
6372
6373 * dispnew.c (direct_output_for_insert): Recognize more cases where
6374 glyphs can be written instead of being inserted.
6375
6376 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
6377 the left x-coordinate of the area to shift.
6378
6379 * dired.c (directory_files_internal): Set result list to nil
6380 before retrying.
6381
6382 2001-02-15 Kenichi Handa <handa@etl.go.jp>
6383
6384 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
6385 invalid multibyte sequence, treat *SRC as a character of
6386 eight-bit-graphic.
6387
6388 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
6389
6390 * textprop.c (Fset_text_properties): Doc fix.
6391
6392 2001-02-15 Gerd Moellmann <gerd@gnu.org>
6393
6394 * dispnew.c (update_text_area): Undo change of 2001-01-12.
6395
6396 2001-02-14 Dave Love <fx@gnu.org>
6397
6398 * coding.c: Doc and message fixes.
6399
6400 2001-02-14 Andrew Innes <andrewi@gnu.org>
6401
6402 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
6403 Emacs frame above the screen size.
6404
6405 2001-02-14 Gerd Moellmann <gerd@gnu.org>
6406
6407 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
6408
6409 2001-02-13 Gerd Moellmann <gerd@gnu.org>
6410
6411 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
6412 case that TO ends up beyond ZV after running before-change-functions.
6413
6414 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
6415 the selected window if it is showing the buffer in question.
6416
6417 * dired.c (directory_files_internal): Initialize errno.
6418 (toplevel): Include errno.h.
6419
6420 2001-02-13 Kenichi Handa <handa@etl.go.jp>
6421
6422 * xfaces.c (best_matching_font): New parameter width_ratio.
6423 Multiply avgwidth by width_ratio.
6424 (choose_face_font): Call best_matching_font with width_ratio
6425 calculated from the column width of C.
6426
6427 2001-02-12 Andrew Innes <andrewi@gnu.org>
6428
6429 The following changes are to draw box lines inside characters area
6430 if line-width is negative.
6431
6432 * w32term.c (x_produce_image_glyph): Pay attention to the case that
6433 face->box_line_width is negative.
6434 (x_produce_stretch_glyph): Likewise.
6435 (x_produce_glyphs): Likewise.
6436 (x_estimate_mode_line_height): Likewise.
6437 (x_draw_glyph_string_background): Likewise.
6438 (x_draw_glyph_string_foreground): Likewise.
6439 (x_draw_composite_glyph_string_foreground): Likewise.
6440 (x_draw_glyph_string_box): Likewise.
6441 (x_draw_image_foreground): Likewise.
6442 (x_draw_image_relief): Likewise.
6443 (x_draw_image_foreground_1): Likewise.
6444 (x_draw_image_glyph_string): Likewise.
6445
6446 2001-02-09 Kenichi Handa <handa@etl.go.jp>
6447
6448 The following changes are to draw box lines inside characters area
6449 if line-width is negative.
6450
6451 * xterm.c (x_produce_image_glyph): Pay attention to the case that
6452 face->box_line_width is negative.
6453 (x_produce_stretch_glyph): Likewise.
6454 (x_produce_glyphs): Likewise.
6455 (x_estimate_mode_line_height): Likewise.
6456 (x_draw_glyph_string_background): Likewise.
6457 (x_draw_glyph_string_foreground): Likewise.
6458 (x_draw_composite_glyph_string_foreground): Likewise.
6459 (x_draw_glyph_string_box): Likewise.
6460 (x_draw_image_foreground): Likewise.
6461 (x_draw_image_relief): Likewise.
6462 (x_draw_image_foreground_1): Likewise.
6463 (x_draw_image_glyph_string): Likewise.
6464
6465 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
6466 and :line-width can be negative.
6467 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
6468
6469 2001-02-09 Jason Rumney <jasonr@gnu.org>
6470
6471 * w32term.c (w32_encode_char): Treat eight bit graphic and control
6472 characters the same as ASCII and latin-1.
6473 (x_display_and_set_cursor): Check for the focus frame's selected
6474 window instead of selected_window.
6475 (x_after_update_window_line): Don't clear if frame's internal
6476 border width is zero.
6477 (x_new_font): Don't change a tooltip's size.
6478 (w32_initialize): Set char_ins_del_ok to 1.
6479
6480 * w32fns.c (Fx_show_tip): Fix calls to make_number.
6481 (x_set_font): If font hasn't changed, avoid recomputing
6482 faces and other things.
6483 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
6484 (Fx_create_frame): Add the tool bar height to the frame height.
6485 (x_create_tip_frame): Prevent changing the tooltip's
6486 background color by specifying a color for the default font
6487 in .Xdefaults.
6488 (Qcancel_timer): New variable.
6489 (syms_of_w32fns): Initialize and staticpro it.
6490 (Fx_hide_tip, Fx_show_tip): Use it.
6491 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6492 the timer.
6493 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
6494
6495 * w32.c (init_environment): Duplicate local string before putenv.
6496
6497 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
6498
6499 * charset.c (Fstring): A typo.
6500
6501 2001-02-09 Kenichi Handa <handa@etl.go.jp>
6502
6503 * charset.c (Fstring): If all arguments are less than 256, return
6504 a unibyte string.
6505
6506 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
6507 return a unibyte string.
6508
6509 * coding.c (code_convert_region): After detecting a coding, if
6510 nothing found, set coding->composing to COMPOSITION_NO.
6511 (decode_coding_string): Likewise.
6512
6513 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
6514
6515 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
6516 to avoid overflow.
6517
6518 2001-02-07 Kenichi Handa <handa@etl.go.jp>
6519
6520 * charset.c (parse_str_to_multibyte): New function.
6521
6522 * charset.h (parse_str_to_multibyte): Extern it.
6523
6524 * print.c (print_string): If we are going to print a unibyte
6525 string into a multibyte buffer, convert the string to multibyte by
6526 str_to_multibyte.
6527
6528 2001-02-06 Andrew Innes <andrewi@gnu.org>
6529
6530 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
6531 been created. It seems we can get sent window messages such as
6532 WM_ERASEBKGND before we properly update a frame.
6533
6534 2001-02-06 Gerd Moellmann <gerd@gnu.org>
6535
6536 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
6537 Avoid some unnecessary cursor positioning.
6538
6539 2001-02-05 Gerd Moellmann <gerd@gnu.org>
6540
6541 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
6542 (LFACE_AVGWIDTH): New macro.
6543 (LFACEP): Use AREF.
6544 (check_lface_attrs): Check LFACE_AVGWIDTH.
6545 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6546 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
6547 (merge_face_vectors): Check LFACE_AVGWIDTH.
6548 (Finternal_make_lisp_face): Use AREF.
6549 (xm_set_menu_resources_from_menu_face)
6550 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
6551 (Finternal_lisp_face_empty_p): Use AREF.
6552 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
6553 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
6554 Compare average widths..
6555 (best_matching_font): Arrange for comparing average widths.
6556
6557 * dispextern.h (enum lface_attribute_index):
6558 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
6559
6560 2001-02-05 Dave Love <fx@gnu.org>
6561
6562 * puresize.h: Revert last change following loadup.el change.
6563
6564 2001-02-05 Andrew Innes <andrewi@gnu.org>
6565
6566 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
6567 invocation of temacs, to work with Windows 2000.
6568 (bootstrap-emacs): Ditto.
6569
6570 2001-02-05 Gerd Moellmann <gerd@gnu.org>
6571
6572 * xterm.c (x_display_and_set_cursor): Check for the focus
6573 frame's selected window instead of selected_window.
6574
6575 * xdisp.c (try_scrolling): If point is in the line below the
6576 window, make sure to move the iterator at least a canonical
6577 char height down.
6578
6579 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
6580
6581 2001-02-05 Kenichi Handa <handa@etl.go.jp>
6582
6583 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
6584 If invalid, execute CCL_INVALID_CMD.
6585 (ccl_driver): If the CCL program is terminated because of
6586 CCL_STAT_INVALID_CMD, copy the remaining source data to the
6587 destination instead of throwing them away.
6588
6589 2001-02-02 Gerd Moellmann <gerd@gnu.org>
6590
6591 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
6592 faces and other things.
6593
6594 * xdisp.c (get_next_display_element): Fix case of empty
6595 display table entry.
6596
6597 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
6598
6599 * editfns.c (Fconstrain_to_field): Doc fix.
6600
6601 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
6602 into `thoroughly', to make it consistent with the doc string.
6603
6604 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
6605
6606 2001-02-01 Gerd Moellmann <gerd@gnu.org>
6607
6608 * search.c (search_buffer): Call set_search_regs with a byte
6609 position, not a character position.
6610
6611 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
6612 minibuffer-only,
6613
6614 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
6615
6616 * frame.c (Fmodify_frame_parameters): Doc fix.
6617
6618 2001-01-31 Gerd Moellmann <gerd@gnu.org>
6619
6620 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
6621 identifier which is not reserved by Standard C.
6622
6623 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
6624
6625 * window.c (enum window_part): New enumeration.
6626 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
6627 Qright_bitmap_area.
6628 (coordinates_in_window): Return an enumerator from enum
6629 window_part. Fix handling of right scroll bar.
6630 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
6631 `right-fringe' instead of `left-bitmap-area' and
6632 `right-bitmap-area'. Use enumerators from enum window_part
6633 instead of hard-coded integers.
6634 (check_window_containing, window_from_coordinates):
6635 Use enumerators from enum window_part instead of hard-coded integers.
6636 (syms_of_window): Replace Qleft_bitmap_area and
6637 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
6638
6639 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
6640
6641 * editfns.c (Fformat_time_string): Doc fix.
6642
6643 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
6644
6645 * keymap.c (Fwhere_is_internal): Use the first valid binding
6646 if no ascii binding is found (when firstonly is t).
6647
6648 2001-01-31 Gerd Moellmann <gerd@gnu.org>
6649
6650 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
6651 instead of Finteractive_p.
6652
6653 * lisp.h (interactive_p): Add prototype.
6654
6655 * eval.c (interactive_p): New function.
6656 (Finteractive_p): Use it.
6657
6658 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
6659
6660 2001-01-31 Dave Love <fx@gnu.org>
6661
6662 * .gdbinit (hook-run): Define to run xreload.
6663
6664 * textprop.c (Fset_text_properties): Fix newline in doc string.
6665
6666 2001-01-30 Gerd Moellmann <gerd@gnu.org>
6667
6668 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
6669 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
6670
6671 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
6672 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
6673 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
6674
6675 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
6676 height.
6677
6678 2001-01-30 Dave Love <fx@gnu.org>
6679
6680 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
6681 AFTER_POTENTIAL_GC.
6682
6683 2001-01-29 Gerd Moellmann <gerd@gnu.org>
6684
6685 * bytecode.c (Fbyte_code) <Bcurrent_column>:
6686 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
6687
6688 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
6689
6690 * textprop.c (Fset_text_properties): Doc fix.
6691
6692 2001-01-29 Gerd Moellmann <gerd@gnu.org>
6693
6694 * xdisp.c (forward_to_next_line_start): Remove xassert.
6695
6696 2001-01-29 Jason Rumney <jasonr@gnu.org>
6697
6698 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
6699 returning without releasing it.
6700
6701 2001-01-29 Kenichi Handa <handa@etl.go.jp>
6702
6703 * w32fns.c (w32_font_match): Allocate three more bytes to regex
6704 for '^', '$', and '\0'.
6705
6706 2001-01-28 Andrew Choi <akochoi@i-cable.com>
6707
6708 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
6709 regex for '^', '$', and '\0'.
6710
6711 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
6712 only if current_sblock has been initialized.
6713
6714 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
6715 terminal frame even if it is the only visible frame.
6716
6717 2001-01-28 Kenichi Handa <handa@etl.go.jp>
6718
6719 * fontset.c (font_family_registry): Even if FONTNAME conform to
6720 XLFD, if it specifies other fields than family and registry,
6721 return FONTANME. New argument FORCE if nonzero cancel that feature.
6722 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
6723 a signle byte character. Don't set FAMILY part to nil here.
6724 It is handled by the caller choose_face_font.
6725 (Fnew_fontset): Call font_family_registry with FORCE 0.
6726 (Fset_fontset_font): Likewise.
6727
6728 2001-01-27 Gerd Moellmann <gerd@gnu.org>
6729
6730 * xdisp.c (display_line): Don't treat a newline as fitting
6731 on the line.
6732
6733 2001-01-26 Gerd Moellmann <gerd@gnu.org>
6734
6735 * window.c (size_window): Set the window's orig_top to nil when
6736 changing heights, so that a future shrink_mini_window won't
6737 restore a bogus height.
6738
6739 * frame.c (do_switch_frame): If selected frame has a mini-window,
6740 resize that to exact size.
6741
6742 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
6743
6744 * xdisp.c (display_line): Simplify check for glyphs fitting
6745 entirely in the line.
6746
6747 * xfns.c (xic_style): New variable.
6748 (create_frame_xic): Move static variable to global scope for
6749 the case that `static' gets defined away.
6750
6751 2001-01-26 Kenichi Handa <handa@etl.go.jp>
6752
6753 * coding.c (decode_coding): Set a flag for inhibiting
6754 inconsistent eol.
6755 (code_convert_region): Always set saved_coding_symbol.
6756 (decode_coding_string): Likewise. Update coding->symbol when we
6757 encounter a inconsistent eol by the same way as code_convert_region.
6758
6759 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6760
6761 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
6762 XClearArea.
6763
6764 * xterm.c (x_after_update_window_line): Don't clear if frame's
6765 internal border width is zero.
6766 (x_clear_area): New function.
6767 (x_after_update_window_line, x_clear_end_of_line)
6768 (x_scroll_bar_create, x_scroll_bar_set_handle)
6769 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
6770 instead of XClearArea.
6771
6772 * xterm.h (x_clear_area): Add prototype.
6773
6774 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
6775 which doesn't seem necessary anymore with Lesstif 0.92.
6776
6777 2001-01-25 Dave Love <fx@gnu.org>
6778
6779 * puresize.h (BASE_PURESIZE): Up to 720000.
6780
6781 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
6782
6783 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6784
6785 * xdisp.c (echo_area_display): Don't call redisplay_internal
6786 when Emacs is shutting down. We can't run hooks etc. that
6787 would be necessary to do a redisplay.
6788
6789 * lread.c (read_integer): Use type EMACS_INT instead of int.
6790
6791 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
6792
6793 * ccl.c (ccl_driver): Fix last change.
6794
6795 2001-01-25 Kenichi Handa <handa@etl.go.jp>
6796
6797 * ccl.h (sturct ccl_program): New member suppress_error.
6798
6799 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
6800 insert error message to the output.
6801 (setup_ccl_program): Initialize ccl->suppress_error to 0.
6802
6803 * coding.h (struct coding_system): New member suppress_error.
6804
6805 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
6806 (Fset_terminal_coding_system_internal): Set the member
6807 suppress_error to 1.
6808 (Fset_safe_terminal_coding_system_internal): Likewise.
6809
6810 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
6811
6812 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
6813 as if it was a `charset'.
6814
6815 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6816
6817 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
6818 value in where_is_cache; the next lookup in the cache returns
6819 something bogus if we do.
6820
6821 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
6822
6823 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
6824 if HAVE_WINDOW_SYSTEM isn't defined.
6825
6826 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6827
6828 * fns.c (sweep_weak_table): Fix code taking items out of
6829 the hash collision chain. Some cleanup.
6830
6831 * xterm.c (x_new_font): Don't change a tooltip's size.
6832
6833 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
6834 background color by specifying a color for the default font
6835 in .Xdefaults.
6836
6837 2001-01-24 Kenichi Handa <handa@etl.go.jp>
6838
6839 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
6840 a workaround for SunOS 4's cc.
6841 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
6842 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
6843 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
6844 statement.
6845
6846 2001-01-23 Gerd Moellmann <gerd@gnu.org>
6847
6848 * xterm.c (x_set_window_size_1): New function extracted from
6849 x_set_window_size.
6850 (x_set_window_size): Use it.
6851 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
6852 doesn't have a widget, like tooltips.
6853
6854 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
6855
6856 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
6857
6858 2001-01-23 Kenichi Handa <handa@etl.go.jp>
6859
6860 * fns.c (Fset_char_table_default): Fix to make sub char-table
6861 correctly.
6862
6863 2001-01-22 Gerd Moellmann <gerd@gnu.org>
6864
6865 * xdisp.c (build_desired_tool_bar_string): Make sure we have
6866 a desired tool bar string, even if there are no tool bar items.
6867
6868 * xdisp.c (Ftool_bar_lines_needed): New function.
6869 (syms_of_xdisp): Defsubr it.
6870
6871 * editfns.c (Fformat): Don't extend text properties from arguments
6872 to padding chars in the result.
6873
6874 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
6875
6876 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
6877
6878 2001-01-20 Andrew Innes <andrewi@gnu.org>
6879
6880 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
6881 (w32_initialize): Don't set term hooks that aren't actually needed
6882 in windowed mode.
6883
6884 * xfaces.c (realize_default_face):
6885 (realize_face):
6886 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
6887
6888 * xdisp.c (handle_single_display_prop): Remove references to
6889 FRAME_W32_CONSOLE_P.
6890
6891 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
6892
6893 * frame.h (output_method): Remove output_w32_console method.
6894 (FRAME_W32_CONSOLE_P): Remove macro.
6895
6896 * frame.c (Qw32_console): Remove variable.
6897 (Fframep): Remove references to it.
6898 (syms_of_frame): Ditto.
6899 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
6900
6901 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
6902 redefinition.
6903
6904 2001-01-20 Kenichi Handa <handa@etl.go.jp>
6905
6906 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
6907
6908 2001-01-19 Andrew Innes <andrewi@gnu.org>
6909
6910 * w32.c (init_environment): Add a version-independent site-lisp
6911 directory to EMACSLOADPATH, after the version dependent one.
6912
6913 2001-01-19 Gerd Moellmann <gerd@gnu.org>
6914
6915 * editfns.c (Fbuffer_substring): Doc fix.
6916
6917 * xdisp.c (message_dolog, message2, message2_nolog):
6918 Rename parameter LEN to NBYTES.
6919
6920 2001-01-19 Kenichi Handa <handa@etl.go.jp>
6921
6922 * charset.c (strwidth): Use c_string_width.
6923 (c_string_width): New function.
6924 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
6925 Caller changed.
6926
6927 * charset.h (c_string_width, lisp_string_width): Extern them.
6928
6929 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
6930
6931 * indent.c (check_composition): Check validity of composition.
6932
6933 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
6934 characters by calling c_string_width.
6935 (x_consider_frame_title): Get byte length of frame tile string
6936 correctly.
6937 (display_mode_element): Pay attention to width of non-ASCII
6938 characters by calling strwidth.
6939
6940 2001-01-18 Gerd Moellmann <gerd@gnu.org>
6941
6942 * xfns.c (Qcancel_timer): New variable.
6943 (syms_of_xfns): Initialize and staticpro it.
6944 (Fx_hide_tip, Fx_show_tip): Use it.
6945 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6946 the timer.
6947 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
6948
6949 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
6950
6951 * window.h (WINDOW_LIVE_P): New macro.
6952
6953 * window.c (window_size_fixed): New variable.
6954 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
6955 the doc string.
6956
6957 * eval.c (specbind): If binding a per-buffer variable which
6958 doesn't have a buffer-local value in the current buffer, change
6959 the global value by changing the value of the symbol bound in all
6960 buffers not having their own value, to make it consistent with
6961 what happens with other buffer-local variables.
6962
6963 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
6964
6965 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
6966 when searching for a newline.
6967
6968 2001-01-18 Kenichi Handa <handa@etl.go.jp>
6969
6970 * xdisp.c (display_string): Fix previous change.
6971
6972 2001-01-18 Jason Rumney <jasonr@gnu.org>
6973
6974 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
6975 GLYPH_DEBUG is defined.
6976 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
6977 true for images with `:ascent 100'.
6978 (x_set_mouse_face_gc): If the last used mouse face has gone in the
6979 meantime, use face MOUSE_FACE_ID.
6980 If first glyph isn't a character glyph, use the ASCII NUL
6981 character to determine the face.
6982 (expose_area): Do not treat left margin specially.
6983 (note_mode_line_highlight): If no local_map, check global keymap.
6984 (note_mouse_highlight): Initialize overlay.
6985 (clear_mouse_face): Don't return if tip_frame is non-nil.
6986 (show_scroll_bars): Remove unused function.
6987 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
6988 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
6989 Clip to row.
6990 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
6991 (x_free_frame_resources): Unload relief colors.
6992
6993 2001-01-17 Gerd Moellmann <gerd@gnu.org>
6994
6995 * xdisp.c (forward_to_next_line_start): Avoid calling
6996 get_next_display_element when the newline is already found.
6997 This may change the iterator's position, when its current position is
6998 equal to the iterator's stop_charpos.
6999
7000 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
7001 zero, use this method only at the end of a line.
7002
7003 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
7004 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
7005 if SCALABLE_FONTS_P is set.
7006
7007 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
7008 so that scalable fonts are included.
7009
7010 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
7011 In the cache, use a key containing the information if scalable
7012 fonts are included.
7013 (x_load_font): Adapt to change of keys in the font cache.
7014
7015 2001-01-17 Kim F. Storm <storm@filanet.dk>
7016
7017 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
7018 XListFonts to take advantage of font caching.
7019
7020 * xterm.c (x_list_fonts): Ensure caching font information when
7021 called for a null frame, which is the case frequently when Emacs
7022 starts.
7023
7024 2001-01-17 Gerd Moellmann <gerd@gnu.org>
7025
7026 * xfns.c (QCconversion): Replaces QCalgorithm.
7027
7028 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
7029
7030 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
7031 of :algorithm.
7032
7033 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
7034 not everything could be displayed.
7035
7036 * line.h, x-list-font.c: Files removed because unused.
7037
7038 2001-01-17 Andrew Innes <andrewi@gnu.org>
7039
7040 * dired.c (directory_files_internal): Convert result from readdir
7041 to a unibyte string initially, to avoid possible misinterpretation
7042 of some bytes as the internal form of Emacs characters.
7043
7044 2001-01-17 Kenichi Handa <handa@etl.go.jp>
7045
7046 * fns.c (concat): Be sure to avoid putting the same `composition'
7047 property on the adjacent regions.
7048
7049 2001-01-16 Gerd Moellmann <gerd@gnu.org>
7050
7051 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
7052 (Fscroll_right, Fscroll_left): Set it here instead, if called
7053 interactively.
7054
7055 * buffer.c (Fset_buffer_modified_p): Set buffer's
7056 prevent_redisplay_optimizations_p flag.
7057
7058 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
7059 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
7060 with additional arg.
7061
7062 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
7063 Change prototype.
7064
7065 * xdisp.c (redisplay_preserve_echo_area): Add parameter
7066 FROM_WHERE, for debugging.
7067
7068 2001-01-16 Kenichi Handa <handa@etl.go.jp>
7069
7070 * ccl.c (Fregister_ccl_program): Handle the return value of
7071 resolve_symbol_ccl_program correctly.
7072 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
7073
7074 2001-01-15 Gerd Moellmann <gerd@gnu.org>
7075
7076 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
7077 has gone in the meantime, use face MOUSE_FACE_ID.
7078
7079 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
7080 If x_display_info_for_display returns null, don't try to close
7081 the display; we didn't open it.
7082
7083 * dispnew.c (save_or_restore_current_matrices): Function removed.
7084 (save_current_matrix, restore_current_matrix): New functions.
7085 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
7086 restore the frame's current matrix. Due to the glyph pointer
7087 setup done in adjust_glyph_matrix, there is no easy way to make
7088 saving the current matrix in the desired matrix generally correct,
7089 so don't try it.
7090
7091 2001-01-15 Kenichi Handa <handa@etl.go.jp>
7092
7093 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
7094 truncation glyphs.
7095 (display_line): Optimize for wide characters.
7096 (display_string): Don't try to display a multi-column character
7097 partially. On ttys, produce more than one truncation glyph for
7098 multi-column characters that don't fit on the line.
7099
7100 2001-01-13 Kenichi Handa <handa@etl.go.jp>
7101
7102 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
7103 Define it instead of WORDS_BIGENDIAN. Caller changed.
7104
7105 2001-01-13 Jason Rumney <jasonr@gnu.org>
7106
7107 * w32fns.c (Fimage_size, image_ascent, lookup_image)
7108 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
7109 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7110 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
7111
7112 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
7113 (x_draw_image_relief, x_draw_image_foreground_1)
7114 (x_draw_image_glyph_string): Adapt to change of image margins.
7115
7116 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
7117 variables.
7118
7119 * w32bdf.c (search_file_line, get_cached_font_char)
7120 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
7121
7122 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
7123
7124 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
7125 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
7126 (Fw32_send_sys_command): Remove unused variables.
7127 (w32_msg_pump): Add parentheses.
7128
7129 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
7130 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
7131 Add parentheses.
7132
7133 2001-01-12 Gerd Moellmann <gerd@gnu.org>
7134
7135 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
7136 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
7137 being a pair of margins.
7138 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
7139 to DEFVAR_LISP. Extend doc.
7140
7141 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
7142 margins.
7143 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
7144 pair of integers `(X . Y)', use X for the horizontal and Y for the
7145 vertical margin.
7146 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
7147 (parse_image_spec): Check it.
7148 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7149 (tiff_format, gif_format, gs_format):
7150 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
7151
7152 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
7153 (x_draw_image_relief, x_draw_image_foreground_1)
7154 (x_draw_image_glyph_string): Adapt to the change of image margins.
7155
7156 * dispextern.h (struct image): Replace member `margin' with
7157 `hmargin' and `vmargin'.
7158
7159 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
7160 and GLYPHS.
7161
7162 * dispnew.c (update_text_area): Put code which decrements the
7163 stop position when the row's face extends to the end of the
7164 line in #if 0.
7165
7166 * xfns.c (x_set_mouse_color): Fix color allocation.
7167
7168 * keyboard.c: Call get_local_map with new argument list.
7169
7170 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
7171
7172 * intervals.h (enum map_property): Removed.
7173 (get_local_map): Change prototype.
7174
7175 * keymap.c: Call get_local_map with new argument list.
7176 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
7177
7178 2001-01-11 Gerd Moellmann <gerd@gnu.org>
7179
7180 * xdisp.c (build_desired_tool_bar_string): Correct the computation
7181 of the size needed for the tool bar string. For the last image,
7182 use a `display' property that reaches to the end of the string.
7183
7184 * xselect.c (selection_request_dpyinfo): New variable.
7185 (x_handle_selection_request): Set it.
7186 (x_selection_request_lisp_error): Don't call
7187 x_decline_selection_request if selection request's display has
7188 been closed.
7189
7190 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
7191 Do the unregister_colors before calling XFreeColors.
7192
7193 2001-01-10 Dave Love <fx@gnu.org>
7194
7195 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
7196 ${SOME_MACHINE_LISP}, not ${lisp}.
7197
7198 2001-01-10 Gerd Moellmann <gerd@gnu.org>
7199
7200 * xdisp.c (display_line): On ttys, produce more than one truncation
7201 glyph for multi-column characters that don't fit on the line.
7202
7203 * xselect.c (x_reply_selection_request): Add a comment.
7204
7205 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
7206 XkbGetNames instead of XkbGetKeyboard.
7207
7208 2001-01-10 Dave Love <fx@gnu.org>
7209
7210 * sysdep.c (random): Revert the declaration.
7211
7212 2001-01-09 Gerd Moellmann <gerd@gnu.org>
7213
7214 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
7215 Call function string_bytes.
7216 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
7217
7218 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
7219 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
7220 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
7221 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
7222 the current sblock.
7223 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
7224 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
7225 after sweeping strings, and at the end.
7226 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
7227
7228 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
7229 ensure that pop_message is called.
7230
7231 * keyboard.c (Fexecute_extended_command): Use a
7232 record_unwind_protect to ensure that pop_message is called.
7233
7234 * lisp.h (push_message_unwind): Add prototype.
7235
7236 * xdisp.c (push_message_unwind): New function.
7237
7238 * fileio.c (do_auto_save_unwind): Do the pop_message here
7239 instead of in Fdo_auto_save.
7240 (Fdo_auto_save): Don't call pop_message.
7241
7242 2001-01-08 Ken Raeburn <raeburn@gnu.org>
7243
7244 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
7245 in inner block.
7246
7247 2001-01-08 Gerd Moellmann <gerd@gnu.org>
7248
7249 * window.c (window_scroll_pixel_based): Adjust glyph matrices
7250 when increasing window's vscroll.
7251
7252 * macros.c (Qkbd_macro_termination_hook): New variable.
7253 (syms_of_macros): Initialize and staticpro it.
7254 (pop_kbd_macro): Run kbd-macro-termination-hook.
7255
7256 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
7257
7258 2001-01-07 Dave Love <fx@gnu.org>
7259
7260 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
7261 arglist, for documentation's sake.
7262
7263 2001-01-06 Andrew Innes <andrewi@gnu.org>
7264
7265 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
7266 of *.pdb.
7267
7268 2001-01-05 Andrew Innes <andrewi@gnu.org>
7269
7270 * term.c (update_end): Don't check updating_frame; for some reason
7271 this can be 0 sometimes, such as after dismissing a popup menu,
7272 and isn't necessary given the explicit frame argument.
7273
7274 2001-01-05 Gerd Moellmann <gerd@gnu.org>
7275
7276 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
7277 on some systems, and an unsigned long on others, like FreeBSD 4.1.
7278
7279 2001-01-04 Gerd Moellmann <gerd@gnu.org>
7280
7281 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
7282
7283 * xfns.c (x_create_tip_frame): Preserve the value of
7284 face_change_count around the creation of the tip frame.
7285
7286 * xfns.c (last_show_tip_args): New variable.
7287 (compute_tip_xy): New function.
7288 (Fx_show_tip): Reuse an existing tip frame, if possible.
7289 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
7290
7291 2001-01-04 Dave Love <fx@gnu.org>
7292
7293 * editfns.c (Fformat): Doc fix.
7294
7295 * systime.h (set_file_times): Prototype.
7296
7297 * widget.h (EmacsFrameSetCharSize_): Prototype.
7298
7299 * sysdep.c (random, srandom): Declare explicitly.
7300
7301 * dispextern.h (move_it_vertically_backward): Declare.
7302
7303 2001-01-04 Gerd Moellmann <gerd@gnu.org>
7304
7305 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
7306 like in Fx_create_frame.
7307
7308 * xfaces.c (set_font_frame_param): Don't do anything for
7309 non-graphical frames.
7310
7311 * window.c (Fdelete_other_windows): Set window's window_end_valid
7312 to nil when changing the window's start. Don't change the
7313 window's start when its top position hasn't changed. If we do,
7314 this will set the window's optional_new_start, which act's like a
7315 force_start during redisplay with C-x 1 M-> under particular
7316 circumstances (see report from Per Starback to emacs-pretest-bug
7317 from 2000-12-13.).
7318
7319 2001-01-03 Gerd Moellmann <gerd@gnu.org>
7320
7321 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
7322 short cut at the start of the function. Add an assertion.
7323 (reseat_at_next_visible_line_start): Add an assertion.
7324
7325 * window.c (Frecenter): When changing the window start, set the
7326 window's window_end_valid to nil.
7327 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
7328
7329 * dispextern.h (move_it_past_eol): Add prototype.
7330
7331 * xdisp.c (move_it_past_eol): New function.
7332
7333 * window.c (Fwindow_end): Doc fix.
7334
7335 2001-01-03 Dave Love <fx@gnu.org>
7336
7337 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
7338
7339 2001-01-03 Gerd Moellmann <gerd@gnu.org>
7340
7341 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
7342 the enabled_p flag of the glyph row at window_end_vpos to 0.
7343 (handle_single_display_prop): Fix last change.
7344
7345 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7346
7347 * window.c (Frecenter): Doc fix.
7348
7349 2001-01-02 Andrew Innes <andrewi@gnu.org>
7350
7351 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
7352
7353 * frame.h (output_method): Add output_w32_console method.
7354 (FRAME_W32_CONSOLE_P): New macro.
7355
7356 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
7357 use output_w32_console method.
7358 (Qw32_console): New Lisp_Object.
7359 (Fframep): Return it.
7360 (syms_of_frame): Init it.
7361 (Fframe_parameters): Report w32console as font for w32_console frames.
7362
7363 * xfaces.c (realize_default_face): Set face foreground and
7364 background to unspecified for w32_console frames.
7365 (realize_face): Realize face cache for w32_console frames.
7366 (realize_tty_face): Accept w32_console frames.
7367
7368 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
7369 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
7370 necessary, even if running interactively.
7371
7372 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
7373 w32_console frames.
7374
7375 * w32term.c (x_update_begin):
7376 (x_update_end):
7377 (x_clear_frame):
7378 (x_ins_del_lines):
7379 (x_change_line_highlight):
7380 (x_delete_glyphs):
7381 (w32_ring_bell):
7382 (x_update_begin):
7383 (x_update_end):
7384 (w32_reassert_line_highlight):
7385 (w32_frame_rehighlight):
7386 (w32_frame_raise_lower): Do nothing if not w32 frame.
7387
7388 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
7389
7390 * w32fns.c (Fx_display_color_cells): Determine correct value, when
7391 system doesn't tell us directly.
7392 (Fx_display_visual_class): Implement properly.
7393
7394 2001-01-02 Gerd Moellmann <gerd@gnu.org>
7395
7396 * window.c (Frecenter): Handle centering in graphical frames
7397 specially. Centering on the basis of line counts doesn't work
7398 reliably with variable-height lines.
7399
7400 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7401
7402 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
7403 and al[].
7404
7405 * composite.c (run_composition_function): Remove unused var `val'.
7406 (update_compositions): Remove unused variable `hook'.
7407
7408 * intervals.c (get_local_map): Remove unused variable `tem'.
7409
7410 * doprnt.c (doprnt1): Remove unused variable `size'.
7411
7412 * fns.c (Flength): Remove unused variable `tail'.
7413 (Fdelete): Remove unused variable `size'.
7414
7415 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
7416 and `gcpro2'.
7417
7418 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
7419
7420 * data.c (find_symbol_value): Remove extra 3rd argument in the
7421 call to swap_in_symval_forwarding.
7422
7423 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
7424
7425 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
7426 (trivial_regexp_p): Remove unused variable `c'.
7427 (boyer_moore): Remove unused variable `k'.
7428
7429 * indent.c (current_column): Remove unused variable `stopchar'.
7430 (Fcompute_motion): Remove unused variable `contin'.
7431
7432 * casefiddle.c (casify_object): Remove unused variable `tolen'.
7433
7434 * dired.c (directory_files_internal): Fix a typo in a comment.
7435 Remove an unused variable `handler'.
7436 (file_name_completion): Remove unused function-scope variable `dp'.
7437 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
7438 on BSD4_2.
7439
7440 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
7441
7442 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
7443 and `buf'.
7444 (Fmarker_insertion_type): Remove unused variable `buf'.
7445
7446 * insdel.c (make_gap): Remove unused variable `result'.
7447
7448 * keyboard.c (record_char): Remove unused function-scope var `help'.
7449 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
7450 (menu_bar_items): Remove unused function-scope variable `tem'.
7451
7452 * fontset.c (fontset_ref): Remove unused variable `i'.
7453 (fontset_set): Remove unused variables `j' and `tmp'.
7454 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
7455 (make_fontset_for_ascii_face): Remove unused variable `name'.
7456 (fs_load_font): Remove unused variable `font_idx'.
7457 (fs_query_fontset): Remove unused function-local variable `fontset'.
7458 (list_fontsets): Remove unused variable `tail'.
7459 (Fnew_fontset): Remove unused variables `family' and `registry'.
7460 (accumulate_font_info): Remove unused variable `tmp'.
7461 (Ffontset_font): Remove unused variable `id'.
7462 (syms_of_fontset): Remove unused variable `i'.
7463
7464 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
7465 to x_term_init.
7466 (lookup_image): Remove unused variable `file'.
7467 (xbm_load): Remove unused variables `bitmap_data', `height', and
7468 `width'. Remove function-local variable `i', leave the
7469 block-local one.
7470 (gif_load): Remove unused variable `inc'.
7471
7472 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
7473 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
7474 leave only the one in the inner block.
7475
7476 * xfaces.c (face_fontset, realize_default_face): Remove unused
7477 variable `fontset'.
7478 (face_at_buffer_position): Remove unused variable `multibyte_p'.
7479
7480 * term.c (encode_terminal_code): Remove unused variable `c'.
7481
7482 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
7483 char *' instead of `char *'.
7484
7485 * category.c (Fcategory_docstring): Remove unused variable `doc'.
7486 (Fget_unused_category): Remove unused variable `docstring_vector'.
7487 (Fchar_category_set): Remove unused variables `val', `charset',
7488 `c1' and `c2'.
7489
7490 * coding.c (detect_coding_iso2022, setup_coding_system):
7491 Remove unused variable `i'.
7492 (detect_coding_mask): Remove unused variable `idx'.
7493 (detect_coding): Remove unused variable `i'.
7494 (ccl_coding_driver): Remove unused variable `result'.
7495 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
7496 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
7497 (encode_coding_string): Remove unused variables `gcpro1' and
7498 `saved_coding_symbol'.
7499 (Ffind_coding_systems_region_internal): Remove function-local
7500 variable args[], leave only the block-local one.
7501 (code_convert_region1): Remove unused variable `len'.
7502
7503 * charset.c (char_printable_p): Remove unused variable `chars'.
7504 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
7505 (str_to_multibyte): Remove unused variable `c'.
7506
7507 * window.c (size_window): Remove block-local variable `min_size'.
7508
7509 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
7510 `header_line_height'.
7511 (append_space, extend_face_to_end_of_line): Declare `saved_what'
7512 enum display_element_type.
7513
7514 2001-01-02 Gerd Moellmann <gerd@gnu.org>
7515
7516 * xterm.c (x_connection_closed): Catch X errors around all
7517 statements that call X. Save away the error message in a local copy.
7518
7519 * xterm.c (x_connection_closed): Set handling_signal to 0 at
7520 the start.
7521
7522 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
7523 in or at the start of invisible text.
7524
7525 * dispnew.c (update_window): Don't check_current_matrix_flags.
7526
7527 2001-01-01 Jason Rumney <jasonr@gnu.org>
7528
7529 * w32fns.c (x_figure_window_size): Do not allow new_height and
7530 new_width of frame to override specified values.
7531
7532 2000-12-30 Kenichi Handa <handa@etl.go.jp>
7533
7534 * composite.c (find_composition): Fix a code for searching backward.
7535
7536 2000-12-29 Gerd Moellmann <gerd@gnu.org>
7537
7538 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
7539 (update_window) [GLYPH_DEBUG]: Call it.
7540 (scrolling_window): Prevent including current rows which are below
7541 what's displayed in the window.
7542
7543 * xdisp.c (try_window_reusing_current_matrix)
7544 <new start <= old start>: Disable rows in the current matrix
7545 which are below the window after scrolling.
7546
7547 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
7548 is zero. It's not worth the complexity.
7549 (invisible_text_between_p): Put in #if 0 because unused.
7550
7551 2000-12-28 Gerd Moellmann <gerd@gnu.org>
7552
7553 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
7554 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
7555
7556 * keyboard.c (echo_char): If C is an integer, always call
7557 push_key_description. Former code could signal an invalid
7558 character error.
7559
7560 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
7561 If set, print multibyte text.
7562 (Fsingle_key_description): Call push_key_description with
7563 FORCE_MULTIBYTE set.
7564 (describe_buffer_bindings): Likewise.
7565
7566 * lisp.h (push_key_description): Add prototype.
7567
7568 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
7569 around the call to redisplay_internal.
7570
7571 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7572
7573 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7574
7575 2000-12-28 Kenichi Handa <handa@etl.go.jp>
7576
7577 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
7578 (ccl_driver): New local variable `extra_bytes'.
7579
7580 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
7581
7582 * coding.c (setup_coding_system):
7583 Initialize coding->spec.ccl.eight_bit_carryover.
7584 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
7585
7586 2000-12-28 Kenichi Handa <handa@etl.go.jp>
7587
7588 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
7589 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
7590 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
7591 (decode_composition_emacs_mule): New function.
7592 (decode_coding_emacs_mule): Decode composition sequence by calling
7593 decode_composition_emacs_mule.
7594 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
7595 (encode_coding_emacs_mule): Changed from macro to function.
7596 If a text contains compositions, encode them correctly.
7597 (setup_coding_system): Set coding->commong_flags for emacs-mule so
7598 that decoding and encoding are required.
7599
7600 2000-12-27 Gerd Moellmann <gerd@gnu.org>
7601
7602 * xfaces.c (PT_PER_INCH): New macro.
7603 (xlfd_point_size): Compute real point size from font's pixel size.
7604 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
7605 instead of 72.
7606
7607 * .gdbinit: Comment out the line pointing to the Lesstif source
7608 directory.
7609
7610 * window.c (Frecenter): Use displayed_window_lines instead
7611 of window_internal_height.
7612
7613 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7614 instead of x-toolkit-scroll-bars-p.
7615 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7616
7617 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7618 instead of x-toolkit-scroll-bars-p.
7619 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7620
7621 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
7622 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
7623 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
7624 New variables.
7625 (add_window_display_history, add_frame_display_history)
7626 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
7627 (build_frame_matrix_from_leaf_window): Remove unused code.
7628 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
7629 redisplay history.
7630 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
7631 (update_window) [GLYPH_DEBUG]: Likewise.
7632 (syms_of_display): Defsubr dump-redisplay-history.
7633
7634 2000-12-23 Gerd Moellmann <gerd@gnu.org>
7635
7636 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
7637 the end of the prompt. Set echo_after_prompt to the offset
7638 of echoptr in echobuf.
7639
7640 * xdisp.c (init_from_display_pos): Pop until the iterator's
7641 stack is empty; there may be frames for stretch or images
7642 on the stack.
7643
7644 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
7645 (save_or_restore_current_matrix): New function for the same
7646 purpose, but more efficient.
7647 (adjust_frame_glyphs_for_frame_redisplay): Use it.
7648
7649 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
7650
7651 * xdisp.c (syms_of_xdisp): Fix last change.
7652
7653 2000-12-23 Gerd Moellmann <gerd@gnu.org>
7654
7655 * xdisp.c (syms_of_xdisp): Doc fix.
7656
7657 * xdisp.c (redisplay_window): Remove label restore_buffers;
7658 use finish_scroll_bars instead to make sure that scroll bars
7659 are redeemed. If we don't do this, flickering can result from
7660 scroll bars being destroyed and recreated.
7661
7662 2000-12-22 Jason Rumney <jasonr@gnu.org>
7663
7664 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
7665 in the wrong colors when the foreground is not black.
7666 (expose_window): Don't redraw the window that's currently being
7667 updated.
7668
7669 2000-12-22 Gerd Moellmann <gerd@gnu.org>
7670
7671 * window.c (size_window): When setting the window's too_small_ok
7672 flag, compare old size with minimum size depending on WIDTH_P,
7673 don't compare with window_min_width.
7674
7675 * window.c (delete_window): Simplify somewhat.
7676 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
7677 freeing window matrices. The flag windows_or_buffers_changed is
7678 set, so the next redisplay will consider all windows; this should
7679 suffice.
7680
7681 2000-12-22 Kenichi Handa <handa@etl.go.jp>
7682
7683 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
7684
7685 * ccl.h (struct ccl_program): New member cr_consumed.
7686
7687 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
7688 (CCL_READ_CHAR): Handle EOL conversion here.
7689 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
7690
7691 2000-12-21 Gerd Moellmann <gerd@gnu.org>
7692
7693 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
7694
7695 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
7696 otherwise tabs of different size compare equal.
7697
7698 * callint.c (Fcall_interactively): Prevent a compiler warning.
7699
7700 * print.c (print_unwind): Return nil.
7701 (PRINTDECLARE): Initialize all local variables.
7702 (print_preprocess): Add a default case.
7703
7704 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
7705
7706 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
7707
7708 * window.c (delete_window, Fsplit_window)
7709 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
7710
7711 * dispextern.h (ensure_frame_matrix): Function declaration removed.
7712
7713 * dispnew.c (ensure_frame_matrix): Removed.
7714 (save_frame_matrix, restore_frame_matrix): New functions.
7715 (adjust_frame_glyphs_for_frame_redisplay): Use them.
7716
7717 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
7718 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
7719
7720 2000-12-21 Andrew Innes <andrewi@gnu.org>
7721
7722 * w32term.c (x_update_begin): Regenerate the palette here, rather
7723 than for each window.
7724
7725 * w32xfns.c (select_palette): Avoid calling SelectPalette if
7726 palette is NULL, since this corrupts memory! Also get
7727 display_info reference from frame.
7728
7729 2000-12-21 Jason Rumney <jasonr@gnu.org>
7730
7731 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
7732
7733 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
7734 to avoid returning without releasing it.
7735
7736 2000-12-21 Kenichi Handa <handa@etl.go.jp>
7737
7738 * keymap.c (push_key_description): Don't convert eight-bit-control
7739 and eight-bit-graphic to multibyte character.
7740
7741 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
7742 generic character and CODE1 is nil, return the smallest character
7743 in CHARSET.
7744
7745 2000-12-20 Dave Love <fx@gnu.org>
7746
7747 * s/osf5-0.h (NSIG): Don't redefine.
7748
7749 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
7750
7751 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
7752 excluding menu-bar and tool-bar.
7753 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
7754 (menu_item_p): Remove.
7755 (where_is_internal_1): Don't ignore menu-items.
7756
7757 2000-12-20 Gerd Moellmann <gerd@gnu.org>
7758
7759 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
7760 into account.
7761
7762 * window.c (make_window): Initialize window's min_hscroll.
7763 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
7764 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
7765 to zero.
7766 (struct saved_window): New member min_hscroll.
7767 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
7768 (Fset_window_configuration): Set window's min_hscroll.
7769 (save_window_save): Save window's min_hscroll.
7770 (compare_window_configurations): Compare min_hscroll values.
7771
7772 * window.h (struct window): New member min_hscroll.
7773
7774 * keyboard.c (echo_prompt): Prevent a compiler warning.
7775
7776 * xdisp.c (try_cursor_movement): Fix last change. The real
7777 condition is that PT is at the end of the row, and should
7778 be displayed at the start of the next row.
7779
7780 * xdisp.c (try_cursor_movement): If we end on a partially
7781 visible line, end we already decided to scroll, return -1.
7782
7783 * dispextern.h (ensure_frame_matrix): Add prototype.
7784
7785 * window.c (delete_window, Fsplit_window)
7786 (Fset_window_configuration): Call ensure_frame_matrix.
7787
7788 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
7789 New functions.
7790 (adjust_frame_glyphs_for_frame_redisplay): If display has been
7791 completed, call fake_current_matrices instead of marking frame
7792 garbaged.
7793
7794 2000-12-20 Jason Rumney <jasonr@gnu.org>
7795
7796 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
7797
7798 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
7799
7800 * fns.c (Frequire): Doc fix.
7801
7802 2000-12-19 Gerd Moellmann <gerd@gnu.org>
7803
7804 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
7805
7806 * dispnew.c (direct_output_for_insert): Fix check for mini-window
7807 currently displaying a message.
7808
7809 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
7810 xterm.h.
7811 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
7812
7813 2000-12-18 Andrew Innes <andrewi@gnu.org>
7814
7815 * w32.c (w32_strerror): New function.
7816
7817 * w32.h (w32_strerror): New extern.
7818
7819 * w32fns.c (Fw32_shell_execute): Use it.
7820
7821 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7822
7823 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
7824
7825 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7826
7827 * msdos.c (IT_set_face): Obey inverse_video.
7828
7829 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7830
7831 * dired.c (directory_files_internal): Always return decoded filenames.
7832
7833 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7834
7835 * xterm.c (x_connection_closed): Prevent being called recursively
7836 because of an error condition in XtCloseDisplay.
7837
7838 * xdisp.c (init_iterator): If noninteractive, and the frame's
7839 face cache is null, make one.
7840
7841 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
7842
7843 * process.c (wait_reading_process_input): Check for pending
7844 input when running timers.
7845
7846 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7847
7848 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
7849
7850 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7851
7852 * process.c (read_process_output): Don't run a filter if the code
7853 decoder produces nothing but carryover.
7854
7855 2000-12-17 Andrew Innes <andrewi@gnu.org>
7856
7857 * w32.c (sys_rename): Only check errno against EEXIST, and not
7858 EACCES, when determining whether rename failed because the target
7859 exists. This was resulting in indefinite looping on Windows 9x if
7860 the source file was locked by another process.
7861
7862 * w32fns.c (Ffile_system_info): New function.
7863 (syms_of_w32fns): Defsubr it.
7864
7865 2000-12-17 Gerd Moellmann <gerd@gnu.org>
7866
7867 * window.c (coordinates_in_window): Fix computation for
7868 position on vertical line between mode lines.
7869
7870 * xfns.c (unwind_create_frame): Return t if frame was deleted.
7871 Don't alter tip_frame or tip_window.
7872 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7873 was deleted.
7874
7875 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
7876 Don't alter tip_frame or tip_window.
7877 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7878 was deleted.
7879
7880 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
7881
7882 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
7883 be consistent with the doc string. Reported by NAKAJIMA Mikio
7884 <minakaji@osaka.email.ne.jp>.
7885
7886 2000-12-16 Kenichi Handa <handa@etl.go.jp>
7887
7888 * xfaces.c (Vface_ignored_fonts): New variable.
7889 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
7890 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
7891
7892 2000-12-15 Gerd Moellmann <gerd@gnu.org>
7893
7894 * dispnew.c (update_window): Detect pending input every nth line
7895 updated, i.e. do it depending on real work done, and not on the
7896 vpos of the line.
7897
7898 * xterm.c (expose_window): Don't redraw the window that's
7899 currently being updated.
7900
7901 * window.c (Fset_window_point): Remove test for
7902 cursor_in_non_selected_windows.
7903
7904 * lread.c (read1): Recognize end of file after `\\'.
7905
7906 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
7907 not unwind_create_frame.
7908
7909 2000-12-15 Dave Love <fx@gnu.org>
7910
7911 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
7912 bcopy & al.
7913
7914 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
7915
7916 2000-12-15 Kenichi Handa <handa@etl.go.jp>
7917
7918 * coding.c (setup_coding_system): Clear all members of the struct
7919 coding_system at first.
7920 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
7921 argument.
7922 (code_convert_region): Don't override coding->src_multibyte and
7923 coding->dst_multibyte.
7924
7925 * fns.c (Fmd5): Docstring improved.
7926
7927 2000-12-15 Miles Bader <miles@gnu.org>
7928
7929 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
7930 are actually marked as mode-lines; otherwise use
7931 estimate_mode_line_height.
7932
7933 2000-12-14 Gerd Moellmann <gerd@gnu.org>
7934
7935 * editfns.c (Fformat): Prevent a buffer overrun when the format
7936 specifies a precision.
7937
7938 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
7939
7940 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
7941 argument is outside the range [2..3].
7942
7943 2000-12-14 Andrew Innes <andrewi@gnu.org>
7944
7945 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
7946 nothing to do. Bind inhibit-quit.
7947 (tip_frame): Make it a Lisp_Object.
7948 (x_create_tip_frame): Set tip_frame after it has been added to
7949 Vframe_list.
7950 (Fx_show_tip): Don't set tip_frame here.
7951 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
7952 (unwind_create_frame, unwind_create_tip_frame): New functions.
7953 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7954 while a frame is only partially constructed.
7955
7956 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7957 (x_free_frame_resources): New function.
7958 (x_destroy_window): Use it.
7959
7960 2000-12-14 Gerd Moellmann <gerd@gnu.org>
7961
7962 * xfns.c (Fx_backspace_delete_keys_p): New function.
7963 (syms_of_xfns): Defsubr it.
7964
7965 * config.in (HAVE_XKBGETKEYBOARD): Add.
7966
7967 2000-12-14 Kenichi Handa <handa@etl.go.jp>
7968
7969 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
7970 Always store string in multibyte representation in echobuf.
7971 (echo_char): Always store string in multibyte representation in
7972 echobuf.
7973 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
7974 (read_key_sequence): Adjusted for the change of echo_prompt.
7975
7976 * fns.c (Fmd5): Docstring improved.
7977
7978 * lisp.h (detect_coding_system): Prototype adjusted.
7979
7980 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
7981 (detect_coding_emacs_mule, detect_coding_iso2022,)
7982 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
7983 (detect_coding_utf_16, detect_coding_ccl): Make them static.
7984 New argument MULTIBYTEP. Callers changed.
7985 (detect_coding_mask, detect_coding_system): New argument
7986 MULTIBYTEP. Callers changed.
7987 (decode_coding_string): Set coding->src_multibyte and
7988 coding->dst_multibyte before calling detect_coding and detect_eol.
7989 Update them after some coding system is detected.
7990
7991 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
7992
7993 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
7994
7995 * keyboard.c (menu_bar_items, tool_bar_items):
7996 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
7997
7998 2000-12-13 Gerd Moellmann <gerd@gnu.org>
7999
8000 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
8001 New variables.
8002 (unwind_create_frame, unwind_create_tip_frame): New functions.
8003 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
8004 while a frame is only partially constructed.
8005
8006 * xterm.h (x_free_frame_resources): Declare.
8007
8008 * xterm.c (x_free_frame_resources): New function.
8009 (x_destroy_window): Use it.
8010
8011 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
8012 don't interrupt the update for pending input initially, i.e.
8013 update at least some lines.
8014
8015 * keyboard.c (do_mouse_tracking): Make externally visible.
8016
8017 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
8018
8019 * xfns.c (gray_bitmap_bits): Declare `char *'.
8020
8021 2000-12-12 Gerd Moellmann <gerd@gnu.org>
8022
8023 * xdisp.c (display_tool_bar_line): Make sure that tool bar
8024 lines start with a relief line.
8025
8026 2000-12-12 Dave Love <fx@gnu.org>
8027
8028 * window.c (Fdisplay_buffer): Doc fix.
8029 (Fwindow_list): Remove unused var.
8030
8031 * buffer.h (mmap_set_vars): Declare.
8032
8033 * window.h (Fset_window_point): Declare.
8034
8035 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
8036
8037 * msdos.c (fast_find_position): Don't overstep the last window row.
8038 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
8039 variable `area'. When looking for a row under (X,Y), give up if some
8040 of the previous rows is not enabled.
8041
8042 2000-12-12 Gerd Moellmann <gerd@gnu.org>
8043
8044 * window.c (Fset_window_point): If displaying cursors in windows
8045 other than the selected window, make sure redisplay updates
8046 other windows to show the new value of point in the window.
8047
8048 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
8049
8050 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
8051 the buffer is the sole visible buffer when in the mini-buffer.
8052
8053 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
8054 Bind `inhibit-read-only' to t.
8055 (unwind_with_echo_area_buffer): Use AREF.
8056
8057 * xfns.c (Fx_hide_tip): Simplified.
8058
8059 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
8060 instead of `1'.
8061
8062 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
8063
8064 2000-12-11 Gerd Moellmann <gerd@gnu.org>
8065
8066 * xfns.c (Fx_hide_tip): Fix last change.
8067
8068 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
8069 nothing to do. Bind inhibit-quit.
8070 (tip_frame): Make it a Lisp_Object.
8071 (x_create_tip_frame): Set tip_frame after it has been added to
8072 Vframe_list.
8073 (Fx_show_tip): Don't set tip_frame here.
8074
8075 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
8076
8077 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
8078 Lisp_Object.
8079
8080 * dispextern.h: Change external declaration of tip_frame.
8081
8082 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
8083 return an empty string.
8084
8085 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
8086 of the window's update_mode_line flag, since the former is set by
8087 force-mode-line-update, not the latter. This makes
8088 column-number-mode slightly faster.
8089
8090 * xdisp.c (try_window_id) <all changes above window start>:
8091 Set the cursor.
8092
8093 2000-12-11 Paul Eggert <eggert@twinsun.com>
8094
8095 * config.in (HAVE_FTELLO): Remove.
8096 (HAVE_FSEEKO): Add.
8097 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
8098 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
8099 HAVE_FTELLO.
8100 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
8101 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
8102
8103 2000-12-11 Miles Bader <miles@gnu.org>
8104
8105 * window.c (displayed_window_lines): Don't round up when
8106 converting empty space at bottom to lines.
8107 Handle non-newline-terminated final lines properly.
8108 (Fwindow_text_height): New function (used to be in lisp).
8109 (syms_of_window): Initialize it.
8110
8111 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
8112
8113 * syntax.c (scan_lists): Check that the right quote char has the
8114 right Sstring syntax when jumping over strings.
8115 (init_syntax_once): Use Smax rather than 13.
8116
8117 2000-12-09 Miles Bader <miles@gnu.org>
8118
8119 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
8120 with PARTIALLY, inverting the sense.
8121 (window_scroll_pixel_based): Scroll partially visible lines into
8122 place if we hit the beginning or end of the buffer.
8123 (displayed_window_lines): Don't include partially visible lines.
8124 (Fmove_to_window_line): Skip past any partially visible first line.
8125
8126 2000-12-08 Gerd Moellmann <gerd@gnu.org>
8127
8128 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
8129
8130 * tparam.c (tparam1): Change the way buffers are reallocated to be
8131 portable and less obfuscated.
8132
8133 * termcap.c (tgetent): Change the way buffers are reallocated to
8134 be portable and less obfuscated.
8135
8136 * macros.c (store_kbd_macro_char): Change the way buffers are
8137 reallocated to be portable and less obfuscated.
8138
8139 * lread.c (read1): Change the way buffers are reallocated to be
8140 portable and less obfuscated.
8141
8142 * doc.c (Fsubstitute_command_keys): Change the way buffers
8143 are reallocated so that it is portable.
8144
8145 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
8146
8147 * dosfns.c (Ffile_system_info): New function.
8148 (syms_of_dosfns): Defsubr it.
8149
8150 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
8151
8152 * alloc.c (gc_sweep): Add comment.
8153
8154 2000-12-07 Gerd Moellmann <gerd@gnu.org>
8155
8156 * sound.c (vox_configure): Change order of ioctls.
8157 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
8158 Ignore errors when changing volume.
8159 (vox_close): Don't reset the device.
8160
8161 * process.c (read_process_output): Make sure the process marker's
8162 position is valid when the process buffer is changed in
8163 after-change functions. W3 does that.
8164
8165 * xfns.c (x_free_gcs): New function.
8166
8167 * xterm.h (x_free_gcs): Add prototype.
8168
8169 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
8170 freeing GCs here.
8171
8172 * xterm.c (x_destroy_window): Call x_free_gcs so that
8173 resources of non-toolkit X windows will be freed.
8174
8175 2000-12-07 Andrew Innes <andrewi@gnu.org>
8176
8177 * w32fns.c (xlfd_charset_of_font): Fix last change.
8178
8179 2000-12-06 Dave Love <fx@gnu.org>
8180
8181 * md5.h (__P): Don't define -- it comes from config.h.
8182
8183 * strftime.c: Change some #if foo to #ifdef foo.
8184
8185 2000-12-06 Andrew Innes <andrewi@gnu.org>
8186
8187 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
8188
8189 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
8190 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
8191 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
8192
8193 2000-12-06 Gerd Moellmann <gerd@gnu.org>
8194
8195 * alloc.c (gc_sweep): Prevent symbols read during loadup
8196 from being freed.
8197
8198 * xdisp.c (underlying_face_id): New function.
8199 (handle_face_prop, face_before_or_after_it_pos): Use it
8200 to determine the face ``under'' a string. Let strings inherit
8201 the face of the buffer under them.
8202
8203 * xfaces.c (face_at_string_position): Update function comment.
8204
8205 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
8206 matrix if the window's left position has changed; we need to
8207 redraw it in this case.
8208
8209 * dispextern.h (struct glyph_matrix): Add member window_left_x.
8210
8211 * window.c (coordinates_in_window): Check mouse on mode-line or
8212 header-line first.
8213
8214 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
8215 advertized by the function documentation.
8216
8217 * window.c (syms_of_window): Doc fix.
8218
8219 * sound.c (vox_configure): Set volume for left and right channel.
8220 (sound_cleanup): Return nil.
8221
8222 * xdisp.c (move_it_by_lines): Fix paren typo.
8223
8224 * xterm.c (x_load_font): Don't use the font's max_bounds for
8225 computing the height of the font. If max_bounds' ascent or
8226 descent are greater than the font's ascent or descent, this means
8227 glyphs overlap, which should be handled now by redisplay.
8228
8229 * window.c (Veven_window_heights): New variable.
8230 (syms_of_window): DEFVAR_LISP it.
8231 (Fdisplay_buffer): Check Veven_window_heights before evening the
8232 window heights.
8233
8234 2000-12-06 Miles Bader <miles@gnu.org>
8235
8236 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
8237 update `default-frame-alist' instead of setting no frame parameters.
8238
8239 2000-12-06 Kenichi Handa <handa@etl.go.jp>
8240
8241 * composite.c (update_compositions): Fix typo (use the correct
8242 variable).
8243
8244 2000-12-05 Jason Rumney <jasonr@gnu.org>
8245
8246 * md5.h: Remove underscores from function declarations.
8247 (__attribute__, __alignof__) [!__GNUC__]: Define.
8248
8249 * md5.c: Delay include of md5.h until after namespace cleaning.
8250
8251 * makefile.w32-in (fns.o): Depend on md5.h
8252 (md5.o): New target.
8253 (sunfns.o): Remove.
8254
8255 * makefile.nt: Likewise.
8256
8257 2000-12-05 Jason Rumney <jasonr@altavista.net>
8258
8259 * w32term.c (expose_area): Complete last change.
8260
8261 2000-12-05 Ken Raeburn <raeburn@gnu.org>
8262
8263 * minibuf.c: Include intervals.h.
8264
8265 2000-12-05 Jason Rumney <jasonr@gnu.org>
8266
8267 * w32term.c (x_produce_glyphs): If a font for a component of
8268 a composition is not found, use 1 pixel dot ascent and 0 dot
8269 descent value to avoid displaying terribly tall empty boxes.
8270 (expose_area): Pass x-coordinate relative to the exposed
8271 area to x_draw_glyphs instead of a window-relative coordinate.
8272
8273 2000-12-05 Gerd Moellmann <gerd@gnu.org>
8274
8275 * xdisp.c (next_element_from_ellipsis): Save face before selective
8276 display in saved_face_id, and set face_before_selective_p.
8277 (reseat_1): Reset face_before_selective_p.
8278 (append_space, extend_face_to_end_of_line): If iterator's
8279 face_before_selective_p is set, use the face from saved_face_id.
8280 (extend_face_to_end_of_line): For tty frames, make sure to
8281 use the right face id when producing spaces at the end of
8282 the line.
8283
8284 * dispextern.h (struct it): Add face_before_selective_p.
8285
8286 * keyboard.c (record_char): Don't record identical help-echo
8287 events in recent_keys.
8288
8289 * xterm.c [USE_X_TOOLKIT]: Close the display.
8290 (xim_close_dpy): Handle case that the display has been closed.
8291
8292 * xterm.c (x_destroy_window): Reset the frame's X window after
8293 destroying it.
8294
8295 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
8296 variable window_width.
8297 (line_draw_cost): Fix code skipping over spaces at the end of the
8298 line when must_write_spaces is not set.
8299 (scrolling_window): Fix code inserting runs in list of all runs.
8300
8301 2000-12-05 Kenichi Handa <handa@etl.go.jp>
8302
8303 * coding.c (setup_coding_system): Be sure to initialize
8304 coding->category_idx.
8305
8306 2000-12-04 Gerd Moellmann <gerd@gnu.org>
8307
8308 * xterm.c (PER_CHAR_METRIC): Removed because not used.
8309
8310 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
8311 area to x_draw_glyphs instead of a window-relative coordinate.
8312
8313 * fileio.c (auto_save_error): Add parameter ERROR. Show the
8314 error in the message.
8315
8316 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
8317 timer after having read a key. It's not good for code reading
8318 several keys in a loop, like an input method.
8319
8320 * fileio.c (Finsert_file_contents): When VISIT is t, don't
8321 record undo information for format-decode.
8322
8323 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
8324 current buffer is read-only, not if it isn't.
8325
8326 * keyboard.c (record_char): Record `help-echo' input events
8327 in recent_keys only if they display some help. Don't record
8328 `help-echo' events as macro char.
8329
8330 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
8331
8332 * editfns.c (save_excursion_restore): Don't move point
8333 in another window if it is showing the wrong buffer.
8334 Avoid the call to Fwindow_live_p, for speed.
8335
8336 2000-12-04 Kenichi Handa <handa@etl.go.jp>
8337
8338 * xfaces.c (struct font_name): New member registry_priority.
8339 (split_font_name): Initialize the above member to zero.
8340 (concat_font_list): New function.
8341 (font_list): Include fonts of all alternative registries.
8342 (FONT_POINT_SIZE_QUANTUM): New macro.
8343 (better_font_p): Ignore point size difference less than
8344 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
8345
8346 * xterm.c (x_produce_glyphs): If a font for a component of
8347 a composition is not found, use 1 pixel dot ascent and 0 dot
8348 descent value to avoid displaying terribly tall empty boxes.
8349
8350 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
8351
8352 2000-12-03 Ken Raeburn <raeburn@gnu.org>
8353
8354 * coding.h (code_convert_string1): Declare.
8355
8356 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
8357
8358 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
8359
8360 2000-12-02 Jason Rumney <jasonr@gnu.org>
8361
8362 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
8363 correctly for single byte character case.
8364 (w32_per_char_metric): Do not try to make any assumptions about
8365 the metrics of BDF fonts.
8366 (x_estimate_mode_line_height): If `mode-line' face
8367 hasn't a font, use that of the frame, as drawing glyphs does.
8368 (note_mouse_highlight): Change the cursor shape on the vertical
8369 border between windows [not enabled].
8370
8371 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
8372
8373 * w32fns.c (Fx_create_frame): Reintroduce the call to
8374 face-set-after-frame-defaults.
8375 (Vx_window_horizontal_drag_shape): New variable.
8376 (syms_of_xfns): DEFVAR_LISP it.
8377 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
8378 enabled].
8379
8380 2000-12-02 Simon Josefsson <simon@josefsson.org>
8381
8382 * fns.c (Fmd5): Use a different logic to decide the coding system
8383 to use.
8384
8385 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
8386
8387 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
8388
8389 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
8390
8391 2000-12-01 Gerd Moellmann <gerd@gnu.org>
8392
8393 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
8394 height for YNegative.
8395 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
8396 height; also see comment there.
8397
8398 * window.c (coordinates_in_window): Handle computations for
8399 positions on the vertical bar and fringes differently for
8400 window-system frames. Consider some pixels near the vertical bar
8401 as on the bar if the frame doesn't have vertical scroll bars.
8402 Associate positions between mode or header lines with the
8403 right window, the left one.
8404
8405 2000-12-01 Jason Rumney <jasonr@gnu.org>
8406
8407 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
8408
8409 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
8410 invalid frame.
8411
8412 2000-12-01 Gerd Moellmann <gerd@gnu.org>
8413
8414 * window.c (struct saved_window): Add members orig_top and orig_height.
8415 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
8416 (save_window_save, Fset_window_configuration): Save/restore
8417 window's orig_top and orig_height.
8418
8419 2000-12-01 Jason Rumney <jasonr@gnu.org>
8420
8421 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
8422
8423 * w32fns.c (x_set_cursor_color): Fix last change.
8424
8425 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8426
8427 * xdisp.c (echo_area_display): If cursor is in the echo area, make
8428 sure that the next redisplay displays the minibuffer, so that
8429 the cursor will be replaced with what the minibuffer wants.
8430
8431 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
8432 #ifndef instead of using #if.
8433 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
8434 USE_TOOLKIT_SCROLL_BARS is defined.
8435
8436 2000-11-30 Jason Rumney <jasonr@gnu.org>
8437
8438 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
8439 x_display_cursor.
8440
8441 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8442
8443 * fns.c (Fmd5): Doc fix.
8444
8445 2000-11-30 Simon Josefsson <simon@josefsson.org>
8446
8447 * fns.c (Fmd5): New function.
8448 (syms_of_fns): Defsubr md5.
8449
8450 * Makefile.in (obj): Add md5.o
8451
8452 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8453
8454 * md5.h, md5.c: New files, taken from glibc.
8455
8456 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
8457
8458 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
8459 hasn't a font, use that of the frame, as drawing glyphs does.
8460
8461 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
8462
8463 * eval.c (Frun_hooks): Allow 0 arguments.
8464
8465 2000-11-29 Gerd Moellmann <gerd@gnu.org>
8466
8467 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
8468 is over the menu bar widget, say it's not on the frame.
8469
8470 * xfns.c (Fx_create_frame): Reintroduce the call to
8471 face-set-after-frame-defaults.
8472
8473 * eval.c (Fsignal): Reset handling_signal.
8474
8475 2000-11-28 Jason Rumney <jasonr@gnu.org>
8476
8477 * w32menu.c (add_menu_item): Reset menu item text when changing
8478 type to radio button.
8479
8480 2000-11-28 Gerd Moellmann <gerd@gnu.org>
8481
8482 * xselect.c: Update copyright.
8483
8484 * window.c (coordinates_in_window): If on a mode or header line,
8485 but sufficiently close to its start, return ``on vertical
8486 border''. This gives us a way to drag windows horizontally when
8487 using toolkit scroll bars.
8488
8489 * xterm.c (note_mouse_highlight): Change the cursor shape
8490 on the vertical border between windows.
8491
8492 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
8493
8494 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
8495 (syms_of_xfns): DEFVAR_LISP it.
8496 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
8497
8498 * textprop.c (text_read_only): New function.
8499 (verify_interval_modification): Use it instead of signaling
8500 `text-read-only'. This makes it easier to catch this error
8501 with a breakpoint.:
8502
8503 * xdisp.c (forward_to_next_line_start): Check for newlines,
8504 not end of line, which includes CR.
8505
8506 2000-11-28 Kenichi Handa <handa@etl.go.jp>
8507
8508 * coding.c (Ffind_coding_systems_region_internal): Be sure to
8509 include no-conversion.
8510
8511 2000-11-27 Jason Rumney <jasonr@gnu.org>
8512
8513 * w32fns.c (w32_load_system_font): Always mark font as double byte
8514 if codepage is unicode.
8515
8516 2000-11-27 Gerd Moellmann <gerd@gnu.org>
8517
8518 * xdisp.c (forward_to_next_line_start): If already on a newline,
8519 just consume it to avoid unintended skipping over invisible text below.
8520
8521 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
8522 `vertical-line', `mode-line' and `header-line' events.
8523
8524 * xdisp.c (try_window_id): Avoid starting to display in the middle
8525 of a character, a TAB for instance. This is easier than to set
8526 up the iterator exactly, and it's not a frequent case, so the
8527 additional effort wouldn't really pay off.
8528
8529 2000-11-26 Andrew Choi <akochoi@i-cable.com>
8530
8531 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
8532 init_window_once.
8533
8534 2000-11-25 Jason Rumney <jasonr@gnu.org>
8535
8536 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
8537 Args to window_from_coordinates should be pixel coordinates.
8538
8539 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
8540 redisplay handles them properly.
8541
8542 2000-11-25 Miles Bader <miles@gnu.org>
8543
8544 * indent.c (compute_motion): Keep pos_byte in sync with pos.
8545
8546 2000-11-24 Jason Rumney <jasonr@gnu.org>
8547
8548 * w32.c (init_environment): Set LANG environment variable based on
8549 locale settings, if not set.
8550
8551 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
8552 making tool bar smaller. When clearing the frame, also
8553 clear current matrices. Clear frame when tool bar disappears.
8554 Don't use more lines for the tool-bar than is available.
8555 (x_change_window_heights): New function.
8556
8557 2000-11-24 Gerd Moellmann <gerd@gnu.org>
8558
8559 * xdisp.c (init_from_display_pos): If POS says we're already after
8560 an overlay string ending at POS, make sure to pop the iterator
8561 because it will be in front of that overlay string. When POS is
8562 ZV, we've thereby also ``processed'' overlay strings at ZV.
8563
8564 * xfaces.c (lface_from_face_name): Function comment fix.
8565
8566 2000-11-24 Miles Bader <miles@gnu.org>
8567
8568 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
8569 apply `mode-line-inverse-video' -- zero means force display using
8570 the default face, non-zero means display using the specialized face.
8571 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
8572
8573 2000-11-23 Kenichi Handa <handa@etl.go.jp>
8574
8575 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
8576 hard coded `4'.
8577
8578 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
8579
8580 * coding.c (decode_coding_emacs_mule): Fix the case of
8581 CODING_EOL_LF, which used uninitialized value of c.
8582
8583 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
8584
8585 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
8586
8587 2000-11-22 Gerd Moellmann <gerd@gnu.org>
8588
8589 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
8590 buffer object.
8591
8592 * frame.h (struct frame): Replace desired_tool_bar_items,
8593 current_tool_bar_items, n_desired_tool_bar_items,
8594 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
8595
8596 * frame.c (make_frame): Change initialization of tool bar
8597 items accordingly.
8598
8599 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
8600 Change references to members deleted from struct frame to use the
8601 new ones.
8602
8603 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
8604 references to members deleted from struct frame to use the new ones.
8605
8606 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
8607
8608 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
8609
8610 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
8611 (note_tool_bar_highlight): Change references to members deleted
8612 from struct frame to use the new ones.
8613
8614 2000-11-23 Miles Bader <miles@gnu.org>
8615
8616 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
8617 the face's inverse-video attribute, rather than overriding it.
8618
8619 2000-11-22 Gerd Moellmann <gerd@gnu.org>
8620
8621 * xfns.c (x_set_tool_bar_lines): Clear internal border when
8622 making tool bar smaller.
8623
8624 2000-11-22 Dave Love <fx@gnu.org>
8625
8626 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
8627
8628 2000-11-22 Miles Bader <miles@gnu.org>
8629
8630 * keyboard.c (Vminibuffer_message_timeout): New variable.
8631 (command_loop_1): Use it to determine message timeout.
8632 (syms_of_keyboard): Initialize it.
8633
8634 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
8635
8636 2000-11-22 Kenichi Handa <handa@etl.go.jp>
8637
8638 * sysdep.c: Move the code for declaring h_errno after #include
8639 <netdb.h>.
8640
8641 2000-11-21 Gerd Moellmann <gerd@gnu.org>
8642
8643 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
8644 the menu bar when the tooltip is unmapped.
8645
8646 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
8647 sole visible buffer when we're currently in the mini-buffer, and
8648 give up if so.
8649
8650 2000-11-21 Jason Rumney <jasonr@gnu.org>
8651
8652 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
8653 put on the clipboard.
8654 (Fw32_get_clipboard_data): Compare data on clipboard with saved
8655 copy of what Emacs last put there. If they are the same, do not
8656 use the clipboard copy to avoid losing data due to coding conversions.
8657
8658 2000-11-22 Miles Bader <miles@gnu.org>
8659
8660 * minibuf.c (Vminibuffer_prompt_properties): New variable.
8661 (syms_of_minibuf): Initialize it.
8662 (read_minibuf): Add properties from Vminibuffer_prompt_properties
8663 to prompt, don't make read-only.
8664
8665 2000-11-21 Gerd Moellmann <gerd@gnu.org>
8666
8667 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
8668 Add BEFORE/AFTER_POTENTIAL_GC.
8669
8670 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
8671
8672 * buffer.c (mmap_free_1): Avoid a compiler warning.
8673
8674 * term.c, cm.c: Don't try to include termcap.h; see comment there.
8675
8676 2000-11-21 Kenichi Handa <handa@etl.go.jp>
8677
8678 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
8679 ... #endif scope.
8680
8681 2000-11-20 Gerd Moellmann <gerd@gnu.org>
8682
8683 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
8684 screen supports it.
8685
8686 * s/gnu-linux.h: Don't use `#cpu'.
8687
8688 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
8689 not defined in mman.h.
8690
8691 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
8692 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
8693 and store an index in the XClientMessageEvent. Storing a
8694 Lisp_Object or pointer can fail on a 64 bit system, since X only
8695 transfers 32 bits.
8696 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
8697
8698 2000-11-20 Dave Love <fx@gnu.org>
8699
8700 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
8701
8702 2000-11-20 Gerd Moellmann <gerd@gnu.org>
8703
8704 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
8705
8706 2000-11-20 Kenichi Handa <handa@etl.go.jp>
8707
8708 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
8709 by WIDTH.
8710
8711 * alloc.c (make_string): Fix previous change. Be sure to make
8712 unibyte string correctly.
8713
8714 2000-11-19 Gerd Moellmann <gerd@gnu.org>
8715
8716 * window.c (Fwindow_list): Change parameter list to be XEmacs
8717 compatible.
8718 (window_list_1): New function.
8719 (window_loop): Use it instead of Fwindow_list.
8720
8721 * sysdep.c (emacs_ospeed): New variable.
8722 (toplevel): Don't declare ospeed extern.
8723 (init_baud_rate): Use emacs_ospeed instead of ospeed.
8724
8725 * termcap.c (ospeed): Remove.
8726 (tputs) [!emacs]: Remove unused code.
8727 (tgetent): Avoid a compiler warning.
8728
8729 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
8730 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
8731 SCROLL_BAR_X_WIDGET with additional argument DPY.
8732
8733 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
8734 removed.
8735 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
8736 Take the X display as additional argument.
8737 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
8738 `Widget' is a pointer type that's not easily stored in Lisp_Object
8739 form in a portable way.
8740
8741 * dispnew.c (update_text_area): Fix last change.
8742
8743 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8744
8745 * xdisp.c: Use BINDING_STACK_SIZE throughout.
8746
8747 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
8748 clear current matrices.
8749
8750 * buffer.c (mmap_enlarge): Don't print a message on stderr
8751 if mapping new memory at the end of the existing region fails.
8752
8753 * dispnew.c (update_text_area): Don't skip over equal glyphs
8754 when the last current glyph overlaps the glyph to its right.
8755
8756 2000-11-18 Miles Bader <miles@gnu.org>
8757
8758 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
8759 lines that *end* with "..." too (that's the most common case!).
8760
8761 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8762
8763 * xdisp.c (resize_mini_window): Temporarily change to the
8764 mini-window's buffer if necessary.
8765
8766 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
8767 the tooltip obscures less text under it.
8768
8769 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8770
8771 * puresize.h (BASE_PURESIZE): Increase to 700000.
8772
8773 2000-11-18 Jason Rumney <jasonr@gnu.org>
8774
8775 * w32term.c (w32_draw_bitmap): Use face to set colors.
8776
8777 2000-11-17 Dave Love <fx@gnu.org>
8778
8779 * lread.c (Fload): Fix #ifdef for pcc.
8780
8781 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8782
8783 * xdisp.c (pos_visible_p): Compute the default character height
8784 differently.
8785
8786 2000-11-16 Gerd Moellmann <gerd@gnu.org>
8787
8788 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
8789 knowing the line's height; use the default font's height in that case.
8790
8791 * xfaces.c (weight_table): Add `demi' with the same meaning as
8792 `demibold'.
8793
8794 2000-11-16 Kenichi Handa <handa@etl.go.jp>
8795
8796 * dispnew.c (null_row): New global static variable.
8797 (clear_glyph_row): Delete local static variable null_row.
8798
8799 2000-11-15 Jason Rumney <jasonr@gnu.org>
8800
8801 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
8802 (w32_alloc_lighter_color): Use new brightness calculations from
8803 xterm.c. Scale delta to be in the range expected by W32.
8804 (w32_draw_relief_rect): Use frame relief colors.
8805
8806 2000-11-15 Gerd Moellmann <gerd@gnu.org>
8807
8808 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
8809 (Qinhibit_default_face_x_resources): New variable.
8810 (syms_of_frame): Initialize it.
8811 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
8812
8813 * xdisp.c (pos_visible_p): Improve function comment.
8814
8815 * lisp.h (BINDING_STACK_SIZE): New macro.
8816
8817 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
8818 reading the directory if readdir returns null and errno is EAGAIN
8819 or EINTR.
8820
8821 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
8822
8823 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
8824 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
8825 Set amount_to_scroll to max of dx and scroll_step so that
8826 scroll-conservatively doesn't defeat scroll-step>1.
8827 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
8828 scroll-conservatively for line-at-a-time scrolling.
8829
8830 2000-11-14 Gerd Moellmann <gerd@gnu.org>
8831
8832 * window.c (Fpos_visible_in_window_p): Call pos_visible with
8833 extra argument.
8834
8835 * xdisp.c (current_mode_line_height, current_header_line_height):
8836 New variables.
8837 (init_xdisp): Initialize them.
8838 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
8839 and use exact mode line heights if it is set.
8840
8841 * lisp.h (pos_visible_p): Change prototype.
8842
8843 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
8844 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
8845 and current_header_line_height first.
8846 (current_mode_line_height, current_header_line_height):
8847 Declare extern.
8848
8849 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
8850
8851 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
8852 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
8853 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
8854
8855 2000-11-14 Miles Bader <miles@gnu.org>
8856
8857 * xterm.c (x_alloc_lighter_color): Include an additive component
8858 too for dark colors, because FACTOR isn't enough.
8859 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
8860 New macros.
8861
8862 2000-11-13 Gerd Moellmann <gerd@gnu.org>
8863
8864 * keyboard.c (show_help_echo): Call message3_nolog with number of
8865 bytes in the help string as 2nd parameter, instead of the number
8866 of characters.
8867
8868 2000-11-13 Miles Bader <miles@gnu.org>
8869
8870 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
8871 (Fload): Use new openp return protocol.
8872 Don't try to use Vload_source_file_function to load .elc files.
8873 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
8874 openp return protocol.
8875 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
8876
8877 2000-11-11 Kenichi Handa <handa@etl.go.jp>
8878
8879 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
8880
8881 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
8882 Defined these macros.
8883 (NLIST_STRUCT): Avoid re-defining it.
8884
8885 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
8886 -I/usr/contrib/X11R6/include.
8887 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
8888
8889 2000-11-10 Jason Rumney <jasonr@gnu.org>
8890
8891 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
8892
8893 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
8894 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
8895
8896 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
8897 (Qw32_charset_vietnamese): New symbol.
8898 (xlfd_charset_of_font): New function.
8899 (w32_load_system_font): Use it.
8900 (x_to_w32_charset): Use Fassoc to find charset info. Special case
8901 when Vw32_charset_info_alist is nil to ensure default face always
8902 has font. Use Fcar and Fcdr for safety.
8903 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
8904 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
8905 pseudo-codepages for special cases.
8906 (w32_to_x_font): New parameter to allow charset portion to be
8907 specified where there is many to one mapping. Callers changed.
8908 (w32_list_fonts): Avoid listing fonts that won't display.
8909
8910 2000-11-10 Gerd Moellmann <gerd@gnu.org>
8911
8912 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
8913 (font_list_1): Renamed from font_list.
8914 (font_list): New function, trying alternative registries from
8915 Vface_alternative_font_registry_alist.
8916 (Finternal_set_alternative_font_registry_alist): New function.
8917 (syms_of_xfaces): Initialize and Staticpro
8918 Vface_alternative_font_registry_alist.
8919 Defsubr Finternal_set_alternative_font_registry_alist.
8920
8921 2000-11-09 Ken Raeburn <raeburn@gnu.org>
8922
8923 * lisp.h (Flooking_at): Declare.
8924
8925 2000-11-09 Gerd Moellmann <gerd@gnu.org>
8926
8927 * dired.c (directory_files_internal): Fix a braino.
8928
8929 * dired.c (directory_files_internal): Add missing GCPRO's.
8930 Some cleanup.
8931
8932 2000-11-08 Gerd Moellmann <gerd@gnu.org>
8933
8934 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
8935 (resize_mini_window): Return quickly if Vresize_mini_window is
8936 nil. Don't return if Vmax_mini_window_height is nil.
8937
8938 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
8939 (syms_of_xdisp): Initialize them.
8940 (resize_mini_window): Act according to the setting of
8941 Vresize_mini_window.
8942 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
8943
8944 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
8945 scroll bar widget after configuring it, so that it will appear at
8946 the right position from the start.
8947 (XTredeem_scroll_bar): Cleaned up.
8948
8949 2000-11-08 Kenichi Handa <handa@etl.go.jp>
8950
8951 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
8952 font is taller than the frame line, we don't have to bias the
8953 division by two.
8954
8955 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
8956
8957 2000-11-07 Dave Love <fx@gnu.org>
8958
8959 * config.in (HAVE_MKSTEMP): Add.
8960
8961 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
8962
8963 2000-11-07 Gerd Moellmann <gerd@gnu.org>
8964
8965 * window.c (Fset_window_configuration): Don't try to preserve
8966 point in the current buffer, if that buffer is displayed in more
8967 than one window.
8968
8969 * xfaces.c (lookup_named_face): If default face isn't realized,
8970 try to realize it. Return -1 if not successful.
8971 (Fx_list_fonts): Handle case that face cannot be determined.
8972 (Fface_font): Likewise.
8973
8974 2000-11-06 Gerd Moellmann <gerd@gnu.org>
8975
8976 * window.c (displayed_window_lines): Detect partially
8977 visible lines at the bottom correctly.
8978
8979 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
8980
8981 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
8982 when ensuring we don't do visit in indirect buffer.
8983
8984 2000-11-06 Kenichi Handa <handa@etl.go.jp>
8985
8986 * composite.h (compose_chars_in_text): Add prototype.
8987
8988 * composite.c (Vcomposition_function_table): New variable.
8989 (Qcomposition_function_table): New variable.
8990 (run_composition_function): Call
8991 Vcompose_chars_after_function with three arguments.
8992 (compose_chars_in_text): New function.
8993 (syms_of_composite): Modified the doc-string of
8994 Vcompose_chars_after_function. Declare composition-function-table
8995 as a lisp variable, and initialize it.
8996
8997 * xfns.c (x_encode_text): Suppress producing escape sequences for
8998 composition.
8999
9000 * xselect.c: Include composite.h.
9001 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
9002
9003 2000-11-05 Andrew Innes <andrewi@gnu.org>
9004
9005 * w32term.c (x_produce_glyphs): Fix typo in enum name.
9006
9007 * sysdep.c (read_input_waiting): Remove extraneous argument to
9008 read_socket_hook.
9009
9010 * w32fns.c (Fx_server_version): Include w32_build_number in the
9011 return list.
9012
9013 * w32heap.c (w32_build_number): New variable.
9014 (cache_system_info): Set it.
9015
9016 * w32heap.h (w32_build_number): Add extern.
9017
9018 * emacs.c (syms_of_emacs): Update docstring for
9019 system-configuration, to reflect the actual usage on MS-Windows.
9020
9021 2000-10-31 Gerd Moellmann <gerd@gnu.org>
9022
9023 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
9024 process idle timers while waiting for another event.
9025
9026 * dispnew.c (update_frame_line): Handle case where spaces in
9027 the default face are colored.
9028
9029 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
9030 window height hasn't changed.
9031
9032 2000-10-31 Jason Rumney <jasonr@gnu.org>
9033
9034 * w32term.c (x_produce_glyphs): Handle composite characters.
9035 (x_draw_glyph_string_foreground)
9036 (x_draw_composite_glyph_string_foreground): Restore old font.
9037
9038 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
9039
9040 * minibuf.c (read_minibuf): Reset the undo history just before
9041 starting the recursive-edit.
9042
9043 2000-10-30 Gerd Moellmann <gerd@gnu.org>
9044
9045 * xfaces.c (menu_face_change_count): New variable.
9046 (Finternal_set_lisp_face_attribute): Increment it for changes
9047 of the `menu' face.
9048 (realize_basic_faces): Reflect changes in the `menu' faces
9049 in menu bars.
9050
9051 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
9052 dy obtained from the iterator's y-position after moving from
9053 scroll_margin_pos to PT; see comment there.
9054
9055 * xdisp.c (safe_eval_handler): Call add_to_log.
9056
9057 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
9058 is not a symbol or string.
9059
9060 * xdisp.c (echo_area_display): Don't perform a display update from
9061 inside redisplay. The update will happen anyway at the end of
9062 redisplay, and it can confuse redisplay (GC messages while
9063 redisplaying, for instance.)
9064
9065 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
9066
9067 * xrdb.c (x_load_resources): Use the class name in the defaults.
9068
9069 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
9070 (regex_compile): Catch bogus \(\1\).
9071
9072 2000-10-30 Gerd Moellmann <gerd@gnu.org>
9073
9074 * xterm.c (x_alloc_nearest_color): Fix last change to compare
9075 RGB values.
9076
9077 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
9078 we have a color cache, check that the cached color equals the
9079 allocated color. If not, clear the color cache.
9080
9081 * window.c (displayed_window_lines): Change buffers if necessary.
9082 Fix computation of displayed lines.
9083
9084 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
9085 update_menu_bindings to DEFVAR_BOOL.
9086
9087 2000-10-30 Kenichi Handa <handa@etl.go.jp>
9088
9089 * search.c (Fset_match_data): Be sure to make search_regs always sane.
9090
9091 * puresize.h (BASE_PURESIZE): Increase to 680000.
9092
9093 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
9094
9095 2000-10-29 Jason Rumney <jasonr@gnu.org>
9096
9097 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
9098
9099 * w32term.c (w32_bdf_per_char_metric): Negate descent.
9100 (w32_cache_char_metrics): Handle possibility that 'x' does not
9101 exist in a BDF font.
9102 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
9103
9104 * w32bdf.h (bdffont): Add nchars.
9105
9106 * w32bdf.c (set_bdf_font_info): Set it.
9107 (w32_BDF_TextOut): Swap byte order of double byte characters.
9108 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
9109
9110 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
9111
9112 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
9113 don't override the colors in frame's param_alist, unless they are
9114 unspecified.
9115
9116 * term.c (reassert_line_highlight): If inverse_video is non-zero,
9117 reverse the effect of the highlight flag.
9118
9119 2000-10-27 Ken Raeburn <raeburn@gnu.org>
9120
9121 * window.h (Fwindow_live_p): Declare.
9122
9123 * undo.c (record_delete): Check that last_undo_buffer is really a
9124 buffer before applying XBUFFER to it.
9125
9126 * keymap.c (where_is_internal): Pass lisp object, not integer, to
9127 Faref.
9128
9129 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
9130
9131 * lisp.h (KEYMAPP): New macro.
9132 (get_keymap): Remove.
9133 (get_keymap_1): Rename get_keymap.
9134
9135 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
9136
9137 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
9138
9139 * xmenu.c (single_submenu): Use KEYMAPP.
9140 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
9141 Use KEYMAPP rather than Fkeymapp.
9142
9143 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
9144
9145 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
9146 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
9147 Use KEYMAPP rather than Fkeymapp.
9148 (single_submenu): Use KEYMAPP.
9149 (w32_menu_show, w32_dialog_show): Use TRUE.
9150
9151 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
9152
9153 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
9154 (Fkeymapp): Use KEYMAPP.
9155 (get_keymap): Rename from get_keymap_1. Remove old def.
9156 Return t when autoload=0 and error=0 and the keymap needs autoloading.
9157 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
9158 (Fminor_mode_key_binding): Don't raise an error if the binding
9159 is not a keymap.
9160 (Fuse_global_map, Fuse_local_map): Allow autoloading.
9161 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
9162
9163 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
9164 Allow Vspecial_event_map to be autoloaded.
9165 (menu_bar_items): Fetch the keymap rather than using keymapp.
9166 (menu_bar_one_keymap): No need to follow func-indirect any more.
9167 (parse_menu_item): get_keymap_1 -> get_keymap.
9168 (tool_bar_items): Fetch the keymap rather than using keymapp.
9169 (read_key_sequence): Use KEYMAPP.
9170
9171 * intervals.c (get_local_map): Use get_keymap rather than following
9172 function-indirections explicitly.
9173
9174 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
9175
9176 2000-10-27 Jason Rumney <jasonr@gnu.org>
9177
9178 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
9179 point, as Windows has oversized fonts.
9180
9181 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
9182
9183 2000-10-27 Gerd Moellmann <gerd@gnu.org>
9184
9185 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
9186 (freehook, reallochook): Handle null pointer arguments.
9187 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
9188
9189 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
9190
9191 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
9192 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
9193 Giving in to popular pressure to shut up the compiler with casts.
9194
9195 2000-10-27 Gerd Moellmann <gerd@gnu.org>
9196
9197 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
9198 signed value, and use a default value computed from the font's
9199 maximum descent.
9200
9201 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
9202
9203 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
9204 that specify a negative underline position can still use underlines.
9205
9206 * window.c (Fpos_visible_in_window_p): Make POS default to
9207 WINDOW's point, not the current buffer's point.
9208
9209 2000-10-26 Dave Love <fx@gnu.org>
9210
9211 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
9212 when it's necessary.
9213
9214 2000-10-26 Gerd Moellmann <gerd@gnu.org>
9215
9216 * window.c (size_window): Compute size difference from sum of old
9217 child window sizes instead of from parent's size.
9218
9219 * xdisp.c (pos_visible_p): Change current buffer if necessary.
9220 Handle obscured lines at the top of the window.
9221
9222 * frame.c (Fdelete_frame): Doc fix. Move running the hook
9223 down after the last error condition check.
9224
9225 * frame.c (Fdelete_frame): Run delete-frame-hook.
9226
9227 2000-10-26 Kenichi Handa <handa@etl.go.jp>
9228
9229 * coding.c (decode_coding): Fix previous change (check also
9230 CODING_MODE_LAST_BLOCK).
9231
9232 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
9233
9234 * regex.c: More `unsigned char' -> `re_char' changes.
9235 Also change several `int' into `re_wchar_t'.
9236 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
9237 (PUSH_FAILURE_POINTER): Don't cast any more.
9238 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
9239 We want GCC to complain, since this piece of code makes
9240 re_match non-reentrant, which *should* be fixed.
9241 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
9242 (EXTEND_BUFFER): Use RETALLOC.
9243 (SET_LIST_BIT): Don't cast.
9244 (re_wchar_t): New type.
9245 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
9246 that those two functions will always properly return.
9247 (IMMEDIATE_QUIT_CHECK): Cast to void.
9248 (analyse_first): Use recursion rather than an explicit stack.
9249 (re_compile_fastmap): Can't fail anymore.
9250 (re_search_2): Don't check re_compile_fastmap for failure.
9251 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
9252 Now also sets the new value (passed in a new argument).
9253 (re_match_2_internal): Use it.
9254 Also, use a new var `reg' of type size_t when looping through regs
9255 rather than reuse the inappropriate `mcnt'.
9256
9257 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
9258 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
9259 (where_is_internal): Renamed from Fwhere_is_internal.
9260 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
9261 (Fwhere_is_internal): New function wrapping where_is_internal.
9262 (where_is_internal_1): Handle the case where we're filling the cache.
9263 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
9264
9265 2000-10-25 Miles Bader <miles@gnu.org>
9266
9267 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
9268
9269 2000-10-25 Gerd Moellmann <gerd@gnu.org>
9270
9271 * window.c (pos_fully_visible_p): Removed.
9272 (Fpos_visible_in_window_p): Use pos_visible_p to determine
9273 if position is visible and/or fully visible.
9274
9275 * lisp.h (pos_visible_p): Add prototype.
9276
9277 * xdisp.c (pos_visible_p): New function.
9278
9279 2000-10-25 Kenichi Handa <handa@etl.go.jp>
9280
9281 * process.c (send_process): If OBJECT is t, it means that the data
9282 is from C string, but we should encode it. Before calling
9283 setup_raw_text_coding_system, be sure to flush out data by the
9284 previous coding system.
9285
9286 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
9287
9288 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
9289 assignment of startpos to prev when startpos == pos.
9290
9291 * editfns.c (find_field): Set the field stickiness correctly from
9292 overlay fields. Use renamed `text_property_stickiness'.
9293 (text_property_stickiness): Renamed from `char_property_stickiness'.
9294 Only check text properties, not overlays.
9295 * textprop.c (get_char_property_and_overlay): New function.
9296 (Fget_char_property): Use it.
9297 * intervals.h (get_char_property_and_overlay): Add declaration.
9298
9299 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
9300
9301 * keymap.c: Use AREF, ASET and ASIZE macros.
9302 (Fmake_sparse_keymap): Docstring fix.
9303 (synkey): Remove.
9304 (shadow_lookup): Move up.
9305 Handle the case where lookup-key returns an integer.
9306 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
9307 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
9308 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
9309 Simplify/rewrite the keymap-finding code.
9310 Add check for command shadowing, using shadow_lookup.
9311
9312 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
9313
9314 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
9315 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
9316 a symbol.
9317
9318 2000-10-24 Andrew Innes <andrewi@gnu.org>
9319
9320 * dired.c (directory_files_internal_unwind): New function.
9321 (directory_files_internal): Use it to ensure closedir is called
9322 even if expand-file-name or file-attributes throw, eg. because of
9323 a user interrupt. Also enable immediate_quit while calling
9324 re_search, so that matching can be interrupted as well.
9325
9326 2000-10-24 Andrew Innes <andrewi@gnu.org>
9327
9328 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
9329 NT-Emacs only.
9330 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
9331 so that re_search functions only quit when callers expect them to.
9332
9333 2000-10-24 Kenichi Handa <handa@etl.go.jp>
9334
9335 * regex.c (regex_compile): Change the way of handling a range from
9336 a char less than 256 to a char not less than 256.
9337
9338 2000-10-24 Gerd Moellmann <gerd@gnu.org>
9339
9340 * window.c (size_window): Prevent setting window's width or
9341 height to a negative value (esp. with XSETFASTINT).
9342
9343 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
9344 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
9345 (protect_malloc_state) [GC_MALLOC_CHECK &&
9346 GC_PROTECT_MALLOC_STATE]: New function.
9347 (PROTECT_MALLOC_STATE): New macro.
9348 (__malloc_initialize, morecore, _malloc_internal)
9349 (_free_internal) _realloc_internal): Use it to make _heapinfo
9350 read-only outside of gmalloc.
9351
9352 * keymap.c: Update copyright.
9353
9354 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
9355 a symbol.
9356
9357 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
9358
9359 * filelock.c (unlock_all_files): Use unlock_file to expand each
9360 buffer's file_truename before trying remove its lock file.
9361
9362 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
9363
9364 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
9365 or CRLF, decode EOLs.
9366
9367 2000-10-24 Kenichi Handa <handa@etl.go.jp>
9368
9369 * window.c (Fdisplay_buffer): Fix doc.
9370
9371 2000-10-23 Jason Rumney <jasonr@gnu.org>
9372
9373 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
9374 ASCII font of default fontset on Windows.
9375
9376 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
9377 xterm.c comment below).
9378
9379 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
9380
9381 2000-10-23 Gerd Moellmann <gerd@gnu.org>
9382
9383 * xterm.c (x_connection_closed): Reset handling_signal.
9384
9385 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
9386
9387 2000-10-23 Miles Bader <miles@gnu.org>
9388
9389 * window.c (window_scroll_pixel_based, window_scroll_line_based):
9390 Pass nil for FULLY argument to Fpos_visible_in_window_p to
9391 maintain old behavior.
9392 * minibuf.c (Fminibuffer_complete): Likewise.
9393
9394 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
9395
9396 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
9397 that when a font can't be exactly centered, it errs up rather than
9398 down.
9399
9400 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
9401
9402 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
9403
9404 2000-10-23 Andrew Choi <akochoi@i-cable.com>
9405
9406 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
9407
9408 * dispnew.c [macintosh]: Include macterm.h.
9409 (init_display) [macintosh]: Initialization for window system.
9410
9411 * emacs.c (main) [macintosh]: Call syms_of_textprop,
9412 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
9413 syms_of_search, x_term_init, and init_keyboard before calling
9414 init_window_once. Also, call syms_of_xmenu.
9415
9416 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
9417 default fontset to Monaco.
9418
9419 * frame.c [macintosh]: Include macterm.h. Remove declarations of
9420 NewMacWindow and DisposeMacWindow.
9421 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
9422 instead of calling NewMacWindow and setting fields of
9423 f->output_data.mac directly. Call init_frame_faces.
9424 (Fdelete_frame) [macintosh]: Remove unused code.
9425 (Fmodify_frame_parameters) [macintosh]: Call
9426 x_set_frame_parameters instead of mac_set_frame_parameters.
9427
9428 * frame.h [macintosh]: Define menu_bar_lines field in struct
9429 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
9430
9431 * keyboard.c [macintosh]: Include macterm.h.
9432 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
9433 and menu_bar_activate_event type events as for X and NT.
9434 (make_lispy_event) [macintosh]: Construct lisp events of type
9435 MENU_BAR_EVENT as for X and NT.
9436
9437 * sysdep.c [macintosh]: Remove declaration for sys_signal.
9438 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
9439 (sys_subshell) [macintosh]: Remove definition entirely.
9440 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
9441 Vwindow_system_version here. Remove initialization of
9442 Vx_bitmap_file_path.
9443 (read_input_waiting): Correct the number of parameters passed to
9444 read_socket_hook.
9445 Move all Macintosh functions to mac/mac.c.
9446
9447 * term.c [macintosh]: Include macterm.h.
9448
9449 * window.c [macintosh]: Include macterm.h.
9450
9451 * xdisp.c [macintosh]: Include macterm.h. Declare
9452 set_frame_menubar and pending_menu_activation.
9453 (echo_area_display) [macintosh]: Do not return if terminal frame
9454 is the selected frame.
9455 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
9456 Allow only the selected frame to set menu bar.
9457 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
9458 calling FRAME_EXTERNAL_MENU_BAR (f).
9459 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
9460
9461 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
9462 and check_x. Declare XCreateGC. Define x_create_gc and
9463 x_free_gc. Initialize font_sort_order.
9464 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
9465 but call x_list_fonts instead of w32_list_fonts.
9466 (Finternal_face_x_get_resource) [macintosh]: Do not call
9467 display_x_get_resource.
9468 (prepare_face_for_display) [macintosh]: Set xgcv.font.
9469 (realize_x_face) [macintosh]: Load the font if it is specified in
9470 ATTRS.
9471 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
9472
9473 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
9474
9475 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
9476 is nil: since we go to the end of submap anyway, we'd end up
9477 setting nil to nil.
9478 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
9479 doesn't obey autoload.
9480
9481 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9482
9483 * msdos.c (dos_set_window_size): Update screen dimension variables.
9484
9485 2000-10-21 Jason Rumney <jasonr@gnu.org>
9486
9487 * w32term.c (w32_cache_char_metrics): Double check that font is
9488 really fixed pitch before trusting tmPitchAndFamily.
9489
9490 2000-10-21 Andrew Innes <andrewi@gnu.org>
9491
9492 * w32gui.h (w32_char_font_type): Move enum from w32term.c
9493
9494 * w32term.h: Extern decl for w32_cache_char_metrics.
9495
9496 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
9497
9498 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
9499 (w32_unload_font): Free per_char array if present.
9500
9501 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
9502 cached information in emulated XFontStruct to handle common cases
9503 quickly. Do not allocate XCharStruct for return.
9504 (w32_native_per_char_metric): New function.
9505 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
9506 allocating one.
9507 (x_produce_glyphs): Don't get an HDC. Change calls to
9508 w32_per_char_metric to match arg change above. Remove calls to
9509 free results.
9510 (w32_get_glyph_overhangs): Ditto.
9511 (w32_cache_char_metrics): New function.
9512
9513 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
9514 ($(BLD)/casefiddle.$(O)): Remove compile command.
9515 ($(BLD)/gmalloc.$(O)): Remove compile command.
9516 ($(BLD)/dispnew.obj):
9517 ($(BLD)/keyboard.obj):
9518 ($(BLD)/w32inevt.obj):
9519 ($(BLD)/w32bdf.obj):
9520 ($(BLD)/alloc.obj):
9521 ($(BLD)/buffer.obj):
9522 ($(BLD)/editfns.obj):
9523 ($(BLD)/emacs.obj):
9524 ($(BLD)/fileio.obj):
9525 ($(BLD)/fns.obj):
9526 ($(BLD)/indent.obj):
9527 ($(BLD)/insdel.obj):
9528 ($(BLD)/intervals.obj):
9529 ($(BLD)/minibuf.obj):
9530 ($(BLD)/print.obj):
9531 ($(BLD)/scroll.obj):
9532 ($(BLD)/sysdep.obj):
9533 ($(BLD)/textprop.obj):
9534 ($(BLD)/widget.obj):
9535 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
9536 ($(BLD)/term.obj): Add dependency on dispextern.h.
9537
9538 * makefile.nt ($(BLD)\dispnew.obj):
9539 ($(BLD)\keyboard.obj):
9540 ($(BLD)\w32inevt.obj):
9541 ($(BLD)\w32bdf.obj):
9542 ($(BLD)\alloc.obj):
9543 ($(BLD)\buffer.obj):
9544 ($(BLD)\editfns.obj):
9545 ($(BLD)\emacs.obj):
9546 ($(BLD)\fileio.obj):
9547 ($(BLD)\fns.obj):
9548 ($(BLD)\indent.obj):
9549 ($(BLD)\insdel.obj):
9550 ($(BLD)\intervals.obj):
9551 ($(BLD)\minibuf.obj):
9552 ($(BLD)\print.obj):
9553 ($(BLD)\scroll.obj):
9554 ($(BLD)\sysdep.obj):
9555 ($(BLD)\textprop.obj):
9556 ($(BLD)\widget.obj):
9557 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
9558 ($(BLD)\term.obj): Add dependency on dispextern.h
9559
9560 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9561
9562 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
9563 with an additional argument of Qt.
9564
9565 2000-10-21 Miles Bader <miles@gnu.org>
9566
9567 * window.c (pos_fully_visible_in_window_p): New function.
9568 (Fpos_visible_in_window_p): Add FULLY argument.
9569 Use pos_fully_visible_in_window_p.
9570 (window_scroll_pixel_based, window_scroll_line_based): Update
9571 calls to Fpos_visible_in_window_p.
9572 * lisp.h (Fpos_visible_in_window_p): Update prototype
9573
9574 2000-10-20 Gerd Moellmann <gerd@gnu.org>
9575
9576 * alloc.c (toplevel): Conditionalize compilation of mem_*
9577 functions differently.
9578
9579 2000-10-20 Jason Rumney <jasonr@gnu.org>
9580
9581 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
9582 mem_init where it used to be. mem_z etc not defined otherwise.
9583
9584 2000-10-20 Gerd Moellmann <gerd@gnu.org>
9585
9586 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
9587 GC_MALLOC_CHECK.
9588 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
9589 structure definition and related variabled to the top of the file.
9590 Include this code when GC_MALLOC_CHECK is defined.
9591 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
9592 register/unregister allocated region.
9593 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
9594 which isn't allocated.
9595 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
9596 something which is already in use.
9597 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
9598 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
9599 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
9600 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
9601
9602 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
9603 _malloc_internal instead of malloc.
9604 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
9605 of free.
9606
9607 2000-10-20 Andrew Innes <andrewi@gnu.org>
9608
9609 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
9610 Windows.
9611 (my_strftime) <macro>: Don't use macro arg list when redefining as
9612 _strftime_copytm.
9613 (my_strftime) <function>: Supply 0 as ut argument.
9614
9615 2000-10-19 Jason Rumney <jasonr@altavista.net>
9616
9617 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
9618 including dispextern.h, as it stops faces from working.
9619
9620 * w32fns.c (Fx_create_frame): Don't bother calling
9621 face-set-after-frame-default since the caller does it for us
9622 anyway. Clean up calls to x_get_arg to be consistent with X.
9623
9624 * w32term.c (x_produce_glyphs): Handle
9625 unibyte_display_via_language_environment correctly.
9626 (w32_draw_box_rect): Fix the calculation of width and height.
9627
9628 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
9629 as it has stopped working.
9630 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
9631 menu-bar.
9632
9633 2000-10-19 Gerd Moellmann <gerd@gnu.org>
9634
9635 * eval.c (skip_debugger): Prevent a compiler warning.
9636 (Fcondition_case): Likewise.
9637 (Fbacktrace_frame): Use a null interactive spec.
9638
9639 2000-10-19 Kenichi Handa <handa@etl.go.jp>
9640
9641 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
9642
9643 2000-10-18 Gerd Moellmann <gerd@gnu.org>
9644
9645 * strftime.c: Sync with glibc, file version 1.78.
9646 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
9647 should no longer be used according to ISO 8601.
9648
9649 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
9650 no map for meta_prefix_char, don't try to use it as a keymap.
9651 Instead, if T_OK is non-zero, look up a default binding, if any,
9652 otherwise, if T_OK is zero, return nil.
9653
9654 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
9655 (x_to_xcolors, png_load): Use x_query_color.
9656
9657 * xterm.c (x_color_cells, x_query_colors, x_query_color):
9658 New functions.
9659 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
9660 which can be slow.
9661 (x_copy_color, x_alloc_lighter_color): Likewise.
9662
9663 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
9664 (x_query_color, x_query_colors): Add prototype.
9665
9666 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
9667 check_string_bytes only if not noninteractive, increase count to 50.
9668
9669 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
9670
9671 * insdel.c (adjust_markers_for_delete): Handle before-insertion
9672 markers correctly.
9673
9674 2000-10-17 Gerd Moellmann <gerd@gnu.org>
9675
9676 * alloc.c (pure_bytes_used): Renamed from pureptr.
9677 (ALIGN): New macro.
9678 (pure_alloc): New function.
9679 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
9680 Use it.
9681 (Fpurecopy): Use PURE_POINTER_P.
9682
9683 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
9684 PT has moved backward.
9685
9686 * xdisp.c (cursor_row_p): Take continued lines into account.
9687
9688 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
9689 string's size_byte.
9690 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
9691 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
9692 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
9693 string allocated.
9694
9695 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
9696 of selective display off while searching for the next line start.
9697
9698 2000-10-17 Kenichi Handa <handa@etl.go.jp>
9699
9700 * Makefile.in (term.o): Depend on dispextern.h.
9701
9702 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
9703
9704 * keymap.c (keymap_memberp): Ensure that nil is not a member.
9705
9706 2000-10-16 Gerd Moellmann <gerd@gnu.org>
9707
9708 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
9709 the iterator at the beginning, so that they can be set later on,
9710 for instance in reseat_at_next_visible_line_start, without being
9711 overwritten.
9712
9713 * xfns.c (pbm_format): Add :foreground and :background keywords.
9714 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
9715 (xbm_load): Recognize foreground and background color specifications.
9716
9717 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
9718
9719 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
9720
9721 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
9722
9723 * msdos.c (IT_set_face): Compare highlighted face with the default
9724 face, and invert colors if these faces' colors are identical.
9725 (Fmsdos_remember_default_colors): Don't swap foreground and
9726 background colors in initial_colors[].
9727 (IT_set_frame_parameters): Don't swap frame's foreground and
9728 background pixels. If ALIST includes "(reverse . t)", swap
9729 foreground-color and background-color properties in frame's
9730 param_alist. If the original frame's param_alist doesn't specify
9731 the colors, store unspecified-fg and unspecified-bg, reversed if
9732 required.
9733
9734 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
9735 the colors are unspecified and reversed, reverse fore- and back-
9736 ground in the returned value.
9737 (Fframe_parameter): Ditto.
9738
9739 2000-10-16 Gerd Moellmann <gerd@gnu.org>
9740
9741 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
9742 get_last_unchanged_at_beg_row.
9743 (find_first_unchanged_at_end_row): Renamed from
9744 get_first_unchanged_at_end_row.
9745 (find_first_unchanged_at_end_row): Convert assertions to
9746 unconditional tests which abort. When looking for a row in
9747 unchanged text, don't go further back than first_text_row.
9748
9749 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
9750 Don't add in the last line's height when deciding if the new
9751 position is below the scroll margin.
9752
9753 2000-10-16 Miles Bader <miles@gnu.org>
9754
9755 * editfns.c (Fconstrain_to_field): Check carefully for field
9756 boundaries if either OLD_POS or NEW_POS has a non-nil field
9757 property, even if they're the same.
9758
9759 2000-10-16 Kenichi Handa <handa@etl.go.jp>
9760
9761 * xterm.c (x_draw_box_rect): Fix the calculation of width and
9762 height for XFillRectangle.
9763
9764 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
9765
9766 * syntax.c (Fstring_to_syntax): New function extracted from
9767 Fmodify_syntax_entry.
9768 (Fmodify_syntax_entry): Use it and document the ! and | fences.
9769 (skip_chars, Fforward_comment): Remove unused variables.
9770 (syms_of_syntax): Add defsubr for string-to-syntax.
9771 (describe_syntax): Add code for comment and string fences.
9772
9773 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
9774
9775 * keymap.c (access_keymap): Add AUTOLOAD parameter.
9776 Do the meta->esc mapping. Call get_keyelt before returning.
9777 Start scanning from the second element (the first is always `keymap')
9778 to make it easier to detect when we reach a parent map.
9779 Handle the case of inheriting from a symbol whose function is a map.
9780 (Fkeymap_parent): Also handle the `inherit from symbol' case.
9781 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
9782 (get_keyelt, Flookup_key): Update call to access_keymap.
9783 Remove the meta->esc mappings.
9784 (define_as_prefix): Delete old disabled code.
9785 (menu_item_p): New function.
9786 (where_is_internal_1): Skip over the few remaining menu items.
9787 * lisp.h (access_keymap): Update prototype.
9788 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
9789 Update call to access_keymap.
9790 (follow_key, read_key_sequence): Update calls to access_keymap.
9791 Remove the meta->esc mappings.
9792
9793 2000-10-13 Gerd Moellmann <gerd@gnu.org>
9794
9795 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
9796 with additional argument.
9797
9798 * xdisp.c (cursor_row_p): New function.
9799 (try_cursor_movement, display_line): Use it.
9800
9801 * xdisp.c (append_space): Also save/restore iterator's current
9802 character and its length.
9803
9804 * xdisp.c (init_from_display_pos): Add an assertion.
9805 (handle_stop): Don't set iterator's add_overlay_start.
9806 (handle_invisible_prop): Likewise.
9807 (load_overlay_strings): If text under an overlay is invisible,
9808 take both before- and after-strings into account when the iterator
9809 is positioned either at the start or at the end of the overlay.
9810 (forward_to_next_line_start): Rewritten.
9811 (reseat_at_next_visible_line_start): Rewritten.
9812 (set_iterator_to_next): Add parameter RESEAT_P.
9813
9814 * dispextern.h (struct it): Remove member add_overlay_start.
9815 (set_iterator_to_next): Change prototype.
9816
9817 2000-10-13 Kenichi Handa <handa@etl.go.jp>
9818
9819 * coding.c (code_convert_region): Be sure to initialize
9820 coding->category_idx.
9821 (decode_coding_string): Set coding->src_multibyte and
9822 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
9823 (encode_coding_string): Set coding->src_multibyte and
9824 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
9825
9826 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
9827
9828 * xfns.c (Fx_create_frame): Don't bother calling
9829 face-set-after-frame-default since the caller does it for us anyway.
9830
9831 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
9832
9833 * window.c (coordinates_in_window): Fix detection of vertical line
9834 on character terminals.
9835
9836 2000-10-12 Gerd Moellmann <gerd@gnu.org>
9837
9838 * editfns.c (save_excursion_save): Additionally record the
9839 selected window.
9840 (save_excursion_restore): If buffer was visible in a window, and a
9841 different window was selected, and the old selected window is
9842 still live, restore point in that window.
9843
9844 2000-10-12 Kenichi Handa <handa@etl.go.jp>
9845
9846 * xterm.c (x_produce_glyphs): Handle
9847 unibyte_display_via_language_environment correctly.
9848
9849 * regex.c (regex_compile): Change the way of handling a range from
9850 unibyte char to multibyte char.
9851
9852 * syntax.c (skip_chars): Change the way of handling a range from
9853 unibyte char to multibyte char.
9854
9855 * process.c (read_process_output): Cancel previous change.
9856
9857 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
9858
9859 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
9860
9861 * charset.c (Ffind_charset_string): Doc fix.
9862 (Ffind_charset_region): Doc fix.
9863
9864 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
9865
9866 * process.c (read_process_output): Fix previous change. Adjust
9867 multibyteness of text to insert in a buffer by
9868 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
9869
9870 2000-10-10 Andreas Schwab <schwab@suse.de>
9871
9872 * alloc.c (mark_object): Remove all workarounds installed on
9873 1993-08-08.
9874
9875 2000-10-10 Kenichi Handa <handa@etl.go.jp>
9876
9877 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
9878 (base64_encode_1): Make it work for a text of multibyte form.
9879 (Fbase64_decode_region): Allocate sufficient memory for multibyte
9880 case. Don't call str_to_multibyte because base64_decode_1
9881 produces correct multibyte form for eight-bit codes.
9882 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
9883 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
9884 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
9885 codes.
9886
9887 * charset.h (CHAR_STRING): Optimized for single byte characters.
9888
9889 2000-10-09 Andreas Schwab <schwab@suse.de>
9890
9891 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
9892 -1 after socket is closed, to fall through to error processing.
9893
9894 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
9895
9896 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
9897 variables. If ALIST includes foreground-color or
9898 background-color, change also the colors of the default face for
9899 this frame.
9900
9901 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
9902
9903 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
9904 them extern (they are defined on xfaces.c).
9905 (syms_of_msdos): Don't intern and don't staticpro
9906 Qbackground_color and Qforeground_color.
9907
9908 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
9909
9910 * frame.c (Fframe_parameter): For non-windowed frames, if
9911 f->param_alist says foreground or background color is unspecified,
9912 call tty_color_name to return the color name computed from the
9913 frame's current colors.
9914
9915 2000-10-06 Dave Love <fx@gnu.org>
9916
9917 * terminfo.c (ospeed): Don't declare.
9918
9919 * sysdep.c: Don't include string.h.
9920 (h_errno): Declare conditional also on TRY_AGAIN.
9921
9922 * charset.c (Ffind_charset_string): Doc fix.
9923
9924 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
9925 (Fbase64_decode_region, Fbase64_decode_string): More explicit
9926 error messages.
9927
9928 2000-10-05 Dave Love <fx@gnu.org>
9929
9930 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
9931 position like menu-bar.
9932
9933 2000-10-05 Gerd Moellmann <gerd@gnu.org>
9934
9935 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
9936
9937 * xdisp.c (handle_single_display_prop): Use safe_call1.
9938 (safe_call): Renamed from call_function.
9939 (safe_call1): New function.
9940 (handle_fontified_prop): Use safe_call1 instead of call1.
9941 (safe_eval): Renamed from eval_form.
9942 (safe_eval_handler): Renamed from eval_handler.
9943 (handle_single_display_prop, display_mode_element): Use safe_eval
9944 instead of eval_form.
9945
9946 * xfaces.c (merge_face_heights): Use safe_call instead of
9947 call_function.
9948
9949 * keyboard.c (show_help_echo): Use safe_call instead of
9950 call_function; use safe_eval instead of eval_form.
9951
9952 * lisp.h (safe_call): Renamed from call_function.
9953 (safe_eval): Renamed from eval_form.
9954 (safe_call1): Add prototype.
9955
9956 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
9957
9958 * xfns.c (image_ascent): Rearrange ascent calculation for the
9959 has-a-font case.
9960
9961 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
9962
9963 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
9964 (where_is_internal_1): Don't bother ignoring menu-items any more.
9965
9966 2000-10-04 Gerd Moellmann <gerd@gnu.org>
9967
9968 * keyboard.c (update_menu_bindings): New variable.
9969 (parse_menu_item): Use AREF. If update_menu_bindings
9970 is 0, don't update menu bindings.
9971 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
9972
9973 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
9974
9975 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
9976 to `mark_object'.
9977
9978 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
9979
9980 * syntax.c (forw_comment): Match nestedness of ender/starter.
9981 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
9982 (prev_char_comstart_first): Remove.
9983 (back_comment): Check two-char comment markers more carefully
9984 to better handle overlapping cases like *//* or /* */* */ ...
9985 Match nestedness of ender/starter.
9986
9987 2000-10-02 Dave Love <fx@gnu.org>
9988
9989 * config.in (HAVE_GAI_STRERROR): Add undef.
9990
9991 * process.c (Fopen_network_stream): Use it.
9992
9993 * m/alpha.h (NO_REMAP): Don't define.
9994
9995 2000-10-02 Gerd Moellmann <gerd@gnu.org>
9996
9997 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
9998 return with a string converted to an integer or vice versa when
9999 Vmocklisp_arguments is t.
10000 (Fsignal): Likewise. The function can return for `quit'.
10001 (struct gcpro): Declare member `var' to point to a volatile
10002 Lisp_Object.
10003
10004 * eval.c (error): Prevent compiler warning.
10005
10006 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
10007
10008 * keymap.c (keymap_memberp): New function.
10009 (Fset_keymap_parent): Use it.
10010 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
10011 Use keymap_memberp to avoid creating cycles.
10012 (access_keymap): Use KEYMAPP.
10013
10014 2000-09-30 Gerd Moellmann <gerd@gnu.org>
10015
10016 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
10017 gai_strerror. Make sure xerrno is set if connect fails. Improve
10018 error recovery.
10019
10020 2000-09-29 Jason Rumney <jasonr@gnu.org>
10021
10022 * w32term.c (w32_char_font_type, w32_encode_char)
10023 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
10024 (w32_bdf_per_char_metric): New function.
10025 (w32_per_char_metric): Use it.
10026 (x_draw_glyph_string_background): Always draw background for BDF
10027 glyphs.
10028
10029 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
10030 GDI object which is a scarce resource.
10031
10032 * w32bdf.c (search_file_line): Fix skipping of whitespace.
10033 (get_quoted_string): Fix limit on memchr search.
10034 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
10035 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
10036 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
10037 (get_cached_font_char, cache_char_offset): Use macro
10038 BDF_CODEPOINT_RANGE_COVER_P.
10039 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
10040 (clear_cached_bitmap_slots): New function.
10041 (GET_HEX_VALUE): G-Z, g-z are not hex.
10042 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
10043 (get_bitmap_with_cache): Use new cache implementation.
10044 (create_offscreen_bitmap): New function.
10045 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
10046
10047 * w32term.c (x_produce_glyphs): If the distance from the current
10048 position to the next tab stop is less than a canonical character
10049 width, use the tab stop after that.
10050 (x_draw_glyphs): Handle case START and END are out of bounds more
10051 carefully.
10052 (x_clear_mouse_face): Block/unblock input.
10053 (x_display_and_set_cursor): Don't show a hollow box cursor for
10054 buffers whose cursor_type is nil.
10055
10056 2000-09-29 Gerd Moellmann <gerd@gnu.org>
10057
10058 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
10059
10060 * dispextern.h (updating_frame): Declare extern.
10061
10062 2000-09-29 Andreas Schwab <schwab@suse.de>
10063
10064 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
10065
10066 2000-09-29 Gerd Moellmann <gerd@gnu.org>
10067
10068 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
10069 use its function definition.
10070 (tool_bar_items): Likewise.
10071
10072 * lisp.h (fatal): Declare NO_RETURN.
10073
10074 2000-09-29 Kenichi Handa <handa@etl.go.jp>
10075
10076 * keymap.c: Remove the line "#undef NULL".
10077
10078 2000-09-28 Gerd Moellmann <gerd@gnu.org>
10079
10080 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
10081
10082 2000-09-28 Dave Love <fx@gnu.org>
10083
10084 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
10085
10086 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
10087
10088 * .gdbinit (xreload): Note its need on GNU/Linux.
10089
10090 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
10091 r_alloc, r_alloc_free.
10092
10093 2000-09-28 Kenichi Handa <handa@etl.go.jp>
10094
10095 * syntax.c (skip_chars): Handle negation correctly.
10096
10097 2000-09-27 Gerd Moellmann <gerd@gnu.org>
10098
10099 * xfaces.c (realize_default_face): Call set_lface_from_font_name
10100 with non-zero FORCE_P argument.
10101
10102 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
10103 Add assertions.
10104
10105 * xdisp.c (window_box_height): Add an assertion.
10106
10107 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
10108 tool-bar than is available.
10109 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
10110
10111 2000-09-27 Dave Love <fx@gnu.org>
10112
10113 * s/irix6-5.h: Now works 64-bit. Tidied.
10114
10115 2000-09-26 Gerd Moellmann <gerd@gnu.org>
10116
10117 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
10118 instead of BITS_PER_INT.
10119 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
10120 EMACS_UINT, respectively.
10121 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
10122
10123 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
10124
10125 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
10126
10127 * window.c (freeze_window_starts): Construct last argument for
10128 foreach_window differently.
10129
10130 * xfns.c (x_decode_color): Don't return a Lisp_Object.
10131
10132 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
10133 EMACS_UINT instead of `int' and `unsigned int'.
10134 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
10135
10136 * frame.h (struct frame): Make the `nothing' member of union
10137 output_data an EMACS_INT.
10138
10139 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
10140 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
10141 size in the sdata structure.
10142 (SDATA_NBYTES, SDATA_DATA): New macros.
10143 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
10144 differently for the different layout of the sdata structure.
10145 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
10146 in sdata.
10147 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
10148 Check that size recorded in the string size and size recorded in
10149 the sdata structure agree.
10150
10151 2000-09-25 Dave Love <fx@gnu.org>
10152
10153 * buffer.c: Include stdio.h.
10154
10155 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
10156
10157 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
10158
10159 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
10160 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
10161 (__malloc_extra_blocks): Declare as __malloc_size_t.
10162
10163 2000-09-25 Gerd Moellmann <gerd@gnu.org>
10164
10165 * alloc.c (mark_image): Use GC_NILP instead of NILP.
10166
10167 * keyboard.c (show_help_echo): Set help_echo_showing_p.
10168 (read_char): If help-echo is showing, preserve the echo area
10169 when redisplaying.
10170
10171 * xdisp.c (help_echo_showing_p): New variable.
10172 (set_message): Reset it to 0.
10173 (init_xdisp): Initialize help_echo_showing_p.
10174
10175 * dispextern.h (help_echo_showing_p): Declare extern.
10176
10177 * config.in: Fix typo in __GNUC_MINOR__.
10178
10179 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
10180
10181 * s/freebsd.h (POSIX_SIGNALS): Define.
10182
10183 * xterm.c (x_clear_mouse_face): Block/unblock input.
10184
10185 2000-09-24 Dave Love <fx@gnu.org>
10186
10187 * fns.c (base64_encode_1): Fix last change.
10188
10189 2000-09-22 Gerd Moellmann <gerd@gnu.org>
10190
10191 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
10192
10193 * xdisp.c (try_window_reusing_current_matrix): More fixes
10194 for the case window has a header-line.
10195
10196 2000-09-22 Dave Love <fx@gnu.org>
10197
10198 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
10199 a doc string.
10200
10201 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
10202
10203 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
10204
10205 2000-09-21 Gerd Moellmann <gerd@gnu.org>
10206
10207 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
10208 for GCC >= 2.5.
10209
10210 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
10211 Declare NO_RETURN.
10212
10213 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
10214 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
10215 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
10216 warnings.
10217
10218 * marker.c (byte_char_debug_check): Return void.
10219
10220 * xfns.c (Fx_create_frame): Set default frame parameter value
10221 for tool-bar-lines to 1.
10222
10223 * dispnew.c (scrolling_window): Compare y-positions of rows
10224 equal at the start. Some simplification.
10225
10226 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
10227 reused rows' y-position in the case window has a header-line, and
10228 new window start is greater than old window start.
10229
10230 * process.c (process_sent_to): New variable.
10231 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
10232 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
10233 Declare more parameters volatile.
10234
10235 * lread.c (Vrecursive_load_depth_limit): New variable.
10236 (Fload): Check recursive loads whose recursion depth exceeds
10237 Vrecursive_load_depth_limit.
10238 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
10239
10240 2000-09-20 Gerd Moellmann <gerd@gnu.org>
10241
10242 * fileio.c (Fread_file_name): Doc fix.
10243
10244 * editfns.c (Fmessage_or_box): Doc fix.
10245
10246 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
10247
10248 * xfns.c (xbm_scan): Allow C-style comments.
10249
10250 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
10251 symbols are specified, add color translations to the cache.
10252 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
10253 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
10254 xpm_cache_color.
10255 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
10256 structures to xpm_init_color_cache.
10257
10258 2000-09-19 Gerd Moellmann <gerd@gnu.org>
10259
10260 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
10261
10262 2000-09-19 Andrew Innes <andrewi@gnu.org>
10263
10264 * makefile.nt (bootstrap-emacs): Don't change directory.
10265
10266 2000-09-19 Kenichi Handa <handa@etl.go.jp>
10267
10268 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
10269
10270 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
10271 If output buffer is too small, signal an appropriated error.
10272
10273 2000-09-18 Dave Love <fx@gnu.org>
10274
10275 * keyboard.c (menu_bar_items, tool_bar_items)
10276 (current_active_maps): Remove redundant get_local_map call.
10277
10278 2000-09-18 Gerd Moellmann <gerd@gnu.org>
10279
10280 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
10281 cursor for buffers whose cursor_type is nil.
10282
10283 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
10284 a feature to implement that is already implemented.
10285 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
10286 warnings.
10287
10288 * xfns.c (x_clear_image_1): New function.
10289 (x_clear_image): Use it.
10290 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
10291
10292 * dispnew.c (update_window): Move test for invisible lines
10293 at the top to update_window_line.
10294 (update_window_line): Handle invisible lines here.
10295
10296 * xfns.c (clear_image_cache): Clear current matrices of all
10297 frames sharing an image cache. Block input while freeing
10298 images. Fix timestamp comparison.
10299 (x_clear_image): Also free the mask.
10300
10301 * xfns.c (lookup_image): Block input while loading the image so
10302 that we won't get interrupted in a state where the image isn't yet
10303 set up completely.
10304 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
10305 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
10306 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
10307 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
10308
10309 2000-09-16 Gerd Moellmann <gerd@gnu.org>
10310
10311 * dispnew.c (update_window): Make sure to make desired rows
10312 current even if they are completely invisible at the top
10313 of a window.
10314
10315 2000-09-15 Gerd Moellmann <gerd@gnu.org>
10316
10317 * xfns.c (lookup_image): Build mask before applying an algorithm.
10318 Recognize algorithm `disabled'.
10319 (cross_disabled_images): New variable.
10320 (COLOR_INTENSITY): New macro.
10321 (x_detect_edges): Use COLOR_INTENSITY.
10322 (x_disable_image): New function.
10323 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
10324
10325 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
10326 disabled state, don't apply an image transformation algorithm if
10327 the user specified an image for the disabled state. Use
10328 `:algorithm disabled' for creating a disabled item's image if the
10329 user hasn't specified an image.
10330
10331 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
10332 allocation functions with the XPM lib.
10333 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
10334 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
10335 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
10336 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
10337 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
10338 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
10339 functions, if possible, because these handle color allocation
10340 failure more gracefully.
10341 (Fimage_mask_p): New function.
10342
10343 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
10344 (Qedge_detection, Qheuristic): New symbols.
10345 (syms_of_xfns): Initialize new symbols.
10346 (lookup_image): Handle `:mask X', `:algorithm emboss', and
10347 `algorithm (edge-detection ...)'.
10348 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
10349 (tiff_format, gif_format, gs_format): Add `:mask'.
10350 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
10351 (GIF_MASK, GS_MASK): New enumerators.
10352 (x_laplace_read_row, x_laplace_write_row): Functions removed.
10353 (emboss_matrix, laplace_matrix): New variables.
10354 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
10355 (x_edge_detection): New functions.
10356 (x_laplace): Rewritten in terms of x_detect_edges.
10357 (x_build_heuristic_mask): If image has a mask, free it.
10358
10359 2000-09-14 Andrew Innes <andrewi@gnu.org>
10360
10361 * makefile.w32-in: Revert to Unix line endings.
10362
10363 2000-09-14 Andrew Innes <andrewi@gnu.org>
10364
10365 * makefile.w32-in: Standardize indentation somewhat.
10366 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
10367 cater for differences between shells.
10368
10369 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
10370
10371 2000-09-14 Gerd Moellmann <gerd@gnu.org>
10372
10373 * xterm.c (x_produce_glyphs): If the distance from the current
10374 position to the next tab stop is less than a canonical character
10375 width, use the tab stop after that.
10376
10377 2000-09-14 Dave Love <fx@gnu.org>
10378
10379 * buffer.c (alloc_buffer_text): Fix xmalloc call.
10380
10381 2000-09-14 Gerd Moellmann <gerd@gnu.org>
10382
10383 * xdisp.c (handle_fontified_prop): While running fontification
10384 functions, bind `fontification-functions' and
10385 `after-change-functions' to nil.
10386
10387 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
10388 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
10389
10390 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
10391
10392 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
10393 USE_MMAP_FOR_BUFFERS.
10394
10395 * insdel.c (make_gap): Use enlarge_buffer_text.
10396
10397 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
10398 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
10399 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
10400 from former r_alloc_* functions in ralloc.c.
10401 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
10402 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
10403 (mmap_init) [REL_ALLOC_MMAP]: New function.
10404 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
10405 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
10406 BUFFER_FREE.
10407
10408 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
10409 (enlarge_buffer_text): Add prototype.
10410
10411 * ralloc.c: Remove everything having to do with the use of mmap.
10412
10413 2000-09-13 Gerd Moellmann <gerd@gnu.org>
10414
10415 * sound.c (Fplay_sound): Doc fix.
10416
10417 * keyboard.c: Avoid some more compiler warnings.
10418 (parse_tool_bar_item): Ignore cached key bindings.
10419
10420 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
10421 and allocation of Lisp data.
10422
10423 2000-09-12 Gerd Moellmann <gerd@gnu.org>
10424
10425 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
10426 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
10427 defaults first.
10428
10429 * lread.c (Fload): Put code checking for recursive loads in #if 0.
10430
10431 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
10432
10433 * ccl.c: Comment fixed.
10434 (MAX_MAP_SET_LEVEL): Increased to 30.
10435 (PUSH_MAPPING_STACK): Enclose with do-while block.
10436 (POP_MAPPING_STACK): Likewise.
10437 (stack_idx_of_map_multiple): New variable.
10438 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
10439 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
10440 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
10441 (ccl_driver) <CCL_MapSingle>: Likewise.
10442 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
10443 with the case where looking up process reaches to the end of
10444 map-set, and call CCL programs as the above change.
10445
10446 2000-09-11 Gerd Moellmann <gerd@gnu.org>
10447
10448 * xfns.c (png_load, jpeg_load): Declare some variables volatile
10449 that might be clobbered by longjmp.
10450 (check_x_display_info, x_decode_color, create_frame_xic)
10451 (Fx_display_backing_store, Fx_display_visual_class)
10452 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
10453
10454 * lread.c (init_lread): Set Vloads_in_progress to nil.
10455 (Fload): Show list of recursively loaded files, when signaling an
10456 error.
10457
10458 * lread.c (Vloads_in_progress): New variable.
10459 (record_load_unwind): New function.
10460 (Fload): Check for recursive loads.
10461 (syms_of_lread): Initialize Vloads_in_progress.
10462 (read_integer, read1): Avoid some compiler warnings.
10463
10464 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
10465 compiler warnings.
10466
10467 2000-09-11 Miles Bader <miles@gnu.org>
10468
10469 * editfns.c (Fbuffer_string): Doc fix.
10470
10471 2000-09-10 Gerd Moellmann <gerd@gnu.org>
10472
10473 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
10474
10475 2000-09-09 Ken Raeburn <raeburn@gnu.org>
10476
10477 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
10478 whether to include other header files.
10479
10480 2000-09-09 Gerd Moellmann <gerd@gnu.org>
10481
10482 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
10483 by Fmemq as a boolean.
10484
10485 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
10486
10487 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
10488
10489 2000-09-08 Gerd Moellmann <gerd@gnu.org>
10490
10491 * ralloc.c (mmap_fd): Remove initializer which can make it
10492 read-only in a dumped Emacs.
10493 (mmap_fd_1): New variable.
10494 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
10495 restore it from there.
10496 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
10497 unconditionally so that mmap_fd can be initialized there.
10498 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
10499 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
10500 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
10501
10502 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
10503
10504 * xdisp.c (dump_glyph_row): Fix printf format string.
10505 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
10506
10507 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
10508
10509 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
10510 inheritance.
10511
10512 * xdisp.c (try_window_id): When trying to locate cursor in
10513 unchanged rows at the top, handle the case that we can't find it.
10514
10515 * xterm.c (x_draw_glyphs): Handle case START and END are out
10516 of bounds more carefully.
10517
10518 2000-09-08 Dave Love <fx@gnu.org>
10519
10520 * s/sol2.h (REL_ALLOC_MMAP): Define.
10521 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
10522
10523 * ralloc.c: Don't include string.h (redundant).
10524 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
10525 [!MAP_ANON]: Include fcntl.h.
10526 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
10527 (r_alloc, r_re_alloc, r_alloc_free)
10528 (mmap_enlarge, mmap_set_vars): Use it.
10529 (r_alloc_init_fd): New function.
10530 (__morecore) [SYSTEM_MALLOC]: Don't declare.
10531 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
10532 malloc type.
10533
10534 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
10535 Remove vm-limit.o.
10536
10537 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
10538 change to __NetBSD__.
10539
10540 2000-09-08 Kenichi Handa <handa@etl.go.jp>
10541
10542 * search.c (compile_pattern): Check the multibyteness of cached
10543 string and PATTERN.
10544
10545 2000-09-08 Miles Bader <miles@gnu.org>
10546
10547 * xfaces.c (default_face_vector): Function removed.
10548 (Finternal_merge_in_global_face): Restore old global/local
10549 attribute override order. Use inline loop instead of calling
10550 default_face_vector.
10551
10552 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10553
10554 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
10555 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
10556 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
10557 where necessary, in case POINTER_TYPE is `void'.
10558
10559 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
10560
10561 * frame.c (make_terminal_frame): Initialize frame foreground and
10562 background colors to unspecified, for the initial instance of an
10563 MSDOS frame.
10564
10565 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10566
10567 * ralloc.c (mmap_find): Fix overlap computation.
10568 (mmap_enlarge): Compute nbytes before trying to find an
10569 overlapping region.
10570
10571 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
10572 instead of `!='.
10573
10574 * lread.c (syms_of_lread): Change value of regexp
10575 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
10576
10577 * xmenu.c (xdialog_show): When looking up the selection in
10578 menu_items, take `quote' boundaries into account; this corresponds
10579 to a nil ITEM in x-popup-dialog.
10580
10581 2000-09-07 Kenichi Handa <handa@etl.go.jp>
10582
10583 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
10584 not 0x81.
10585 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
10586
10587 * coding.c (encode_coding_sjis_big5): Use translation table for
10588 encoding, not decoding. Fix the handling of latin-jisx0201.
10589 Check for the charset katakana-jisx0201 too.
10590 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
10591 (detect_coding_sjis): Check the byte sequence more rigidly.
10592
10593 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10594
10595 * xfaces.c (Vparam_value_alist): New variable.
10596 (syms_of_xfaces): Initialize it.
10597 (Finternal_set_lisp_face_attribute): Avoid more consing.
10598
10599 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
10600 specially.
10601 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
10602 (Qbackground_mode): New variable.
10603 (syms_of_frame_1): Initialize Qbackground_mode.
10604
10605 * lisp.h (Qdisplay): Declare extern.
10606
10607 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
10608 change face on all frames, and change the default for new frames.
10609
10610 2000-09-07 Dave Love <fx@gnu.org>
10611
10612 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
10613
10614 2000-09-07 Kenichi Handa <handa@etl.go.jp>
10615
10616 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
10617
10618 * charset.c: Include composite.h
10619 (lisp_string_width): New function.
10620 (Fstring_width): Call lisp_string_width instead of strwidth.
10621
10622 * Makefile.in (charset.o): Depends on composite.h.
10623
10624 * process.c (read_process_output): Before inserting the decoded
10625 text in the buffer, adjust the multibyteness.
10626
10627 2000-09-06 Gerd Moellmann <gerd@gnu.org>
10628
10629 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
10630 buffer's text buffer is null, map new memory.
10631
10632 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
10633 POINTER_TYPE and size_t.
10634 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
10635 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
10636 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
10637 [REL_ALLOC_MMAP]: New macros.
10638 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
10639 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
10640 [REL_ALLOC_MMAP]: New functions.
10641
10642 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
10643 before and after unexec.
10644
10645 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
10646 text buffers if necessary.
10647
10648 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
10649 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
10650 in prototypes.
10651
10652 * config.in (HAVE_MMAP): Add #undef.
10653
10654 2000-09-05 Gerd Moellmann <gerd@gnu.org>
10655
10656 * frame.c (Qdisplay_type): New variable.
10657 (syms_of_frame_1): Initialize it.
10658 (Fframe_parameter): New function that avoids consing.
10659 (syms_of_frame): Defsubr it.
10660
10661 * buffer.c (Fother_buffer): Consider buffers as invisible when
10662 they are displayed in a window on an invisible frame.
10663
10664 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
10665 get-largest-window always return nil.
10666
10667 2000-09-04 Gerd Moellmann <gerd@gnu.org>
10668
10669 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
10670 variable; recognize Emacs 19 elc files.
10671
10672 2000-09-04 Miles Bader <miles@gnu.org>
10673
10674 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
10675 before initially popping up the menu, so the menu doesn't flash
10676 when the face settings are significantly different from the defaults.
10677
10678 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
10679
10680 * regex.c (WIDE_CHAR_SUPPORT): New macro.
10681 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
10682 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
10683 (BIT_UNIBYTE): Remove.
10684 (re_match_2_internal): Delete corresponding code and streamline the
10685 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
10686 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
10687 (re_wctype_t): New type.
10688 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
10689 (regex_compile): Use them and fix handling of overly long char classes.
10690
10691 2000-09-03 Andrew Innes <andrewi@gnu.org>
10692
10693 * makefile.w32-in: Change to DOS line endings.
10694
10695 * s/ms-w32.h (ORDINARY_LINK): New define.
10696
10697 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
10698 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
10699
10700 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
10701 (distclean): Delete them here instead.
10702
10703 * w32proc.c (compare_env): Convert to uppercase for comparison,
10704 not lowercase, to match how the native Windows shell works.
10705
10706 2000-09-03 Jason Rumney <jasonr@gnu.org>
10707
10708 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
10709 CVS changes the line-ends when checking in/out on DOS/Windows.
10710
10711 * makefile.nt (emacs): Do not change directory to run temacs, as
10712 the load-path is set relative to current directory.
10713
10714 2000-09-03 Miles Bader <miles@gnu.org>
10715
10716 * xterm.c (x_alloc_lighter_color_for_widget): New function.
10717
10718 2000-09-02 Gerd Moellmann <gerd@gnu.org>
10719
10720 * xdisp.c (redisplay_mode_lines): New function.
10721 (display_mode_lines): Return number of mode lines displayed.
10722 (echo_area_display): Use redisplay_mode_lines to draw garbaged
10723 mode lines. Don't temporarily bind redisplay-dont-pause to t.
10724
10725 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
10726 string.h and strings.h.
10727 (index) [HAVE_INDEX]: Add prototype.
10728
10729 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
10730 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
10731
10732 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
10733 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10734
10735 2000-09-01 Gerd Moellmann <gerd@gnu.org>
10736
10737 * lread.c (read1): Accept `?' as symbol constituent, for
10738 compatiblity with XEmacs.
10739
10740 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
10741
10742 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
10743 (struct re_pattern_buffer): Remove newline_anchor.
10744 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
10745 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
10746 (re_max_failures, fail_stack): Use size_t rather than unsigned.
10747 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
10748 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
10749 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
10750 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
10751 Get rid of references to newline_anchor.
10752 (regcomp): Allocate and precompute a fastmap.
10753
10754 2000-08-31 Gerd Moellmann <gerd@gnu.org>
10755
10756 * lread.c (openp): GCPRO local variable `filename'.
10757
10758 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
10759
10760 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
10761
10762 * regex.c: Merge some changes from GNU libc. Add prototypes.
10763 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
10764 Use memcmp and memcpy instead of bcopy and bcmp.
10765 (init_syntax_once): Use ISALNUM.
10766 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
10767 (REG_UNSET_VALUE): Remove. Use NULL instead.
10768 (REG_UNSET, re_match_2_internal): Use NULL.
10769 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
10770 New macros.
10771 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
10772 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
10773 (regex_compile): In handle_interval, return an error rather than try to
10774 unfetch the interval if we can't find the closing brace.
10775 Obey the RE_NO_GNU_OPS syntax bit.
10776 (TOLOWER): New macro.
10777 (regcomp): Use it.
10778 (regexec): Allocate regs.start and regs.end as one block.
10779
10780 2000-08-30 Gerd Moellmann <gerd@gnu.org>
10781
10782 * xdisp.c (echo_area_display): Check display_completed instead
10783 of calling detect_input_pending.
10784
10785 * dispnew.c (update_frame): Only set display_completed here; move
10786 the update_begin and update_end calls here from update_frame_1.
10787 (update_frame_1): Don't set display_completed here, don't call
10788 update_begin/update_end.
10789
10790 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
10791 instead of store_frame_param.
10792
10793 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10794
10795 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
10796 desired window matrix hasn't been displayed, use the current row
10797 instead. Make sure that only those frame rows are updated for
10798 which there exists a corresponding enabled desired row.
10799
10800 2000-08-29 Miles Bader <miles@gnu.org>
10801
10802 * xfaces.c (default_face_vector): New function.
10803 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
10804
10805 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10806
10807 * lread.c (openp): Prevent temporary string passed to
10808 Ffile_readable_p from being garbage collected.
10809
10810 2000-08-28 Dave Love <fx@gnu.org>
10811
10812 * keymap.c (store_in_keymap): Add `static' to declaration.
10813
10814 2000-08-28 Gerd Moellmann <gerd@gnu.org>
10815
10816 * emacs.c, callint.c, doc.c, editfns.c
10817 (toplevel) [HAVE_STRING_H]: Include string.h.
10818 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
10819 (index): Remove prototypes which might conflict with non-standard
10820 definitions of index/strchr.
10821
10822 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
10823 (rindex): Define only if !HAVE_RINDEX.
10824
10825 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
10826
10827 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
10828
10829 2000-08-28 Miles Bader <miles@gnu.org>
10830
10831 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
10832 made inconsistent by a font-related attribute in FROM.
10833 (merge_face_inheritance): Add function comment.
10834
10835 2000-08-28 Kenichi Handa <handa@etl.go.jp>
10836
10837 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
10838 the 4th arg (PREV_EVENT) Qt to suppress input method.
10839
10840 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
10841
10842 * regex.c: Indent cpp directives and remove parens after `defined'.
10843 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
10844 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
10845 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
10846 (re_compile_pattern): Use size_t for length.
10847 (init_syntax_once): Move to a better place.
10848 * regex.h: Merge changes from GNU libc. Indent cpp directives.
10849 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
10850
10851 * syntax.c (back_comment): Detect cases where a comment-starter is
10852 actually inside another comment as in: /* a // b */ c // d \n.
10853 Make it clear that `comstart_pos' is unused for nested comments.
10854
10855 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
10856 (KEYMAPP): New macro.
10857 (Fkeymap_parent, Fset_keymap_parent): Use it.
10858 (fix_submap_inheritance): Mark it static.
10859 (define_as_prefix, describe_buffer_bindings, describe_command)
10860 (describe_translation, describe_map): Complete prototypes.
10861
10862 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
10863
10864 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
10865 to better match the key-lookup behavior.
10866
10867 2000-08-27 Gerd Moellmann <gerd@gnu.org>
10868
10869 * xfaces.c (lface_fully_specified_p): Handle :inherit.
10870 (Finternal_set_lisp_face_attribute): Fix typo in error message.
10871
10872 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
10873
10874 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
10875 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
10876 (xterm.o): Depend on coding.h
10877
10878 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10879
10880 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
10881 the corresponding '#endif'.
10882
10883 2000-08-26 Miles Bader <miles@gnu.org>
10884
10885 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
10886 * xfaces.c (QCinherit): New variable.
10887 (syms_of_xfaces): Initialize it.
10888 (LFACE_INHERIT): New macro.
10889 (Finternal_get_lisp_face_attribute)
10890 (merge_face_vector_with_property)
10891 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
10892 (check_lface_attrs): Allow new types of face height. Check
10893 inherit attribute.
10894 (CYCLE_CHECK): New macro.
10895 (merge_face_inheritance): New function.
10896 (merge_face_vectors): Merge inherited faces too. Add F and
10897 CYCLE_CHECK arguments.
10898 (merge_face_vector_with_property, Finternal_merge_in_global_face)
10899 (lookup_named_face, lookup_derived_face, realize_named_face)
10900 (face_at_string_position, face_at_buffer_position): Supply
10901 new F and CYCLE_CHECK arguments to merge_face_vectors.
10902 (merge_face_heights): New function.
10903 (merge_face_vectors, merge_face_vector_with_property)
10904 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
10905 handle relative face heights.
10906 (lface_same_font_attributes_p): Compare heights using EQ.
10907
10908 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10909
10910 * charset.c (char_to_string): Check the character validity.
10911 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
10912
10913 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
10914
10915 * regex.c (PUSH_FAILURE_COUNT): New macro.
10916 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
10917 Handle popping of a register's or a counter's data.
10918 (POP_FAILURE_POINT): Use the new name.
10919 (re_match_2_internal): Push counter data on the stack for succeed_n,
10920 jump_n and set_number_at and remove misleading dead code in succeed_n.
10921
10922 2000-08-25 Gerd Moellmann <gerd@gnu.org>
10923
10924 * xdisp.c (redisplay_internal): If considering all windows on all
10925 frames, update the display for each frame as soon as possible,
10926 instead of first building all desired matrices for all frames, and
10927 then updating them all.
10928 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
10929
10930 2000-08-24 Gerd Moellmann <gerd@gnu.org>
10931
10932 * bytecode.c (mark_byte_stack): Add a comment.
10933
10934 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
10935 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
10936 a graphical frame.
10937
10938 2000-08-24 Kenichi Handa <handa@etl.go.jp>
10939
10940 * minibuf.c (do_completion): Always use compare-string, not
10941 string-equal because the latter doesn't pay attention to
10942 multibyteness of strings.
10943
10944 * process.c (create_process): Don't setup raw-text coding here.
10945 (Fopen_network_stream): Don't set coding->src_multibyte and
10946 coding->dst_multibyte here.
10947 (read_process_output): For process filter, return unibyte string
10948 if default-enable-multibyte-characters is nil.
10949 (send_process): If OBJECT is multibyte text, be sure to encoded it
10950 by the specified coding system for the process. Otherwise, setup
10951 raw-text coding.
10952 (init_process): Don't initialize default-process-coding-system here.
10953
10954 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
10955
10956 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
10957 <scroll-down-aggressively>: Likewise.
10958
10959 2000-08-23 Kenichi Handa <handa@etl.go.jp>
10960
10961 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
10962 zero. Set coding->produced_char correctly.
10963
10964 2000-08-22 Andrew Innes <andrewi@gnu.org>
10965
10966 * makefile.w32-in: New file.
10967
10968 * unexw32.c (unexec): Ignore old_name, and use the actual location
10969 of the current executable instead. Base new_name on this.
10970
10971 * w32proc.c (create_child): Remove reference to security
10972 descriptor, which isn't needed and doesn't compile with mingw32.
10973
10974 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10975 up dllimport attributes.
10976 (x_update_window_end): Update prototype.
10977
10978 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
10979 extern, which screws up dllimport attributes.
10980
10981 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10982 up dllimport attributes.
10983
10984 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
10985 screws up dllimport attributes.
10986
10987 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10988 up dllimport attributes.
10989 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
10990 screws up dllimport attributes.
10991
10992 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10993 up dllimport attributes.
10994
10995 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
10996 screws up dllimport attributes.
10997
10998 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
10999 screws up dllimport attributes.
11000
11001 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11002 up dllimport attributes.
11003
11004 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
11005 unnecessary extern, which screws up dllimport attributes.
11006 (main): Ditto.
11007
11008 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11009 up dllimport attributes.
11010
11011 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
11012 unnecessary extern, which screws up dllimport attributes.
11013
11014 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
11015 screws up dllimport attributes.
11016
11017 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11018 up dllimport attributes.
11019
11020 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
11021
11022 * w32bdf.c (search_file_line):
11023 (set_bdf_font_info):
11024 (seek_char):
11025 (w32_get_bdf_glyph):
11026 (w32_BDF_to_x_font): Fix compile warnings.
11027
11028 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
11029
11030 * w32select.c: Include keyboard.h before frame.h.
11031
11032 * w32fns.c (max): Define macro.
11033 (JOHAB_CHARSET): Define if not known.
11034 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
11035 (Fx_show_tip): Synch with X version.
11036
11037 * w32xfns.c: Include keyboard.h before frame.h.
11038
11039 * w32fns.c: Include keyboard.h before frame.h.
11040
11041 * w32term.c: Include keyboard.h before frame.h.
11042
11043 * fontset.c: Include keyboard.h before frame.h.
11044
11045 * w32inevt.c: Include keyboard.h before frame.h.
11046 (MOUSE_MOVED): Define if not known.
11047
11048 * minibuf.c: Include keyboard.h before frame.h.
11049
11050 * keyboard.c: Include keyboard.h before frame.h.
11051
11052 * indent.c: Include keyboard.h before frame.h.
11053
11054 * dispnew.c: Include keyboard.h before frame.h.
11055
11056 * buffer.c: Include keyboard.h before frame.h.
11057
11058 * alloc.c: Include keyboard.h before frame.h.
11059
11060 * print.c: Include keyboard.h before frame.h.
11061
11062 * process.c: Include keyboard.h before frame.h.
11063
11064 * scroll.c: Include keyboard.h before frame.h.
11065
11066 * sysdep.c: Include keyboard.h before frame.h.
11067
11068 * term.c: Include keyboard.h before frame.h.
11069
11070 * window.c: Include keyboard.h before frame.h.
11071
11072 * xdisp.c: Include keyboard.h before frame.h.
11073 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
11074
11075 * frame.c: Include keyboard.h before frame.h.
11076
11077 * w32heap.h: Undefine min, max.
11078
11079 * w32gui.h: Undefine min, max.
11080
11081 * unexw32.c: Change PUCHAR to PCHAR.
11082 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
11083 (relocate_offset):
11084 (get_section_info):
11085 (copy_executable_and_dump_data): Remove unnecessary static defs.
11086 (copy_executable_and_dump_data): Fix compile warnings.
11087
11088 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
11089
11090 * w32console.c (min): Define macro.
11091 (clear_frame, write_glyphs): Fix compile warning.
11092
11093 * w32proc.c (compare_env):
11094 (find_child_console): Fix compile warning.
11095
11096 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
11097 sys_errlist instead of _sys_errlist.
11098 (get_emacs_configuration_options): New function.
11099
11100 * s/ms-w32.h (sys_nerr): Provide default definition.
11101 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
11102 name with _ prepended.
11103 (NSIG): Define if not known.
11104 (get_emacs_configuration): Provide extern declaration.
11105 (get_emacs_configuration_options): Provide extern declaration.
11106 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
11107
11108 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
11109 (map_w32_filename):
11110 (read_unc_volume): Fix compile warning.
11111
11112 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
11113 definitions from being used.
11114
11115 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
11116
11117 * w32.c (unc_volume_file_attributes):
11118 (open_unc_volume): Make arg const.
11119
11120 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
11121 (read_input_waiting): Remove excess parameter.
11122
11123 * w32.c (init_environment): Call _access.
11124 (check_windows_init_file): Call _close.
11125 (init_user_info): Call _putenv.
11126 (init_environment): Call _putenv and _strdup.
11127 (init_ntproc): Reset volume info cache on startup.
11128
11129 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
11130 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
11131 cannot override the CRT malloc.
11132
11133 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
11134 (LINK_FLAGS): Append to original value of LINK_FLAGS.
11135
11136 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
11137 unless we are linking with a static CRT.
11138 (RVA_TO_PTR): Cast result to unsigned char*.
11139
11140 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
11141 (add_volume_info): Use xstrdup.
11142
11143 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
11144
11145 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
11146 (do_completion, Fminibuffer_complete_word): Use it.
11147 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
11148 var so it can take non-boolean values.
11149
11150 2000-08-21 Gerd Moellmann <gerd@gnu.org>
11151
11152 * editfns.c (find_field): Formatting changes.
11153 (toplevel): Some old-style function forward declarations
11154 changed to prototypes, some new protypes added, some functions
11155 made static.
11156
11157 * lisp.h (set_time_zone_rule): Add prototype.
11158 (use_dialog_box): External declaration.
11159
11160 * keyboard.c (gen_help_event): Add parameter SIZE.
11161 (kbd_buffer_events_waiting): Slightly rewritten.
11162 (clear_event): New function.
11163 (kbd_buffer_get_event): Use it, and clear the input_events of
11164 HELP_EVENTs.
11165 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
11166 don't fill the newly created array with nils.
11167 (toplevel): Convert some old-style function forward declarations
11168 to prototypes.
11169
11170 * keyboard.h (gen_help_event): Change prototype.
11171
11172 * xterm.c (XTread_socket): Change calls to gen_help_event.
11173
11174 * w32term.c (w32_read_socket): Change calls to gen_help_event.
11175
11176 * eval.c (Fmacroexpand): Doc fix.
11177
11178 2000-08-20 Jason Rumney <jasonr@gnu.org>
11179
11180 * w32term.h (x_display_info_for_display): Remove as this function
11181 does not exist on W32.
11182
11183 * w32term.c (help_echo_window): New variable.
11184 (syms_of_w32term): staticpro it.
11185 (note_mode_line_highlight): Set it.
11186 (XTextExtents16): Removed as there is no equivalent on W32.
11187 (x_compute_glyph_string_overhangs): Incomplete body removed, as
11188 the X way of doing this will not work for W32.
11189 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
11190 (x_draw_image_foreground): Avoid drawing outside of the clip area
11191 when image doesn't have a mask.
11192 (note_mouse_highlight): Process overlays in the right order of
11193 priority. Set help_echo_window.
11194 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
11195 because that's more visible for large images.
11196
11197 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
11198 name to single_keymap_panes.
11199 (w32_menu_show): Set wv->title when dealing with titles.
11200 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
11201
11202 2000-08-21 Miles Bader <miles@gnu.org>
11203
11204 * minibuf.c (do_completion): Try again if we rewrite the input
11205 string, but no completion was done, so that any completion message
11206 will be correct.
11207
11208 2000-08-20 Gerd Moellmann <gerd@gnu.org>
11209
11210 * xfaces.c (lface_equal_p): Compare strings differently.
11211 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
11212 (realize_tty_face): Use them.
11213 (syms_of_xfaces): Initialize new variables.
11214 (map_tty_color): New function, extracted from realize_tty_face.
11215 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
11216 foreground or background color, store the new color name in the
11217 realized face; previous code trying to do this had no effect.
11218 (realize_tty_face): Use map_tty_color.
11219 (Fclear_face_cache): Set face_change_count and ensure thorough
11220 redisplay.
11221
11222 2000-08-19 Gerd Moellmann <gerd@gnu.org>
11223
11224 * undo.c (record_first_change, record_marker_adjustment): Don't
11225 use XBUFFER on last_undo_buffer which might not be a buffer.
11226
11227 2000-08-18 Kenichi Handa <handa@etl.go.jp>
11228
11229 * coding.c (decode_coding_string): Set members consumed,
11230 consumed_char, produced, produced_char of *coding correctly. If
11231 decode_coding doesn't consume any byte, don't try anymore.
11232 (encode_coding_string): Likewise.
11233
11234 2000-08-18 Gerd Moellmann <gerd@gnu.org>
11235
11236 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
11237 conditional have void type, for Standard C compilers.
11238
11239 * xdisp.c (redisplay_internal): Compare windows for equality with
11240 EQ, instead of applying XWINDOW to something that might not
11241 be a window.
11242
11243 2000-08-18 Kenichi Handa <handa@etl.go.jp>
11244
11245 * fontset.c (Finternal_char_font): Search only the selected frame
11246 for a window of the current buffer.
11247
11248 2000-08-18 Gerd Moellmann <gerd@gnu.org>
11249
11250 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
11251 Lisp_Objects.
11252
11253 * keyboard.c (kbd_buffer_get_event): Handle the case that the
11254 second half of a HELP_EVENT is found at the start of kbd_buffer.
11255
11256 2000-08-18 Miles Bader <miles@gnu.org>
11257
11258 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
11259
11260 * editfns.c (save_restriction_save): Rewrite to use markers.
11261 (save_restriction_restore): Rewrite to understand new form of data
11262 saved by save_restriction_save.
11263 (Fsave_restriction): Remove cautionary note in doc-string.
11264
11265 2000-08-17 Gerd Moellmann <gerd@gnu.org>
11266
11267 * fileio.c (build_annotations): Add a comment explaining the
11268 return value of format-annotate-function. Replace a spurious call
11269 to Flength with a CONSP test. Call format-annotate-function with
11270 a fifth arg specifying how many times the function is been called
11271 in a row, to let it choose temporary buffers appropriately.
11272
11273 2000-08-17 Dave Love <fx@gnu.org>
11274
11275 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
11276 declare make_temp_name twice.
11277
11278 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
11279 (unreadpure): Give it an arg.
11280
11281 * unexalpha.c: Prototype fatal_unexec, mark_x,
11282 update_dynamic_symbols. Declare unexec as void.
11283
11284 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
11285 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
11286
11287 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
11288 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
11289
11290 * alloca.c: Use #error.
11291 [POINTER_TYPE]: Use it.
11292
11293 * eval.c (Fdefvar): Doc fix.
11294
11295 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
11296 INITIALIZE_INTERVAL.
11297
11298 * buffer.h: Avoid DECLARE_INTERVALS.
11299
11300 * config.in: Add size_t.
11301
11302 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
11303
11304 * w16select.c (set_clipboard_data): If there's not enough memory
11305 to put text into clipboard, return 1, as Fw16_set_clipboard_data
11306 expects. In case of other failures, return 3.
11307 (system_error_msg): New error message.
11308 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
11309 system_error_msg.
11310
11311 2000-08-16 Gerd Moellmann <gerd@gnu.org>
11312
11313 * term.c (write_glyphs): Also turn off inverse video after turning
11314 off other appearances in case TS_exit_attribute_mode is not equal
11315 to TS_end_standout_mode.
11316 (insert_glyphs): Turn inverse video on/off for each run of glyphs
11317 with the same face.
11318 (turn_off_face): Reset standout_mode only if
11319 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
11320 is equal to TS_end_standout_mode.
11321
11322 2000-08-16 Kenichi Handa <handa@etl.go.jp>
11323
11324 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
11325 sequence at the end of the source block.
11326
11327 * ccl.c (Fccl_program_p): Docstring modified.
11328 (Fccl_execute): Likewise.
11329 (Fccl_execute_on_string): Likewise.
11330
11331 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
11332
11333 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
11334
11335 2000-08-16 Kenichi Handa <handa@etl.go.jp>
11336
11337 The following changes are mainly to fix bugs of
11338 encode/decode-coding-string failing if encoding/decoding return
11339 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
11340 variable conversion_buffer.
11341
11342 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
11343 decrement dst_end to avoid buffer overflow in the later call of
11344 string_as_multibyte
11345
11346 * coding.h (conversion_buffer_size, conversion_buffer)
11347 (get_conversion_buffer): Extern deleted.
11348
11349 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
11350 (conversion_buffer, conversion_buffer_size): Variables deleted.
11351 (get_conversion_buffer): Function deleted.
11352 (struct conversion_buffer): New structure.
11353 (MAX_ALLOCA): New macro.
11354 (allocate_conversion_buffer): New macro.
11355 (extend_conversion_buffer, free_conversion_buffer): New functions.
11356 (ccl_coding_driver): Set coding->result.
11357 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
11358 this is the last block of source.
11359 (encode_coding): Likewise. Handle the source block as the last
11360 one only when the whole source text is consumed.
11361 (decode_coding_string): Handle the case that the output buffer is
11362 too small to decode the whole source text. Use
11363 allocate_conversion_buffer, extend_conversion_buffer and
11364 free_conversion_buffer, not get_conversion_buffer.
11365 (encode_coding_string): Likewise.
11366 (init_coding): Function deleted.
11367 (init_coding_once): Delete code to initialize conversion_buffer_size.
11368
11369 * emacs.c (main): Don't call init_coding.
11370
11371 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
11372
11373 * term.c (write_glyphs): Use a locally declared conversion_buffer.
11374 (insert_glyphs): Likewise.
11375
11376 * w32console.c (write_glyphs): Use a locally declared
11377 conversion_buffer.
11378
11379 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
11380
11381 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
11382 member of display_info is NULL.
11383
11384 2000-08-15 Gerd Moellmann <gerd@gnu.org>
11385
11386 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
11387
11388 * term.c (turn_off_face): Reset standout_mode when resetting
11389 appearances with capability `me'.
11390 (write_glyphs): Switch on inverse video before each face change.
11391
11392 2000-08-14 Dave Love <fx@gnu.org>
11393
11394 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
11395 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
11396 (lisp_free): Declare and make static.
11397
11398 * window.c: Fix embedded comment.
11399 (syms_of_window): Fix doc string.
11400
11401 2000-08-14 Gerd Moellmann <gerd@gnu.org>
11402
11403 * keymap.c (push_key_description): If C without modifiers is < 32,
11404 make sure to print `C-' before `M-', like in the manual.
11405
11406 2000-08-11 Gerd Moellmann <gerd@gnu.org>
11407
11408 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
11409 since they aren't relocated anymore.
11410 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
11411
11412 * xdisp.c (try_cursor_movement): Fix handling of cursor in
11413 partially visible line which is smaller than the window's height.
11414
11415 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11416
11417 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
11418 the multibyte form of eight-bit-control characters.
11419 (Fccl_execute_on_string): Initialize ccl->multibyte.
11420
11421 * ccl.h (struct ccl_program): New member multibyte.
11422
11423 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
11424
11425 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11426
11427 * regex.c (regex_compile) <normal_char>: Pay attention to
11428 multibyteness.
11429 (analyse_first) <exactn>: Setup fastmap correctly for
11430 eight-bit-control characters.
11431
11432 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11433
11434 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
11435
11436 * keyboard.c (make_lispy_event): Handle the new event type
11437 multibyte_char_keystroke.
11438
11439 * xterm.c: Include coding.h.
11440 (XTread_socket): Work around a bug of XmbLookupString. If the
11441 input is from XIM, decode it according to the current locale. In
11442 that case, generate multibyte_char_keystroke events.
11443
11444 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11445
11446 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
11447 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
11448
11449 2000-08-10 Gerd Moellmann <gerd@gnu.org>
11450
11451 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
11452 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
11453 (move_it_in_display_line_to): Record iterator's ascent and descent
11454 before producing glyphs, and restore them when we know the glyph
11455 doesn't fit on the line.
11456 (move_it_to): Restructured so that it's easier to debug. If
11457 moving to a vpos, and not moving to an x or character position,
11458 stop as soon as the specified vpos is reached; don't move further
11459 into that line because that might change the computed line height.
11460 (try_cursor_movement): New function, extracted from the cursor
11461 movement branch of redisplay_window. If ending on a partially
11462 visible line, don't try to scroll if the cursor line is taller
11463 than the window.
11464 (redisplay_window): Use try_cursor_movement.
11465
11466 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
11467 because that function doesn't cope with variable-height lines.
11468
11469 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
11470 box cursor because that's better visible for large images.
11471
11472 2000-08-10 Miles Bader <miles@gnu.org>
11473
11474 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
11475
11476 2000-08-10 Gerd Moellmann <gerd@gnu.org>
11477
11478 * xdisp.c (Vmessages_buffer_name): New variable.
11479 (message_dolog): Use it.
11480 (syms_of_xdisp): Initialize it.
11481
11482 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
11483
11484 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
11485 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
11486 redundant now that keyboard.h is included.
11487
11488 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
11489
11490 * keyboard.c (kbd_buffer_events_waiting): New function.
11491
11492 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
11493
11494 * msdos.c: Include keyboard.h.
11495 (XMenuActivate): Empty no_event events from the event buffer. If
11496 no events are left after that, call clear_input_pending.
11497 (mouse_clear_clicks): New function, code moved from mouse_init.
11498 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
11499 mouse driver to ``forget'' any past clicks.
11500
11501 * Makefile.in (msdos.o): Depend on keyboard.h.
11502
11503 2000-08-09 Gerd Moellmann <gerd@gnu.org>
11504
11505 * lisp.h (input_pending): External declaration.
11506
11507 * dispextern.h (Qredisplay_dont_pause): Declare extern.
11508
11509 * xdisp.c (echo_area_display): Display thoroughly if input is
11510 pending. Bind redisplay-dont-pause to t during the redisplay.
11511 in case input is pending.
11512
11513 * dispnew.c (Qredisplay_dont_pause): New variable.
11514 (syms_of_display): Initialize and staticpro it.
11515 (update_frame_1): Don't interrupt the display for pending input if
11516 redisplay_dont_pause is set.
11517
11518 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
11519
11520 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11521
11522 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
11523
11524 * callproc.c (Fcall_process): Terminate the unwind-protect around
11525 the post-read-conversion of coding system.
11526
11527 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
11528 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
11529 * buffer.h (overlays_at): Update prototype.
11530 * xdisp.c (next_overlay_change): Update call to overlays_at.
11531 * xfaces.c (face_at_buffer_position): Likewise.
11532 * textprop.c (Fget_char_property): Likewise.
11533 * xterm.c (note_mouse_highlight): Likewise.
11534
11535 * minibuf.c (do_completion): Don't consider a simple change of
11536 case as `completion'.
11537
11538 2000-08-08 Ken Raeburn <raeburn@gnu.org>
11539
11540 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
11541 * undo.c (record_delete): Make sure last_point_position_buffer is
11542 a buffer before comparing pointers.
11543
11544 * coding.h (decode_coding_string): Declare.
11545
11546 * intervals.h (Fprevious_single_char_property_change): Declare.
11547
11548 * textprop.c (Fprevious_single_char_property_change): Don't do
11549 arithmetic directly on lisp objects.
11550
11551 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
11552
11553 * keyboard.h (menu_item_eval_property): Declare.
11554
11555 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
11556 reuse as buffer name, instead of recreating (and discarding) every
11557 time a message is logged.
11558 (with_echo_area_buffer): Make callback arg A2 a lisp object.
11559 (current_message_1, truncate_message_1, set_message_1)
11560 (display_echo_area_1, resize_mini_window_1): Signatures changed.
11561 (current_message, truncate_echo_area, display_echo_area)
11562 (resize_echo_area_axactly): Changed calls.
11563
11564 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
11565 Lisp object.
11566 (Ffind_coding_systems_region_internal): First argument to Fappend
11567 must be an integer, not a Lisp object.
11568
11569 2000-08-08 Kenichi Handa <handa@etl.go.jp>
11570
11571 * charset.c (Fchar_width): Doc fix.
11572
11573 2000-08-08 Gerd Moellmann <gerd@gnu.org>
11574
11575 * charset.c (Fstring_width): Doc fix.
11576
11577 2000-08-07 Gerd Moellmann <gerd@gnu.org>
11578
11579 * xdisp.c (start_display): When starting display on a continuation
11580 line, clear ascent and descent members of the iterator structure;
11581 the height of the continued line does not affect the height of the
11582 continuation line.
11583 (make_cursor_line_fully_visible): Do nothing if cursor is on a
11584 line taller than the window.
11585 (redisplay_window) <forced window start>: Handle case that the
11586 middle of the window is not found in any row.
11587 (dump_glyph_row): Show more information.
11588 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
11589 first text line in a glyph matrix.
11590
11591 * xterm.c (x_draw_image_foreground): Avoid drawing outside
11592 of the clip area when image doesn't have a mask.
11593
11594 * fns.c (sweep_weak_table): Fix survival conditions for
11595 key-or-value and key-and-value weakness.
11596
11597 * .gdbinit (xhashtable): New command.
11598
11599 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
11600 tables out of the list of all weak hash tables.
11601
11602 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
11603 a new buffer is created, make sure echo_area_buffer[] references
11604 the new buffer.
11605
11606 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
11607
11608 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
11609 the doc string.
11610
11611 2000-08-07 Kenichi Handa <handa@etl.go.jp>
11612
11613 * syntax.c (skip_chars): Fix previous change. Make the handling
11614 of unibyte string consistent with that of regex search.
11615
11616 2000-08-05 Gerd Moellmann <gerd@gnu.org>
11617
11618 * xmenu.c (popup_get_selection): Use xfree instead of free.
11619
11620 * fileio.c (Finsert_file_contents): Use xfree instead of free.
11621
11622 * editfns.c (Ftranspose_regions): Use xfree instead of free.
11623
11624 * callproc.c (child_setup): Use xfree instead of free.
11625
11626 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
11627 instead of malloc.
11628 (run_mac_command, closedir): Use `xfree' instead of `free'.
11629
11630 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
11631
11632 * eval.c (error): Use xfree instead of free.
11633
11634 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
11635
11636 * fns.c: Replace `illegal' with `invalid'.
11637 (Fmake_hash_table, make_hash_table): Allow table size of 0.
11638
11639 2000-08-05 Kenichi Handa <handa@etl.go.jp>
11640
11641 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
11642 conversion.
11643
11644 2000-08-04 Noah Friedman <friedman@splode.com>
11645
11646 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
11647 docstring.
11648
11649 2000-08-04 Gerd Moellmann <gerd@gnu.org>
11650
11651 * syntax.c (skip_chars): Fix typo in error message.
11652
11653 2000-08-04 Andreas Schwab <schwab@suse.de>
11654
11655 * m/ia64.h: Moved from s/ia64.h.
11656
11657 2000-08-04 Kenichi Handa <handa@etl.go.jp>
11658
11659 * process.c (read_process_output): Big simplification. Handle
11660 composition and post-read-conversion of coding system correctly.
11661 (send_process): Handle composition correctly.
11662
11663 * callproc.c (Fcall_process): Handle post-read-conversion of
11664 coding system if any.
11665
11666 * coding.c (decode_coding_iso2022): More strict check for handling
11667 single shifting.
11668 (coding_restore_composition): Pay attention to the case that
11669 cmp_data is not set properly (because of invalid code in the
11670 source text).
11671 (run_pre_post_conversion_on_str): Include text properties in the
11672 resulting string.
11673 (decode_coding_string): Set members of coding correctly.
11674
11675 2000-08-03 Gerd Moellmann <gerd@gnu.org>
11676
11677 * s/ia64.h: New file.
11678
11679 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
11680 Use NULL instead of 0 at the end of variable argument list of
11681 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
11682 sizeof (int) < sizeof (void *).
11683
11684 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
11685 of variable argument lists of XtVaGetValues and XtVaSetValues.
11686
11687 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
11688 variable argument lists of XtVaGetValues and XtVaSetValues.
11689
11690 2000-08-02 Gerd Moellmann <gerd@gnu.org>
11691
11692 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
11693 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
11694
11695 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
11696 prototype.
11697
11698 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
11699 in call to Fsingle_key_description.
11700
11701 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
11702 Callers changed.
11703
11704 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
11705
11706 * window.c (display_buffer_reuse_frames): New variable.
11707 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
11708 frames displaying BUFFER.
11709 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
11710
11711 2000-08-01 Miles Bader <miles@gnu.org>
11712
11713 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
11714 when to constrain NEW_POS (they were pretty screwed up before).
11715
11716 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
11717
11718 * msdos.c (run_msdos_command): Save and restore the master
11719 environment, for the case that child_setup signals an error.
11720 When mirroring slashes in DOS shell commands, don't fail when
11721 argv[2] has embedded blanks.
11722 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
11723 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
11724 (dos_ttraw): Call mouse_setup_buttons.
11725
11726 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
11727 using alloca; free it after run_msdos_command returns.
11728
11729 2000-07-27 Dave Love <fx@gnu.org>
11730
11731 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
11732 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
11733
11734 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
11735
11736 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
11737
11738 * editfns.c (lisp_time_argument): Fix last change.
11739
11740 2000-07-27 Gerd Moellmann <gerd@gnu.org>
11741
11742 * fns.c (Fdelete): Make it work on vectors and strings in addition
11743 to lists.
11744
11745 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
11746 (syms_of_fns): Initialize new variables.
11747 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
11748 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
11749 weakness, with t meaning the same as `key-and-value'.
11750
11751 2000-07-27 Kenichi Handa <handa@etl.go.jp>
11752
11753 * coding.h (struct coding_system): Member safe_charset deleted.
11754
11755 * coding.c (Qsafe_charsets): This variable deleted.
11756 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
11757 New variables.
11758 (coding_safe_chars): New function.
11759 (CODING_SAFE_CHAR_P): New macro.
11760 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
11761 checking safe_charsets member of the coding system. Caller changed.
11762 (detect_coding_iso2022): New local variable safe_chars.
11763 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
11764 safe_charsets member of the coding system.
11765 (decode_coding_iso2022): New local variable safe_chars.
11766 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
11767 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
11768 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
11769 (ENCODE_UNSAFE_CHARACTER): New macro.
11770 (encode_coding_iso2022): New local variable safe_chars. Check
11771 unsafe chars.
11772 (setup_coding_system): Delete the code to initialize
11773 coding->safe_charses
11774 (intersection, find_safe_codings): New functions.
11775 (Ffind_coding_systems_region_internal): New function.
11776 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
11777 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
11778 variable and initialize it.
11779
11780 * fns.c (char_table_ref_and_index): New function.
11781
11782 * lisp.h (char_table_ref_and_index): Add prototype.
11783
11784 2000-07-26 Sam Steingold <sds@gnu.org>
11785
11786 * editfns.c (lisp_time_argument): Added third argument `usec'.
11787 (Ffloat_time): New built-in Lisp function.
11788
11789 2000-07-26 Gerd Moellmann <gerd@gnu.org>
11790
11791 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
11792 for the character code.
11793
11794 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
11795 GNU/Linux.
11796
11797 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
11798 if called for a popup menu.
11799 (xmenu_show): Store help string in widget values.
11800
11801 2000-07-26 Dave Love <fx@gnu.org>
11802
11803 * syswait.h: Move some definitions.
11804 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
11805 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
11806 perspicuous definitions.
11807 (WTERMSIG): Fix bit pattern used.
11808
11809 2000-07-26 Kenichi Handa <handa@etl.go.jp>
11810
11811 * print.c (print_object): If vector printing is truncated, print
11812 "..." to indicate it as well as the case of list printing.
11813
11814 2000-07-25 Gerd Moellmann <gerd@gnu.org>
11815
11816 * xdisp.c (next_element_from_display_vector): Improve comments.
11817
11818 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
11819 for the character code, and the rest for the face id as in 20.x.
11820 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
11821
11822 * window.c (window_display_table): Cleaned up.
11823
11824 * syntax.c (Fforward_word): Add last arg nil in call of
11825 Fconstrain_to_field.
11826
11827 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
11828
11829 * fileio.c (Frename_file) [DOS_NT]: If the file names are
11830 identical but for the letter-case, don't call
11831 barf_or_query_if_file_exists.
11832
11833 2000-07-25 Miles Bader <miles@gnu.org>
11834
11835 * editfns.c (find_field): Honor special `boundary' fields.
11836 (Qboundary): New variables.
11837 (syms_of_editfns): Initialize Qboundary.
11838 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
11839 Use scan_buffer instead of find_before_next_newline, because it
11840 allows us to detect the boundary case where there's a newline at
11841 the search limit.
11842 * lisp.h (Fconstrain_to_field): Update external declaration.
11843
11844 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11845
11846 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
11847 if that is nil.
11848
11849 2000-07-24 Dave Love <fx@gnu.org>
11850
11851 * s/sunos4-0.h, s/sol2.h:
11852 (LIBS_TERMCAP): Move from m/sparc.h.
11853
11854 * m/sparc.h (TERMINFO): Moved to system files (probably only
11855 relevant for sunos4 judging by its vintage).
11856 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
11857 __arch64__.
11858
11859 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
11860
11861 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
11862 name to single_keymap_panes.
11863
11864 2000-07-24 Andreas Schwab <schwab@suse.de>
11865
11866 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
11867
11868 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11869
11870 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
11871 parameters instead of using int parameters. Expect FN to accept
11872 EMACS_INT parameters.
11873 (display_echo_area, resize_echo_area_axactly, current_message)
11874 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
11875 with new argument list.
11876 (resize_mini_window_1): New callback function.
11877 (current_message_1, truncate_message_1, set_message_1): Change
11878 parameter lists to the new format expected by with_echo_area_buffer.
11879
11880 2000-07-24 Kenichi Handa <handa@etl.go.jp>
11881
11882 * fontset.c (fontset_ref): Remove INLINE declaration.
11883 (fontset_ref_via_base): Likewise.
11884 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
11885 to downcase.
11886
11887 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
11888
11889 * msdos.c (IT_note_mouse_highlight): Process overlays in the
11890 correct order of priority. If help echo was found in an overlay,
11891 use that overlay as the object in which the help echo was found.
11892
11893 2000-07-22 Miles Bader <miles@gnu.org>
11894
11895 * textprop.c (Fprevious_single_char_property_change): The initial
11896 property value should be from the position preceding POSITION, not
11897 following it.
11898
11899 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
11900
11901 * coding.c (syms_of_coding): Doc fix for
11902 inhibit-iso-escape-detection.
11903
11904 2000-07-21 Gerd Moellmann <gerd@gnu.org>
11905
11906 * xterm.c (note_mouse_highlight): Process overlays in the right
11907 order of priority.
11908
11909 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
11910
11911 * xterm.c (note_mouse_highlight): If help-echo was found in an
11912 overlay, use that overlay as the object in which the help was found.
11913
11914 * window.c (foreach_window_1): Fix typo reversing an if-condition.
11915
11916 * window.c (foreach_window): Instead of a fake variable argument
11917 list, take one USER_DATA argument.
11918 (foreach_window_1): Likewise, and call callback functions with two
11919 args, the window and USER_DATA.
11920 (struct check_window_data): New struct.
11921 (check_window_containing): Use it.
11922 (window_from_coordinates): Set up a struct check_window_data for
11923 foreach_window.
11924 (add_window_to_list, freeze_window_start): Change parameters
11925 according to new calling convention.
11926
11927 * window.h (foreach_window): Change prototype.
11928
11929 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
11930
11931 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
11932
11933 * xmenu.c (menu_help_callback): Call show_help_echo with
11934 additional arguments OBJECT and POS.
11935
11936 2000-07-21 Kenichi Handa <handa@etl.go.jp>
11937
11938 * data.c (Faset): Allow storing any multibyte character in a
11939 string. Convert unibyte string to multibyte if necessary.
11940
11941 * xfns.c (x_encode_text): New function.
11942 (x_set_name): Use x_encode_text.
11943 (x_set_title): Likewise.
11944
11945 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
11946
11947 * xterm.h (x_encode_text): Add prototype.
11948
11949 2000-07-20 Dave Love <fx@gnu.org>
11950
11951 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
11952 xfree, not free.
11953
11954 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
11955
11956 * msdos.c (help_echo_window): New variable.
11957 (syms_of_msdos): Initialize and staticpro it.
11958 (IT_note_mode_line_highlight): Set help_echo_window.
11959 (IT_note_mouse_highlight): Ditto.
11960 (dos_rawgetc): Store help_echo_window in the second event produced
11961 for HELP_EVENTs.
11962
11963 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
11964 Record the object that generated the help echo and the position of
11965 that object in help_echo_object and help_echo_pos. Record that
11966 some glyphs in a row are displayed in mouse-face.
11967 (IT_update_begin): Don't clear mouse highlight unless one of the
11968 enabled glyph rows is marked as being displayed in mouse-face.
11969 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
11970 and position recorded in help_echo_object and help_echo_pos to the
11971 event queue.
11972 (IT_menu_display): Accept a new argument PN: the pane number of
11973 the current menu pane. Record the pane number and the item
11974 number of the item which has associated help string.
11975 (XMenuActivate): Update the prototype for help_callback in
11976 function declaration. Call IT_menu_display with the current menu
11977 pane number as an additional argument. Call help_callback with
11978 two additional arguments: the pane number and the item number of
11979 the menu item associated with the help text.
11980 (help_echo_object, help_echo_pos): New variables.
11981 (syms_of_msdos): Initialize them and staticpro help_echo_object.
11982
11983 * msdos.h (XMenuActivate): Update prototype.
11984
11985 2000-07-19 Gerd Moellmann <gerd@gnu.org>
11986
11987 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
11988 Add some more prototypes.
11989
11990 * xterm.c, xterm.h: Add some more prototypes.
11991
11992 * lisp.h (Fnext_single_char_property_change): Add prototype.
11993
11994 * dispnew.c (direct_output_for_insert): Remove confusing
11995 outer local variable mouse_face_overwritten_p.
11996 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
11997
11998 * alloc.c (allocate_string_data): Don't copy old string contents.
11999
12000 2000-07-19 Kenichi Handa <handa@etl.go.jp>
12001
12002 * coding.c (code_convert_region): Delete text properties before
12003 shrinking the conversion region.
12004
12005 2000-07-18 Gerd Moellmann <gerd@gnu.org>
12006
12007 * dispnew.c (update_text_area): Write the whole row if it
12008 has mouse-face in it.
12009
12010 * xfaces.c (face-alternative-font-family-alist): Remove
12011 DEFVAR_LISP; staticpro instead.
12012
12013 * xmenu.c (menu_help_callback): Call show_help_echo with
12014 new arguments.
12015
12016 * keyboard.c (show_help_echo): Add parameter WINDOW.
12017 (read_char): Call show_help_echo with window extracted from Lisp
12018 help event.
12019 (gen_help_event): Add parameter WINDOW.
12020
12021 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
12022
12023 * xterm.c (help_echo_window): New variable.
12024 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
12025 (XTread_socket): Pass help_echo_window to gen_help_event.
12026 (syms_of_xterm): Initialize and staticpro help_echo_window.
12027
12028 2000-07-18 Dave Love <fx@gnu.org>
12029
12030 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
12031
12032 2000-07-18 Gerd Moellmann <gerd@gnu.org>
12033
12034 * alloc.c (allocate_string_data): If string had already data
12035 assigned, copy old contents to new string data.
12036
12037 * coding.c (syms_of_coding): Fix typo in spelling of variable
12038 `inhibit-iso-escape-detection'.
12039
12040 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
12041
12042 * Makefile.in: Add dependencies on dispextern.h.
12043 (alloca.o): Don't define malloc and define EMACS_FREE instead of
12044 `free'; both can conflict with system header files.
12045
12046 2000-07-18 Kenichi Handa <handa@etl.go.jp>
12047
12048 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
12049 undefined.
12050
12051 2000-07-18 Dave Love <fx@gnu.org>
12052
12053 * window.c (Fwindow_list): Declare arg `window'.
12054
12055 2000-07-18 Kenichi Handa <handa@etl.go.jp>
12056
12057 * coding.c (setup_coding_system): Don't override the explicitly
12058 specified designations.
12059
12060 2000-07-15 Miles Bader <miles@gnu.org>
12061
12062 * editfns.c (char_property_eq, char_property_stickiness): Renamed
12063 from `text_property_eq' and `text_property_stickiness', respectively.
12064 (find_field, Fconstrain_to_field, char_property_eq)
12065 (char_property_stickiness): Changed to call char-property functions
12066 instead of text-property-only ones.
12067
12068 * textprop.c (Fnext_single_char_property_change): Made a subr (was
12069 `next_single_char_property_change'). Do more error checking, and
12070 cleanup limit behavior.
12071 (Fprevious_single_char_property_change): New function.
12072 (syms_of_textprop): Initialize new subrs.
12073
12074 * xdisp.c (display_prop_end, invisible_text_between_p):
12075 Call Fnext_single_char_property_change instead of
12076 next_single_char_property_change.
12077
12078 2000-07-15 Jason Rumney <jasonr@gnu.org>
12079
12080 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
12081 after menu is finished with.
12082 (add_menu_item): Only consider wv->title as a menu title.
12083 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
12084
12085 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
12086 null title.
12087 (FONT_REGEXP): Remove unused macro, and its sub-components.
12088 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
12089
12090 * w32term.c (help_echo_object, help_echo_pos): New variables.
12091 (note_mode_line_highlight): Store additional information about the
12092 help-echo in help_echo_object and help_echo_pos. Check both
12093 `local-map' and `keymap' properties for changing the cursor
12094 (note_mouse_highlight): Store additional information about the
12095 help-echo in help_echo_object and help_echo_pos.
12096 (note_tool_bar_highlight): Set help_echo_object to nil and
12097 help_echo_pos to -1.
12098 (w32_read_socket): Use gen_help_event instead of filling
12099 input_events manually.
12100 (syms_of_w32term): Staticpro help_echo_object.
12101 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
12102 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
12103 (x_clear_mouse_face): New function.
12104 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
12105 (x_update_window_begin): No need to turn off the mouse
12106 highlight here.
12107 (show_mouse_face): Set the mouse_face_p flag of glyph rows
12108 depending on whether they contain glyphs highlighted in mouse-face.
12109 (x_fill_stretch_glyph_string): Consume runs of stretch
12110 glyphs instead of a single one.
12111 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
12112 with new argument list.
12113 (x_set_glyph_string_gc): Make sure the face's GC is valid.
12114 (x_append_glyph, x_append_composite_glyph)
12115 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12116 changes in struct glyph starting 1999-12-27. See comments for
12117 xterm.c on 2000-07-05.
12118
12119 2000-07-14 Sam Steingold <sds@gnu.org>
12120
12121 * xfaces.c (realize_x_face): Fix the last patch:
12122 check `default_face' before dereferencing.
12123
12124 2000-07-14 Dave Love <fx@gnu.org>
12125
12126 * syntax.c (back_comment): Add null default in switch (for pcc).
12127
12128 2000-07-14 Kenichi Handa <handa@etl.go.jp>
12129
12130 * xfaces.c (realize_x_face): Make fontset using the base of the
12131 default_face's fontset, not using the default fontset.
12132
12133 * coding.c (inhibit_iso_escape_detection): New variable.
12134 (syms_of_coding): Make it a Lisp variable.
12135 (detect_coding_iso2022): If inhibit_iso_escape_detection is
12136 nonzero, ignore ISO2022's escape sequence.
12137
12138 2000-07-14 Gerd Moellmann <gerd@gnu.org>
12139
12140 * alloca.c (malloc) [emacs]: Define as xmalloc.
12141
12142 * xfns.c (Fx_show_tip): If frame parameters contain a position,
12143 use that instead of the mouse position. Add parameters DX and DY.
12144
12145 * dispextern.h (Fx_show_tip): Adjust number of parameters
12146 in prototype.
12147
12148 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
12149 if HELP is a function, call it with OBJECT and POS as parameters
12150 to get the help to display.
12151 (gen_help_event, kbd_buffer_store_help_event): New functions.
12152 (kbd_buffer_get_event): Construct the Lisp help-event differently.
12153 (read_char): Call show_help_echo with new parameters.
12154
12155 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
12156 Add prototypes.
12157
12158 * xterm.c (help_echo_object, help_echo_pos): New variables.
12159 (note_mode_line_highlight): Store additional information about the
12160 help-echo in help_echo_object and help_echo_pos. Check both
12161 `local-map' and `keymap' properties for changing the cursor
12162 (note_mouse_highlight): Store additional information about the
12163 help-echo in help_echo_object and help_echo_pos.
12164 (note_tool_bar_highlight): Set help_echo_object to nil and
12165 help_echo_pos to -1.
12166 (XTread_socket): Use gen_help_event instead of filling
12167 input_events manually.
12168 (syms_of_xterm): Staticpro help_echo_object.
12169
12170 * xmenu.c (menu_highlight_callback): Use
12171 kbd_buffer_store_help_event instead of setting up and input_event
12172 structure manually.
12173
12174 * xdisp.c (eval_form): GCPRO argument sexpr.
12175 (call_function): New function.
12176 (handle_single_display_prop): Use call_function and FUNCTIONP
12177 instead of checking whether if font_height is a symbol and
12178 using eval_form.
12179
12180 * eval.c (internal_condition_case_2): New function.
12181
12182 * lisp.h (FUNCTIONP): New macro.
12183 (internal_condition_case_2, call_function): Add prototypes.
12184
12185 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
12186 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
12187 Always set `arg' member of input_events.
12188 (construct_menu_click): Unused function removed.
12189
12190 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
12191
12192 * w32term.c (construct_mouse_click, construct_mouse_wheel)
12193 (construct_drag_n_drop, x_scroll_bar_handle_click)
12194 (w32_read_socket): Always set `arg' member of input_events.
12195
12196 * keyboard.c (show_help_echo): Use eval_form. Add comment.
12197
12198 * lisp.h (eval_form): Add prototype.
12199
12200 * xdisp.c (eval_form): Make it externally visible.
12201
12202 2000-07-13 Gerd Moellmann <gerd@gnu.org>
12203
12204 * xterm.c (x_handle_tool_bar_click): Store the frame in the
12205 frame_or_window slot of TOOL_BAR_EVENT input events instead of
12206 consing. For prefix events, store the frame in the `arg' slot of
12207 the event, otherwise store the key there.
12208 (XTread_socket): Instead of consing, use the frame_or_window slot
12209 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
12210
12211 * xmenu.c (menu_highlight_callback): Store help string in the
12212 `arg' member of the input event; don't cons.
12213 (menubar_selection_callback): Use the `arg' slot of input events
12214 to queue additional information, instead of consing.
12215
12216 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
12217
12218 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
12219 TOOL_BAR_EVENTs.
12220 (w32_read_socket): Adapt to changes in HELP_EVENTs.
12221
12222 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
12223 input events to queue additional information, instead of consing.
12224
12225 * keyboard.c (kbd_buffer_gcpro): Renamed from
12226 kbd_buffer_frame_or_window. Now used for all Lisp objects
12227 referenced from the input queue.
12228 (kbd_buffer_store_event): Always use structure assignment for
12229 copying input events. Record all Lisp objects referenced from
12230 events in kbd_buffer_gcpro.
12231 (kbd_buffer_get_event): Construct Lisp `help-echo' events
12232 differently from input events. Test for prefix menu_bar_events
12233 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
12234 event in kbd_buffer_gcpro to nil.
12235 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
12236 frame_or_window is equal to its arg member as prefix events.
12237 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
12238 used by an input event to nil.
12239 (init_keyboard): Use two times the size of the input queue
12240 for kbd_buffer_gcpro.
12241 (syms_of_keyboard): Likewise.
12242
12243 * emacs.c (handle_USR2_signal, handle_USR1_signal):
12244 Use USER_SIGNAL_EVENT.
12245
12246 * termhooks.h (struct input_event): Add member `arg'.
12247 (MENU_BAR_EVENT): Renamed from menu_bar_event.
12248 (USER_SIGNAL_EVENT): Renamed from user_signal.
12249
12250 * xfaces.c (ASET): Remove definition.
12251
12252 * lisp.h (AREF, ASET, ASIZE): New macros.
12253
12254 * fontset.c (AREF, ASIZE): Remove definitions.
12255
12256 * fns.c (AREF): Remove definition.
12257
12258 * composite.c (AREF): Remove definition.
12259
12260 2000-07-12 Gerd Moellmann <gerd@gnu.org>
12261
12262 * dispnew.c (redraw_overlapped_rows): Add missing local.
12263 (scrolling_window): Remove debug code.
12264
12265 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
12266 Before scrolling, turn off a mouse-highlight in the window
12267 being scrolled.
12268
12269 * xterm.c (x_update_window_end): Add parameter
12270 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
12271 redisplay in XTframe_up_to_date.
12272 (x_clear_mouse_face): New function.
12273 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
12274
12275 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
12276 current glyph row.
12277 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
12278 it when any row is written to that contains glyphs highlighted in
12279 mouse-face.
12280 (update_window): Call the window update end hook with new
12281 parameter MOUSE_FACE_OVERWRITTEN_P.
12282 (direct_output_for_insert): Give up if row contains mouse-face.
12283
12284 * dispextern.h (struct redisplay_interface): Add parameter
12285 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
12286 (clear_mouse_face): New function pointer member.
12287
12288 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
12289
12290 * syntax.c (back_comment): Use one switch rather than a few `if's.
12291 Obey open_paren_in_column_0_is_defun_start.
12292 When reverting to the `slow' method, try to nicely handle the case
12293 of nested comments by checking that the comment-starter we found
12294 does indeed match the comment-ender.
12295 (scan_sexps_forward, scan_sexps_forward):
12296 Ignore excessive opening parenthesis rather than throwing an error.
12297
12298 2000-07-11 Gerd Moellmann <gerd@gnu.org>
12299
12300 * doc.c (Fsubstitute_command_keys): Handle case that a GC
12301 in Fwhere_is_internal or get_keymap_1 relocates string contents.
12302
12303 * dispnew.c (direct_output_forward_char): Give up if currently
12304 displaying a message instead of the minibuffer contents.
12305
12306 * xterm.c (x_update_window_begin): No need to turn off the mouse
12307 highlight here.
12308 (show_mouse_face): Set the mouse_face_p flag of glyph rows
12309 depending on whether they contain glyphs highlighted in mouse-face.
12310
12311 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
12312 compare the mouse_face_p flags of both rows.
12313
12314 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
12315
12316 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
12317
12318 * keyboard.c (show_help_echo): Accept additional parameter
12319 ok_to_overwrite_keystroke_echo.
12320 (read_char): Call show_help_echo with a zero
12321 ok_to_overwrite_keystroke_echo argument.
12322 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
12323 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
12324 ok_to_overwrite_keystroke_echo argument.
12325 * w32menu.c (w32_menu_display_help): Call show_help_echo with
12326 non-zero ok_to_overwrite_keystroke_echo argument.
12327
12328 2000-07-10 Gerd Moellmann <gerd@gnu.org>
12329
12330 * xdisp.c (try_window_id): If changes are all below what is
12331 displayed in the window, and point is in the window, we still
12332 might have to find point on the display.
12333
12334 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
12335 glyphs instead of a single one.
12336 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
12337 with new argument list.
12338 (x_set_glyph_string_gc): Make sure the face's GC is valid.
12339
12340 * keymap.c (get_keymap_1): Add comment that this function can GC.
12341 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
12342 comment that functions can GC.
12343 (Fset_keymap_parent): GCPRO arg KEYMAP.
12344
12345 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
12346
12347 * msdos.c (XMenuActivate): After exiting the menu, restore the
12348 echo area message and erase it.
12349
12350 2000-07-10 Kenichi Handa <handa@etl.go.jp>
12351
12352 * fontset.c (Ffontset_info): Make the return value more compatible
12353 with that of Emacs 20.
12354
12355 2000-07-07 Gerd Moellmann <gerd@gnu.org>
12356
12357 * eval.c (Fsignal): Handle case that backtrace_list is null.
12358
12359 2000-07-07 Kenichi Handa <handa@etl.go.jp>
12360
12361 * ccl.c (Fccl_execute): Typo fixed.
12362
12363 2000-07-06 Gerd Moellmann <gerd@gnu.org>
12364
12365 * window.c (window_loop): Add missing gcpro1 local variable.
12366
12367 * window.c (Fwindow_list): Reverse list at the end.
12368 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
12369 means allow windows on OWINDOW's frame, only.
12370 (window_loop): Simplified; use Fwindow_list.
12371
12372 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
12373
12374 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12375
12376 * xterm.c (XTread_socket): Increment handling_signal at the start,
12377 decrement it at the end.
12378
12379 * eval.c (handling_signal): New variable.
12380 (Fsignal): Abort if handling_signal is non-zero.
12381
12382 * lisp.h (handling_signal): External declaration.
12383
12384 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
12385
12386 2000-07-05 Ken Raeburn <raeburn@gnu.org>
12387
12388 Sound support for NetBSD through "Linux emulation" support:
12389 * config.in (HAVE_SOUNDCARD_H): Undef.
12390 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
12391 * Makefile.in (LIBSOUND): New variable.
12392 (LIBES): Include it.
12393 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
12394 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
12395 (vox_open): Use DEFAULT_SOUND_DEVICE.
12396 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
12397
12398 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12399
12400 * print.c (print_error_message): If Vsignaling_function is set,
12401 show it in *Messages*.
12402
12403 * lisp.h (Vsignaling_function): External declaration.
12404
12405 * eval.c (Vsignaling_function): New variable.
12406 (Fsignal): Compute it.
12407 (syms_of_eval): Staticpro it.
12408
12409 2000-07-05 Dave Love <fx@gnu.org>
12410
12411 * syswait.h: Use the autoconf recommended approach. Old code
12412 #if'd out in case we need to revert.
12413
12414 * config.in (HAVE_SYS_WAIT_H): Added.
12415
12416 2000-07-05 Andrew Innes <andrewi@gnu.org>
12417
12418 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
12419 when non-NULL instead of __morecore, to take account of buffer
12420 memory. This also solves a problem with spurious memory warnings
12421 on Windows.
12422
12423 * ralloc.c: Make real_morecore non-static.
12424
12425 * eval.c (internal_condition_case): Comment out abort if
12426 interrupt_input_blocked is not zero.
12427
12428 * makefile.nt: Add support for `bootstrap' and related targets.
12429 Include minimal debug info in emacs.exe in release build.
12430 Remove all dependencies on lisp.h, and fixup some others.
12431
12432 * w32.c (init_environment): Install code from 20.7 for providing
12433 default values for environment variables, based on the
12434 executable's own location.
12435 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
12436 (sys_socket): Install socket inheritance bug fix from 20.7.
12437
12438 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
12439 here via blockinput.h).
12440
12441 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
12442
12443 * w32menu.c (w32_menu_display_help):
12444 * xmenu.c (menu_help_callback): Use show_help_echo.
12445
12446 * keyboard.h (show_help_echo): Declare.
12447
12448 * keyboard.c (show_help_echo): New function, extracted from read_char.
12449 Feval its `msg' argument if it's a cons cell.
12450 (read_char): Use it.
12451 (follow_key): Pass `autoload' to get_keyelt.
12452
12453 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
12454 (note_tool_bar_highlight, XTread_socket):
12455 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
12456 (dos_rawgetc):
12457 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
12458 (note_tool_bar_highlight, w32_read_socket):
12459 Do not gratuitously ignore non-string `help-echo' properties.
12460
12461 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12462
12463 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
12464
12465 * window.c (delete_all_subwindows): Reset Vwindow_list.
12466
12467 * xterm.c (x_append_glyph, x_append_composite_glyph)
12468 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12469 changes in struct glyph starting 1999-12-27. Some bit-fields of
12470 struct glyph were not set, which made glyphs unequal when compared
12471 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
12472 effects were the result. This also depended on the contents of
12473 memory returned by xmalloc. If flickering happens again, activate
12474 the code in clear_glyph_row that's in #if 0. If the flickering is
12475 gone with that, chances are that it is caused by something similar.
12476
12477 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
12478
12479 * dispextern.h: Add some comments.
12480
12481 * window.c (add_window_to_list): Add parameter LIST.
12482 (window_list): Order list so that, for each frame, windows are
12483 in canonical order, and so that frames appear in the list in
12484 the order given by Vframe_list.
12485 (next_window): Reverse the handling of NEXT_P.
12486
12487 2000-07-04 Gerd Moellmann <gerd@gnu.org>
12488
12489 * window.c (Vwindow_list): New variable.
12490 (make_window, delete_window): Set Vwindow_list to nil.
12491 (check_window_containing): New function.
12492 (window_from_coordinates): Rewritten.
12493 (add_window_to_list, window_list, candidate_window_p)
12494 (decode_next_window_args, next_window): New functions.
12495 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
12496 (Fwindow_list): New function.
12497 (Fother_window): Cleaned up.
12498 (foreach_window): Add a longer "variable argument list". Let
12499 callback function return 0 to indicate that cycling over windows
12500 should stop.
12501 (foreach_window_1): Likewise.
12502 (freeze_window_start): Return int.
12503 (init_window): New function.
12504 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
12505
12506 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
12507 input_event with bzero.
12508 (main): Call init_window.
12509
12510 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
12511 a menu filter.
12512
12513 2000-07-04 Kenichi Handa <handa@etl.go.jp>
12514
12515 * composite.h (make_composition_value_copy): Extern it.
12516
12517 * composite.c (make_composition_value_copy): New function.
12518
12519 * editfns.c (Fformat): While copying text properties, make each
12520 composition property value a copy.
12521
12522 * fns.c (concat): While copying text properties, make each
12523 composition property value a copy.
12524
12525 2000-07-03 Gerd Moellmann <gerd@gnu.org>
12526
12527 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
12528
12529 * fns.c (sweep_weak_table): Mark only objects that are not
12530 marked already.
12531
12532 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
12533 include those frames as candidates which have their focus
12534 redirected to the minibuffer frame.
12535
12536 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
12537
12538 * fns.c (Fputhash): Return `value' rather than nil.
12539
12540 2000-06-30 Gerd Moellmann <gerd@gnu.org>
12541
12542 * frame.c (next_frame): Don't check focus redirection in case
12543 MINIBUF is a window. Doing so excludes frames using MINIBUF
12544 unless their focus is redirected, which contradicts the
12545 specification of next-frame, and leads to infinite loops in
12546 certain situations when cycling through windows with next-window.
12547
12548 2000-06-30 Kenichi Handa <handa@etl.go.jp>
12549
12550 * coding.c (code_convert_region): Even if the length of text is
12551 zero, try to convert it if coding->type is coding_type_ccl.
12552 (decode_coding_string, encode_coding_string): Likewise.
12553
12554 2000-06-28 Gerd Moellmann <gerd@gnu.org>
12555
12556 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
12557 the display if windows_or_buffers_changed.
12558
12559 * dispnew.c (struct row_entry): New structure.
12560 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
12561 (row_table_size, old_lines, new_lines, old_lines_size)
12562 (new_lines_size, run_pool, runs_size, runs): New variables.
12563 (add_row_entry): New function.
12564 (scrolling_window): Use data structures allocated with xmalloc and
12565 held in global variables, instead of allocating them with alloca and
12566 holding them in local variables. Use a larger hash table whose
12567 size depends on glyph matrix sizes. Don't use bzero to clear the
12568 hash table; instead, clear used slots only.
12569
12570 * fns.c (next_almost_prime): Make it externally visible.
12571
12572 * lisp.h (next_almost_prime): Add prototype.
12573
12574 * s/isc4-0.h (sigunblock): Define.
12575
12576 * s/sco5.h (sigunblock): Define.
12577
12578 2000-06-27 Dave Love <fx@gnu.org>
12579
12580 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
12581 (moved to osf5-0.h).
12582 [!NOT_C_CODE]: Protect string.h stuff.
12583
12584 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
12585 (sys_siglist, NSIG): Definitions moved here from osf1.h.
12586
12587 2000-06-27 Gerd Moellmann <gerd@gnu.org>
12588
12589 * xdisp.c (resize_mini_window): Subtract the extra line spacing
12590 below the last line from the needed window height.
12591
12592 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
12593
12594 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
12595 (Fwidget_get): Use it.
12596 (syms_of_fns): Defsubr it.
12597
12598 2000-06-26 Gerd Moellmann <gerd@gnu.org>
12599
12600 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
12601 display info for XIM.
12602 (xim_open_dpy): Likewise.
12603 (xim_close_dpy): Don't free the display info's XIM.
12604
12605 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
12606
12607 * config.in (USE_XIM): New define.
12608
12609 * keymap.c (get_keyelt): For menu-items containing a `:filter
12610 FILTER', apply FILTER to the menu-item's definition to get the
12611 real definition to use.
12612
12613 * lisp.h (QCfilter): External declaration.
12614
12615 * xfns.c (Fimage_size): New function.
12616 (syms_of_xfns): Defsubr it.
12617
12618 2000-06-26 Andreas Schwab <schwab@suse.de>
12619
12620 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
12621 Fstring_as_unibyte.
12622
12623 2000-06-25 Dave Love <fx@gnu.org>
12624
12625 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
12626
12627 * Makefile.in (blockinput.h): Depend on atimer.h.
12628 (atimer.h): Depend on systime.h.
12629
12630 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
12631
12632 * atimer.h: Protect against multiple inclusion. Include systime.h.
12633
12634 * lisp.h (swap_in_global_binding): Declare.
12635
12636 2000-06-24 Ken Raeburn <raeburn@gnu.org>
12637
12638 * process.c (Fopen_network_stream): Turn off atimers for duration
12639 of call to connect. (Patch from Gerd.)
12640
12641 2000-06-23 Dave Love <fx@gnu.org>
12642
12643 * ralloc.c: Maybe include unistd.h
12644
12645 * emacs.c (setgrp): Undefine before defining.
12646 (malloc_warning, set_time_zone_rule, index): Prototype.
12647
12648 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
12649 HAVE_STRUCT_TIMEZONE.
12650
12651 * s/osf1.h: Move string.h hack here from alpha.h and make it
12652 conditional.
12653 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
12654 _XOPEN_SOURCE.
12655 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
12656 (SOCKLEN_TYPE): Don't define.
12657
12658 * m/alpha.h: Remove string.h hack.
12659
12660 * s/osf5-0.h: New file.
12661
12662 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
12663 include time.h, done by systime.h.
12664 [__FreeBSD__]: Remove redundant includes.
12665
12666 * callproc.c (setpgrp): Undefine before defining.
12667 (delete_temp_file): Return Qnil to avoid warning.
12668
12669 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
12670
12671 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
12672 HAVE_X_WINDOWS.
12673
12674 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
12675
12676 * composite.h (compose_text): Declare.
12677
12678 * xterm.c: Don't include sys/types.h unconditionally. Don't
12679 protect its inclusion with !USG (following xmenu.c).
12680
12681 2000-06-23 Gerd Moellmann <gerd@gnu.org>
12682
12683 * xfns.c (x_create_tip_frame): Initialize frame's colors like
12684 in x_create_frame.
12685
12686 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
12687
12688 * coding.c (decode_eol_post_ccl): Special handling for undecided
12689 and inconsistent EOL types.
12690
12691 2000-06-22 Gerd Moellmann <gerd@gnu.org>
12692
12693 * xrdb.c (x_load_resources): Add default resource for scroll bar's
12694 trough color and main window's background color.
12695
12696 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
12697
12698 * xterm.h (Xt_app_con): External declaration.
12699
12700 * widget.c (EmacsFrameRealize): Fix typo.
12701
12702 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
12703
12704 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
12705 (handle_invisible_prop): Record the start of invisible text in
12706 it->add_overlay_start.
12707 (struct overlay_entry): Add member `overlay'.
12708 (handle_overlay_change): Simplify.
12709 (next_overlay_string): After having processed overlay strings at the
12710 end of the buffer, record that fact in
12711 it->overlay_strings_at_end_processed_p.
12712 (compare_overlay_entries): If before- and after-strings come
12713 from the same overlay, let before-strings come first.
12714 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
12715 (load_overlay_strings): Take it->add_overlay_start into account
12716 when adding overlay strings.
12717
12718 * dispextern.h (struct it): Add member add_overlay_start.
12719
12720 2000-06-22 Dave Love <fx@gnu.org>
12721
12722 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
12723
12724 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
12725
12726 2000-06-22 Kenichi Handa <handa@etl.go.jp>
12727
12728 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
12729 is greater than 0.
12730
12731 2000-06-21 Dave Love <fx@gnu.org>
12732
12733 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
12734
12735 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
12736
12737 * syntax.c (back_comment): Simplify string-parity counting (with
12738 the added benefit of handling multiple string-styles as long as
12739 they are not intertwined).
12740 Jump to the slow code as soon as a comment starter is found in
12741 a "string_lossage" position. Fixes the case: " /* " /* " */.
12742
12743 2000-06-21 Dave Love <fx@gnu.org>
12744
12745 * Makefile.in: Use GETLOADAVG_LIBS.
12746
12747 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
12748 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
12749
12750 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12751
12752 * syntax.c (describe_syntax): Recognize the `n'estable bit.
12753 (Fforward_comment, scan_lists):
12754 Check the comstyle of single-char comment-starters.
12755 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
12756 we're just at the beginning of the comment (f.ex with (*) ... (*)).
12757 Check the comstyle of single-char comment-starters.
12758 Clarify control-flow around the Scomment case.
12759
12760 2000-06-20 Dave Love <fx@gnu.org>
12761
12762 * fns.c (make_hash_table, maybe_resize_hash_table):
12763 Cast arg of next_almost_prime.
12764
12765 * tparam.c [emacs]: Include lisp.h.
12766
12767 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
12768 and unistd.h.
12769
12770 2000-06-20 Gerd Moellmann <gerd@gnu.org>
12771
12772 * keyboard.c (adjust_point_for_property): Check if display
12773 property should be treated as intangible by looking at its value.
12774
12775 * xdisp.c (single_display_prop_intangible_p)
12776 (display_prop_intangible_p): New functions.
12777
12778 * dispextern.h (display_prop_intangible_p): Add prototype.
12779
12780 * xdisp.c (dump_glyph_row): Show type of glyph->object.
12781
12782 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
12783 argument to sigprocmask.
12784
12785 * s/sco5.h (sigblock): Redefined to pass a pointer as second
12786 argument to sigprocmask.
12787
12788 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
12789 sigprocmask_set, and pass a pointer to it to sigprocmask.
12790
12791 * sysdep.c (sigprocmask_set): New variable.
12792
12793 * fileio.c (make_temp_name): Don't use `%s' in string passed to
12794 report_file_error.
12795
12796 2000-06-20 Sam Steingold <sds@gnu.org>
12797
12798 * xrdb.c: Don't declare xmalloc, xrealloc.
12799
12800 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12801
12802 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
12803 (re_comp): Cast gettext return value to avoid complaints when
12804 !HAVE_LIBINTL.
12805
12806 2000-06-20 Dave Love <fx@gnu.org>
12807
12808 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
12809
12810 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
12811
12812 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
12813
12814 * m/alpha.h: Don't declare xmalloc, xrealloc.
12815
12816 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
12817
12818 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
12819
12820 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
12821
12822 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
12823 HAVE_GETWD.
12824
12825 * keyboard.h (poll_for_input_1): Declare.
12826
12827 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
12828
12829 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
12830
12831 * doprnt.c: Don't declare xmalloc, xrealloc.
12832
12833 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
12834 (getenv, ctime, getwd): Removed.
12835 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
12836
12837 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
12838 x_set_tool_bar_lines.
12839
12840 * config.in: Add HAVE_GETWD. Move some definitions above
12841 machine/system includes.
12842
12843 2000-06-20 Kenichi Handa <handa@etl.go.jp>
12844
12845 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
12846
12847 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
12848 contain information about ENCODING.
12849
12850 * fontset.c (FONTSET_ASCII): Use the first element of char table
12851 for an ASCII font, not defalt slot.
12852 (fontset_ref_via_base): If FONTSET doesn't contain information for
12853 C, try the default fontset.
12854 (make_fontset): Don't copy the default fontset.
12855 (fontset_font_pattern): Likewise.
12856 (accumulate_font_info): If ELT is nil, use the corresponding
12857 element in the default fontset.
12858
12859 2000-06-19 Dave Love <fx@gnu.org>
12860
12861 * syntax.c (Fparse_partial_sexp): Doc fix.
12862
12863 * regex.h: Test PROTOTYPES as well as __STDC__.
12864
12865 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
12866 errno, strerror. Put text after #endif in comment.
12867
12868 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
12869
12870 * xterm.c (x_frame_of_widget): Likewise.
12871
12872 2000-06-19 Gerd Moellmann <gerd@gnu.org>
12873
12874 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
12875 to Vfundamental_mode_abbrev_table.
12876
12877 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
12878 bogus objects are marked. This slows down GC by ~80 percent, but
12879 it might be worth trying when debugging GC-related problems.
12880 This feature requires conservative stack marking to be enabled.
12881
12882 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
12883 returns XLookupChars, reset `modifiers' to zero.
12884
12885 2000-06-19 Dave Love <fx@gnu.org>
12886
12887 * mktime.c: Unprotoized.
12888
12889 2000-06-19 Richard Stallman <rms@gnu.org>
12890
12891 * data.c (set_internal): If variable is frame-local,
12892 store the new value immediately into the frame parameter alist.
12893
12894 2000-06-19 Ken Raeburn <raeburn@gnu.org>
12895
12896 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
12897 in the custom handler pointer.
12898
12899 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
12900 value, or checks for CHAR_META can fail when Lisp_Object is a
12901 union type.
12902 * keymap.c (get_keyelt): Likewise.
12903
12904 2000-06-19 Kenichi Handa <handa@etl.go.jp>
12905
12906 * ccl.h (struct ccl_program): New member eol_type.
12907 (struct ccl_spec): New member cr_carryover.
12908
12909 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
12910 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
12911
12912 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
12913 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
12914 (decode_eol_post_ccl): New function.
12915 (decode_coding): Don't detect EOL format here for CCL based coding
12916 systems.
12917 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
12918 decode_eol_post_ccl after running the CCL program.
12919 (code_convert_region): Don't detect EOL format here for CCL based
12920 coding systems.
12921 (decode_coding_string): Likewise.
12922
12923 2000-06-18 Ken Raeburn <raeburn@gnu.org>
12924
12925 * charset.c (update_charset_table): Use XINT on "iso_final_char"
12926 when treating it as an integer.
12927
12928 * coding.h (encode_coding_string): Declare.
12929
12930 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
12931 it as an integer.
12932
12933 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
12934 "xkeymap" to avoid shadowing the "enum map_type" value that needs
12935 to be passed to get_local_map.
12936
12937 * sound.c (Fplay_sound): Don't call make_number on
12938 Frun_hook_with_args count argument.
12939
12940 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
12941 for lisp objects in X event structure data field, when lisp
12942 objects are represented with unions.
12943 (x_scroll_bar_to_input_event): Ditto.
12944
12945 2000-06-16 Ken Raeburn <raeburn@gnu.org>
12946
12947 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
12948 termination of string. Fix sense of test whether
12949 Vline_number_display_limit is an integer.
12950
12951 2000-06-16 Gerd Moellmann <gerd@gnu.org>
12952
12953 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
12954 only if HAVE_X_WINDOWS.
12955
12956 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
12957 of titles.
12958
12959 * dispnew.c (update_frame_1): Handle case that cursor vpos is
12960 out of bounds.
12961
12962 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
12963
12964 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
12965 of its headers.
12966
12967 2000-06-15 Kenichi Handa <handa@etl.go.jp>
12968
12969 * coding.c (decode_coding_emacs_mule): Always set src_base at the
12970 start of the while loop.
12971
12972 2000-06-15 Gerd Moellmann <gerd@gnu.org>
12973
12974 * atimer.c (alarm_signal_handler): Add forward declaration.
12975
12976 * data.c (set_internal): Remove debug code.
12977
12978 2000-06-14 Gerd Moellmann <gerd@gnu.org>
12979
12980 * Makefile.in (bootstrap-temacs): Add `-I../src'.
12981
12982 * unexec.c (toplevel) [COFF]: Include coff.h.
12983
12984 * s/lynxos.h: New file.
12985
12986 * keymap.c (Fsingle_key_description): Enclose function key and
12987 event symbol names in angle brackets.
12988
12989 * xdisp.c (setup_echo_area_for_printing): Call
12990 message_log_maybe_newline if message_buf_print is not set.
12991
12992 * print.c (printchar, strout): Don't check message_buf_print
12993 before calling setup_echo_area_for_printing because that
12994 function does something useful even when message_buf_print is
12995 already set.
12996
12997 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
12998 New variables.
12999 (ensure_echo_area_buffers): Initialize echo buffer's
13000 truncate lines setting to nil.
13001 (with_echo_area_buffer): Don't set the echo buffer's truncate
13002 lines setting here.
13003 (set_message_1): Set it here instead, based on the value
13004 of message_truncate_lines.
13005 (resize_mini_window): Handle case that lines are truncated.
13006 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
13007 DEFVAR_BOOL message-truncate-lines.
13008
13009 * keyboard.c (read_char): Bind message-truncate-lines to t
13010 while displaying a help-echo.
13011
13012 * lisp.h (Qmessage_truncate_lines): External declaration.
13013
13014 2000-06-13 Gerd Moellmann <gerd@gnu.org>
13015
13016 * xdisp.c (Vline_number_display_limit): Renamed from
13017 line_number_display_limit.
13018 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
13019 Extend documentation string. Initialize
13020 Vline_number_display_limit to nil meaning no limit.
13021 (decode_mode_spec): Use Vline_number_display_limit with its new
13022 meaning.
13023
13024 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
13025
13026 2000-06-13 Richard Stallman <rms@gnu.org>
13027
13028 * frame.c (Fmodify_frame_parameters): Doc fix.
13029
13030 * xfns.c (x_set_frame_parameters): Comment fix.
13031
13032 * frame.c (store_frame_param): Call swap_in_global_binding if the
13033 variable's current binding was chosen based on this frame.
13034
13035 * data.c (swap_in_global_binding): New function.
13036
13037 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
13038
13039 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
13040 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
13041
13042 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
13043
13044 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
13045
13046 2000-06-12 Jason Rumney <jasonr@gnu.org>
13047
13048 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
13049
13050 * w32.h (EMACS_W32_H): Renamed from _NT_H_
13051
13052 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
13053
13054 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
13055
13056 2000-06-12 Gerd Moellmann <gerd@gnu.org>
13057
13058 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
13059 (syms_of_xfaces): Defsubr Sdump_colors.
13060 (x_free_colors): Don't treat b&w specially on default visual.
13061 (x_free_dpy_colors): New function.
13062 (free_face_colors): Don't check visual class; it's done
13063 in x_free_colors.
13064
13065 * xterm.c (x_frame_of_widget): New function.
13066 (x_alloc_nearest_color_for_widget): Use it.
13067 (x_copy_dpy_color): New function.
13068 (x_destroy_window): Free various colors.
13069
13070 2000-06-12 Kenichi Handa <handa@etl.go.jp>
13071
13072 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
13073
13074 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
13075
13076 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
13077
13078 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
13079
13080 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
13081
13082 2000-06-11 Dave Love <fx@gnu.org>
13083
13084 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
13085
13086 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
13087
13088 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
13089
13090 2000-06-11 Gerd Moellmann <gerd@gnu.org>
13091
13092 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
13093 to `XEvent *'.
13094
13095 2000-06-10 Kenichi Handa <handa@etl.go.jp>
13096
13097 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
13098 (regex_compile): Fix the code for handling the case of single byte
13099 char and multibyte char being mixed in a range within [...].
13100
13101 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
13102 and dst_multibyte members of coding.
13103
13104 * charset.c (update_charset_table): Update the table
13105 bytes_by_char_head.
13106 (init_charset_once): Initialize elements of bytes_by_char_head to
13107 1 except for leading codes for private charases.
13108
13109 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
13110 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
13111
13112 2000-06-09 Ken Raeburn <raeburn@gnu.org>
13113
13114 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
13115 access the data it doesn't point to.
13116
13117 2000-06-08 Gerd Moellmann <gerd@gnu.org>
13118
13119 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
13120 will be translated to a switch-frame event when reading the
13121 event queue. This is necessary because Emacs otherwise won't
13122 perform a switch-frame to a new frame until some other event, for
13123 example a keystroke event, forces it to do so. This has various
13124 effects, one visible being that the cursor of a frame created with
13125 C-x 5 2 or switched to with a window manager key binding like
13126 A-TAB stays hollow because selected_window isn't on the newly
13127 focused frame until the switch-frame is performed.
13128
13129 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
13130 generating a switch-frame event if necessary.
13131
13132 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
13133
13134 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
13135 it's an integer.
13136
13137 2000-06-08 Kenichi Handa <handa@etl.go.jp>
13138
13139 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
13140
13141 2000-06-07 Gerd Moellmann <gerd@gnu.org>
13142
13143 * window.c (displayed_window_lines): Take empty lines at
13144 the bottom of a window into account.
13145
13146 * window.c (displayed_window_lines): New function.
13147 (Fmove_to_window_line): Use displayed_window_lines to determine
13148 the number of lines to move, instead of using the window's height.
13149
13150 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
13151 to stop reading, even if the form read sets point to a different
13152 value when evaluated.
13153
13154 * xdisp.c (display_line): Fix code deciding in which line to
13155 put the cursor.
13156
13157 2000-06-07 Kenichi Handa <handa@etl.go.jp>
13158
13159 * fileio.c (e_write): Free composition data if stored in
13160 coding->cmp_data.
13161
13162 2000-06-06 Gerd Moellmann <gerd@gnu.org>
13163
13164 * xdisp.c (display_line): Set row's and iterator's
13165 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
13166 Set cursor even if row ends in the middle of a character.
13167 (dump_glyph_row): Print values of new flags.
13168 (redisplay_window) <cursor movement in unchanged window>: When
13169 point has been moved forward, and PT is at the end of the cursor
13170 row, don't place the cursor in the next row if the cursor row ends
13171 in the middle of a character or at ZV.
13172
13173 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
13174 (struct glyph_row): Add starts_in_middle_of_char_p and
13175 ends_in_middle_of_char_p.
13176 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
13177 ends_in_middle_of_char_p flag.
13178 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
13179
13180 * term.c (append_glyph): Revert change of 2000-06-06.
13181
13182 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
13183 padding glyph not fitting on line as whole character not
13184 fitting on line.
13185
13186 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
13187 this isn't true for images with `:ascent 100'.
13188
13189 2000-06-06 Kenichi Handa <handa@etl.go.jp>
13190
13191 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
13192 as modified if it is originally unmodified.
13193
13194 * term.c (encode_terminal_code): Change the way to check if
13195 terminal coding does any conversion.
13196 (append_glyph): Set glyph->pixel_width correctly.
13197
13198 * xdisp.c (display_line): While checking line continuation, pay
13199 attention to a padding glyph.
13200
13201 2000-06-05 Gerd Moellmann <gerd@gnu.org>
13202
13203 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
13204
13205 2000-06-05 Dave Love <fx@gnu.org>
13206
13207 * xdisp.c: Include fontset.h.
13208
13209 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
13210
13211 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
13212
13213 * dispnew.c: Conditionally include term.h.
13214
13215 * coding.h: Declare code_convert_string_norecord.
13216
13217 * frame.h (struct frame): Use volatile unconditionally.
13218
13219 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
13220
13221 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
13222
13223 * systime.h: Protect against multiple inclusion.
13224 (timezone) [USG5_4]: Define as time_t.
13225
13226 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
13227 (Foptimize_char_table, make_temp_name): Declare.
13228
13229 * Makefile.in (xdisp.o): Depend on fontset.h.
13230
13231 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
13232
13233 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
13234 (Foptimize_char_table, make_temp_name): Declare.
13235
13236 * s/irix4-0.h:
13237 * s/irix5-0.h:
13238 * s/netbsd.h: Don't define autoconfiscated MATHERR.
13239
13240 2000-06-02 Dave Love <fx@gnu.org>
13241
13242 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
13243
13244 2000-06-02 Gerd Moellmann <gerd@gnu.org>
13245
13246 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
13247 result face, set flags in that face indicating that colors may not
13248 be freed.
13249
13250 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
13251 glyph, use the ASCII NUL character to determine the face.
13252
13253 2000-06-02 Dave Love <fx@gnu.org>
13254
13255 * sysdep.c: Conditionally include stdlib.h, unistd.h.
13256 (VFORK_RETURN_TYPE): Remove.
13257
13258 * config.in: Add NO_MATHERR.
13259
13260 2000-06-01 Dave Love <fx@gnu.org>
13261
13262 * cmds.c (internal_self_insert): Don't check
13263 Vbefore_change_function, Vafter_change_function.
13264
13265 * insdel.c (signal_before_change, signal_after_change): Likewise.
13266
13267 * buffer.c (Vbefore_change_function, Vafter_change_function):
13268 Variables and their initializations deleted.
13269
13270 * callint.c (Fcall_interactively): Doc fix.
13271
13272 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
13273
13274 2000-05-31 Dave Love <fx@gnu.org>
13275
13276 * textprop.c: Revert last change -- duplicated.
13277
13278 2000-05-31 Gerd Moellmann <gerd@gnu.org>
13279
13280 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
13281 in #if 0.
13282
13283 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
13284
13285 2000-05-31 Jason Rumney <jasonr@gnu.org>
13286
13287 * search.c (Fre_search_forward, Fre_search_backward)
13288 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
13289
13290 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
13291
13292 2000-05-30 Jason Rumney <jasonr@gnu.org>
13293
13294 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
13295 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
13296
13297 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
13298
13299 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
13300 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
13301 expand a nil default_filename.
13302
13303 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
13304 pointer to glyph_to_pixel_coords, not a frame.
13305
13306 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
13307 coding.h to dependencies.
13308
13309 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
13310
13311 * w32console.c (glyph_to_pixel_coords): Change first parameter to
13312 window pointer to be consistent with w32term.c and xterm.c.
13313
13314 * w32fns.c: Format and doc changes to bring closer to xfns.c.
13315 (VIETNAMESE_CHARSET): Define if not defined in system headers.
13316 (Qline_spacing, Qcenter): New variables.
13317 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
13318 (x_set_line_spacing): New function.
13319 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
13320 (x_specified_cursor_type): New function.
13321 (x_set_cursor_type): Use it.
13322 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
13323 and icon strings.
13324 (validate_x_resource_name, x_get_resource_string): Measure lengths
13325 of external strings in bytes.
13326 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
13327 GetTextExtentPoint32 with NULL title.
13328 (Fx_create_frame): Initialize Qline_spacing.
13329 (w32_load_system_font): Initialize font->double_byte_p.
13330 (x_to_w32_charset): Use Vw32_charset_info_alist.
13331 (Image, busy cursor, tooltip functions): Merged changes from
13332 xfns.c. Not yet functional on Windows.
13333
13334 * w32gui.h (W32FontStruct): Add double_byte_p member.
13335
13336 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
13337 (emacs_button_translation): Use it.
13338 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
13339 in `mask' to be set.
13340
13341 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
13342 menu strings.
13343
13344 * w32term.c: Format and doc changes to bring closer to xterm.c.
13345 (w32_char_font_type): New enum.
13346 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
13347 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
13348 (w32_encode_char): New function.
13349 (x_encode_char): Removed.
13350 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
13351 x_encode_char and w32_font_is_double_byte.
13352 (x_produce_image_glyph): Use image_ascent.
13353 (x_produce_glyphs): Use new version of w32_per_char_metric and
13354 handle NULL return value. Allow extra line spacing.
13355 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
13356 (w32_get_glyph_overhangs): Remove unicode_p param. Use
13357 w32_font_type member of glyph instead.
13358 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
13359 (fast_find_position): Make sure not to consider rows not visible
13360 in the window.
13361 (w32_read_socket) [WM_MENUSELECT]: Cannot call
13362 w32_menu_display_help with input blocked, as it can abort.
13363 (x_display_and_set_cursor): Choose cursor depending
13364 on buffer-local value of cursor_type.
13365 (x_draw_bar_cursor): Add parameter WIDTH.
13366
13367 * w32term.h (CP_DEFAULT): Define.
13368 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
13369
13370 2000-05-30 Gerd Moellmann <gerd@gnu.org>
13371
13372 * search.c (Fre_search_forward, Fre_search_backward)
13373 (Fposix_search_backward, Fposix_search_forward): Doc fix.
13374
13375 2000-05-30 Kenichi Handa <handa@etl.go.jp>
13376
13377 * coding.c (detect_coding_iso2022): Fix code for checking
13378 CODING_CATEGORY_MASK_ISO_8_2.
13379
13380 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
13381
13382 * regex.c (PREFETCH_NOLIMIT): New function.
13383 (re_match_2_internal): Use it and adjust the end_match_2 logic.
13384
13385 2000-05-29 Gerd Moellmann <gerd@gnu.org>
13386
13387 * syntax.c (find_defun_start): Move test for
13388 open_paren_in_column_0_is_defun_start outside of the loop.
13389
13390 * xdisp.c (redisplay_window): Really switch buffers when
13391 displaying mode lines, and temporarily set selected_frame to the
13392 frame of the window that's redisplayed.
13393
13394 * xfaces.c (free_realized_faces): Block/unblock input.
13395 (free_realized_multibyte_face): Ditto.
13396
13397 2000-05-29 Dave Love <fx@gnu.org>
13398
13399 * textprop.c (Qkeymap): New variable.
13400 (syms_of_textprop): Intern it.
13401
13402 * keymap.c: Include intervals.h.
13403 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
13404
13405 * Makefile.in (keymap.o): Depend on intervals.h.
13406
13407 * keyboard.c (menu_bar_items, tool_bar_items)
13408 (Fexecute_extended_command): Deal with `keymap' property.
13409 (read_key_sequence): Track map from `keymap' property as well as
13410 `local_map'.
13411
13412 * intervals.c (get_local_map): Extra arg to allow looking for
13413 `keymap' too.
13414
13415 * intervals.h (map_property): New enum.
13416 (get_local_map): Extra arg using it.
13417 (Qkeymap): Declare.
13418
13419 * lisp.h (get_local_map): Don't declare here.
13420
13421 2000-05-29 Kenichi Handa <handa@etl.go.jp>
13422
13423 * Makefile.in (callproc.o): Depend on composite.h.
13424
13425 * callproc.c: Include composite.h.
13426 (Fcall_process): Handle composition correctly.
13427
13428 * coding.h (coding_allocate_composition_data): Extern it.
13429 (coding_restore_composition): Likewise.
13430
13431 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
13432 yet allocated, finish decoding with result
13433 CODING_FINISH_INSUFFICIENT_CMP.
13434 (coding_allocate_composition_data): Make it non-static.
13435 (coding_restore_composition): Likewise.
13436
13437 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
13438
13439 * charset.c (syms_of_charset): Revert last change.
13440
13441 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13442
13443 * term.c (produce_glyphs): Treat characters from the eight-bit-*
13444 charsets as unibyte, with 1-column screen width. Sent by Kenichi
13445 Handa.
13446
13447 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13448
13449 * charset.c (syms_of_charset): Set width of character sets
13450 eight-bit-control and eight-bit-graphic to 1 column.
13451
13452 2000-05-26 Gerd Moellmann <gerd@gnu.org>
13453
13454 * config.in (HAVE_SPEED_T): New define.
13455
13456 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
13457 `extern speed_t'.
13458
13459 2000-05-26 Dave Love <fx@gnu.org>
13460
13461 * coding.c (shrink_decoding_region): Initialize eol_conversion.
13462
13463 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
13464 (Fsubr_arity): New function.
13465 (syms_of_data): Install them.
13466
13467 2000-05-26 Kenichi Handa <handa@etl.go.jp>
13468
13469 * charset.c (init_charset_once): Set the table bytes_by_char_head
13470 correctly.
13471
13472 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
13473 the default fontset to what Emacs uses by default.
13474 (check_registry_encoding): This function deleted.
13475 (Fset_fontset_font): Remove the adhoc condition for the default
13476 fontset. Allow cons in FONTNAME.
13477
13478 * fns.c (map_char_table): Ignore char-table entries for
13479 charsets eight-bit-control and eight-bit-graphic.
13480
13481 2000-05-25 Ken Raeburn <raeburn@gnu.org>
13482
13483 * emacs.c (main): Initialize keyboard syms before initializing
13484 window code, so face names are available.
13485
13486 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
13487
13488 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
13489 of an anchor at the beginning of a shy-group.
13490
13491 2000-05-25 Gerd Moellmann <gerd@gnu.org>
13492
13493 * xdisp.c (handle_invisible_prop): Don't try to skip over
13494 invisible text if end of text is already reached.
13495
13496 2000-05-25 Dave Love <fx@gnu.org>
13497
13498 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
13499
13500 * coding.c (encode_eol): Add null statement after label.
13501
13502 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
13503
13504 * w16select.c (Fw16_set_clipboard_data): Fix the change from
13505 2000-05-20.
13506
13507 2000-05-25 Kenichi Handa <handa@etl.go.jp>
13508
13509 * ccl.c (ccl_driver): Fix previous change.
13510
13511 2000-05-25 Kenichi Handa <handa@etl.go.jp>
13512
13513 * coding.c (run_pre_post_conversion_on_str): Set point to the
13514 beginning of buffer before calling coding->post_read_conversion.
13515 (decode_coding_string): Give correct args to
13516 run_pre_post_conversion_on_str.
13517 (encode_coding_string): Likewise.
13518
13519 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
13520 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
13521 eight-bit-graphic correctly.
13522
13523 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
13524
13525 * fileio.c (Finsert_file_contents): Even if a file is not found,
13526 execute codes for setting up coding system. Call
13527 after-insert-file-functions unconditionally.
13528
13529 2000-05-24 Gerd Moellmann <gerd@gnu.org>
13530
13531 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
13532 BSD_PGRPS are not defined.
13533
13534 2000-05-24 Kenichi Handa <handa@etl.go.jp>
13535
13536 * charset.c (update_charset_table): Accept nil in LONG_NAME and
13537 DESCRIPTION.
13538 (syms_of_charset): Avoid building same strings.
13539
13540 2000-05-23 Gerd Moellmann <gerd@gnu.org>
13541
13542 * lread.c (Fload): Add a comment about the meaning of
13543 Vuser_init_file being t.
13544
13545 * puresize.h (BASE_PURESIZE): Increase to 675000.
13546
13547 * s/gnu-linux.h (setpgrp): Don't define it here because this
13548 prevents compilation on GNU/Linux systems with glib 2.2.
13549
13550 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
13551 as setpgid.
13552
13553 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
13554
13555 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
13556 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
13557 version.
13558 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
13559
13560 2000-05-23 Kenichi Handa <handa@etl.go.jp>
13561
13562 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13563
13564 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
13565
13566 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
13567
13568 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
13569
13570 2000-05-22 Kenichi Handa <handa@etl.go.jp>
13571
13572 * keyboard.c (read_char): Allow character codes 128..255 to be
13573 handled by input-method-function.
13574
13575 * insdel.c (adjust_markers_for_replace): Fix previous change.
13576 (adjust_after_replace): If PREV_TEXT is nil, call
13577 adjust_markers_for_insert, not adjust_markers_for_replace.
13578
13579 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
13580
13581 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
13582 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
13583 [HAVE_GRANDPT]: Define.
13584 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
13585
13586 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
13587 like SYSV_PTYS.
13588
13589 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
13590
13591 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
13592
13593 2000-05-20 Kenichi Handa <handa@etl.go.jp>
13594
13595 The following changes are to handle 8-bit characters in a
13596 multibyte buffer/string without facing with byte combining
13597 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
13598 eight-bit-graphic (for 0xA0..0xFF) are introduced.
13599
13600 * Makefile.in (fns.o): Depend on charset.h.
13601
13602 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
13603 convert it to unibyte.
13604 (make_string): Use parse_str_as_multibyte, not chars_in_text.
13605
13606 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
13607 apparent char boundary.
13608 (Fset_buffer_multibyte): Convert 8-bit characters in the range
13609 0x80..0x9F to/from multibyte form.
13610
13611 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
13612 to unibyte.
13613
13614 * callproc.c (Fcall_process): Always encode an argument string if
13615 it is multibyte. Setup src_multibyte and dst_multibyte members of
13616 process_coding properly.
13617
13618 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
13619 SPLIT_NON_ASCII_CHAR.
13620
13621 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
13622 as is.
13623 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
13624
13625 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
13626 (SPLIT_CHARACTER_SEQ): This macro deleted.
13627 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
13628 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
13629 and eight-bit-graphic.
13630 (char_to_string): Likewise. Signal an error for too large
13631 character code.
13632 (char_printable_p): Return 0 for 8-bit characters.
13633 (update_charset_table): Update iso_charset_table only when a final
13634 character is non-negative.
13635 (find_charset_in_text): Renamed from find_charset_in_str.
13636 Arguments and return value changed. Callers changed.
13637 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
13638 be -1 if CHARSET is used only internally.
13639 (Fmake_char_internal): Handle new charsets; eight-bit-control and
13640 eight-bit-graphic.
13641 (Fcharset_after): Simplified.
13642 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
13643 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
13644 (multibyte_chars_in_text): Simplified by assuming there's no
13645 invalid multibyte sequence.
13646 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13647 (str_as_unibyte): New functions.
13648 (Fstring): Simpified by assuming that byte combining never happens.
13649 (init_charset_once): Initialization for
13650 LEADING_CODE_8_BIT_CONTROL.
13651 (syms_of_charset): Intern and staticpro Qeight_bit_control and
13652 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
13653 eight-bit-control and eight-bit-graphic.
13654
13655 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
13656 (CHARSET_8_BIT_GRAPHIC): New macros.
13657 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
13658 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
13659 (CHARSET_REVERSE_CHARSET): Likewise.
13660 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
13661 eight-bit-graphic.
13662 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
13663 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
13664 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
13665 encounter an invalid multibyte sequence.
13666 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
13667 sequence is always valid.
13668 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
13669 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
13670 (CHAR_STRING): For 8-bit characters, call char_to_string.
13671 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
13672 multibyte sequence is always valid.
13673 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
13674 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13675 (str_as_unibyte): Extern them.
13676 (BCOPY_SHORT): Fix a bug.
13677 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
13678 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
13679 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
13680 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
13681
13682 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
13683 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
13684 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
13685 (EMIT_BYTES): New macros.
13686 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
13687 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
13688 macros deleted.
13689 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
13690 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
13691 check the validity of multibyte sequence.
13692 (decode_coding_emacs_mule): New function.
13693 (encode_coding_emacs_mule): New macro.
13694 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
13695 the source.
13696 (DECODE_ISO_CHARACTER): Just return a character code.
13697 (DECODE_COMPOSITION_START): Set coding->result instead of result.
13698 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
13699 EMIT_CHAR to produced decoded characters. Exit the loop only by
13700 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
13701 block here.
13702 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
13703 only position codes for an invalid character.
13704 (encode_designation_at_bol): Return new destination pointer. 5th
13705 arg DSTP is changed to DST.
13706 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
13707 from the source by ONE_MORE_CHAR. Don't handle the case of last
13708 block here.
13709 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
13710 macros deleted.
13711 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
13712 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
13713 TWO_MORE_BYTES to fetch a byte from the source.
13714 (encode_eol): Pay attention to coding->src_multibyte.
13715 (detect_coding, detect_eol): Preserve members src_multibyte and
13716 dst_multibyte.
13717 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
13718 (encoding_buffer_size): Set magnification to 3 for all coding
13719 systems that require encoding.
13720 (ccl_coding_driver): For decoding, be sure that the result is
13721 valid multibyte sequence.
13722 (decode_coding): Initialize coding->errors and coding->result.
13723 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
13724 and raw-text, always call decode_eol. Handle the case of last
13725 block here. If not coding->dst_multibyte, convert the resulting
13726 sequence to unibyte.
13727 (encode_coding): Initialize coding->errors and coding->result.
13728 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
13729 and raw-text, always call encode_eol. Handle the case of last
13730 block here.
13731 (shrink_decoding_region, shrink_encoding_region): Detect cases
13732 that we can't skip data more rigidly.
13733 (code_convert_region): Setup src_multibyte and dst_multibyte
13734 members of coding. For decoding, if the buffer is multibyte,
13735 convert the source sequence to unibyte in advance. For encoding,
13736 if the buffer is multibyte, convert the resulting sequence to
13737 multibyte afterward.
13738 (run_pre_post_conversion_on_str): New function.
13739 (code_convert_string): Deleted and divided into the following two.
13740 (decode_coding_string, encode_coding_string): New functions.
13741 (code_convert_string1, code_convert_string_norecord): Call one of
13742 above.
13743 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
13744 MAKE_NON_ASCII_CHAR.
13745 (Fset_terminal_coding_system_internal)
13746 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
13747 and dst_multibyte members.
13748 (init_coding_once): Initialize iso_code_class with new enum
13749 ISO_control_0 and ISO_control_1.
13750
13751 * coding.h (enum iso_code_class_type): Member ISO_control_code is
13752 devided into ISO_control_0 and ISO_control_1.
13753 (struct coding_system): New members src_multibyte, dst_multibyte,
13754 errors, and result. Delete member fake_multibyte.
13755 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
13756 nonzero.
13757 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
13758 nonzero.
13759
13760 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13761 (Faset): Likewise.
13762
13763 * editfns.c (Fformat): Be sure to convert 8-bit characters to
13764 multibyte form.
13765 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
13766 combining occurs.
13767 (Ftranspose_region): Delete codes for handling byte combining.
13768
13769 * fileio.c (Finsert_file_contents): Setup src_multibyte and
13770 dst_multibyte members of coding. On handling REPLACE on unibyte
13771 buffer, convert the result of decode_coding to unibyte. On
13772 inserting into a mutibyte buffer, always call code_convert_region.
13773 (e_write): Setup coding->src_multibyte according to the
13774 multibyteness of the source (buffer or string).
13775
13776 * fns.c (concat): Handle 8-bit characters correctly.
13777 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
13778 unibyte in the result.
13779 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
13780 valid multibyte form in the result.
13781 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13782 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
13783 return -1, signal an error.
13784 (base64_encode_1): New arg MULTIBYTE. Get each character by
13785 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
13786 character is found, return -1.
13787 (Fbase64_decode_region): Delete codes for handling byte-combining.
13788 Treat each decoded byte as a unibyte character.
13789 (Fbase64_decode_string): Return unibyte string.
13790 (Fcompare_strings, concat, string_byte_to_char): Use
13791 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
13792 FETCH_STRING_CHAR_ADVANCE.
13793 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13794 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
13795
13796 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
13797 SPLIT_NON_ASCII_CHAR.
13798 (fontset_ref_via_base, fontset_set): Likewise
13799
13800 * insdel.c (adjust_markers_for_record_delete): Deleted.
13801 (adjust_markers_for_insert): Argument changed. Caller changed.
13802 (adjust_markers_for_replace): Likewise.
13803 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
13804 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
13805 (copy_text): Delete unused local varialbe c_save. For converting
13806 to multibyte, be sure to make all 8-bit characters in valid
13807 multibyte form.
13808 (count_size_as_multibyte): Handle 8-bit characters correctly.
13809 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13810 (adjust_after_replace, replace_range, del_range_2)
13811 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
13812 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13813 (adjust_after_replace, replace_range, del_range_2) Delete codes for
13814 handling byte combining.
13815 (adjust_before_replace): Deleted.
13816
13817 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
13818 SPLIT_NON_ASCII_CHAR.
13819 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13820 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13821 (Fkey_description): Likewise.
13822
13823 * lread.c (read1): On reading multibyte string, be sure to make
13824 all 8-bit chararacters in valid multibyte form.
13825 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13826
13827 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
13828 unconditionally.
13829
13830 * process.c (Fstart_process): GCPRO current_dir before calling
13831 Ffind_operation_coding_system. Encode arguments here.
13832 (create_process): Don't encode arguments here. Setup
13833 src_multibyte and dst_multibyte members of struct coding.
13834 (read_process_output): Setup src_multibyte and dst_multibyte
13835 members of struct coding. If the output is to multibyte buffer,
13836 always decode the output of the process. Adjust the
13837 representation of 8-bit characters to the multibyteness of the output.
13838 (send_process): Setup coding->src_multibyte according to the
13839 multibyteness of the source.
13840
13841 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13842 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
13843 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
13844
13845 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
13846
13847 * w16select.c (Fw16_set_clipboard_data): Setup members
13848 src_multibyte and dst_multibyte of coding. Adjusted for the
13849 change for find_charset_in_str.
13850 (Fw16_get_clipboard_data): Likewise.
13851
13852 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
13853 dst_multibyte of coding.
13854 (x_to_w32_font): Likewise.
13855
13856 * w32select.c (Fw32_set_clipboard_data): Setup members
13857 src_multibyte and dst_multibyte of coding. Adjusted for the
13858 change for find_charset_in_str.
13859 (Fw32_get_clipboard_data): Likewise.
13860
13861 * xdisp.c (get_next_display_element): Handle 8-bit characters
13862 correctly.
13863 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
13864 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13865
13866 * xselect.c (selection_data_to_lisp_data): Setup members
13867 src_multibyte and dst_multibyte of coding. Adjusted for the
13868 change for find_charset_in_str.
13869 (lisp_data_to_selection_data): Likewise.
13870
13871 2000-05-19 Gerd Moellmann <gerd@gnu.org>
13872
13873 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
13874
13875 * dispextern.h (Vimage_types): Add extern declaration.
13876
13877 * xdisp.c (Vimage_types): Moved here from xfns.c.
13878 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
13879
13880 * xfns.c (Vimages_types): Moved to xdisp.c.
13881 (syms_of_xfns): Move `image-types' to xdisp.c.
13882
13883 * w32fns.c (Vimage_types): Removed.
13884 (syms_of_w32fns): Remove `image-types'.
13885
13886 2000-05-18 Kenichi Handa <handa@etl.go.jp>
13887
13888 * fns.c (map_char_table): Pay attention to character number of
13889 charset. Check the validity of charset at the first level. For
13890 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
13891 the default value.
13892
13893 * fontset.c: Include "buffer.h".
13894 (fs_load_font): If the face has fontset, record the face ID in
13895 that fontset.
13896 (Finternal_char_font): New function.
13897 (accumulate_font_info): New function.
13898 (Ffontset_info): Rewritten for the new fontset implementation.
13899 (syms_of_fontset): Register Vdefault_fontset in the first element
13900 of Vfontset_table. Include Vdefault_fontset in
13901 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
13902 function.
13903
13904 2000-05-16 Dave Love <fx@gnu.org>
13905
13906 * m/iris5d.h: Deleted -- unused.
13907
13908 2000-05-16 Gerd Moellmann <gerd@gnu.org>
13909
13910 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
13911 `invalid' instead of `illegal'.
13912
13913 * indent.c (Fmove_to_column): When ending within a tab, insert
13914 spaces first so that markers at the end of the tab get adjusted.
13915
13916 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
13917 buffer list that wasn't selected in that frame.
13918
13919 * filelock.c (get_boot_time): To obtain an 8 char file name, which
13920 is needed on mescaline, use a 2 char prefix, and call
13921 make_temp_name with second arg non-zero.
13922
13923 * fileio.c (make_temp_name): New function, extracted from
13924 Fmake_temp_name.
13925 (Fmake_temp_name): Use it.
13926
13927 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13928
13929 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
13930
13931 2000-05-15 Gerd Moellmann <gerd@gnu.org>
13932
13933 * Makefile.in (lisp): Add env.elc.
13934
13935 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
13936
13937 2000-05-12 Gerd Moellmann <gerd@gnu.org>
13938
13939 * search.c (Freplace_match): Handle case of `\N' in the
13940 replacement when there's no group N.
13941
13942 2000-05-11 Gerd Moellmann <gerd@gnu.org>
13943
13944 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
13945 of the message to message_dolog.
13946
13947 * keyboard.c (read_char): Don't clear current message for help
13948 events; let the code handling help events handle this. Change
13949 code detecting help events that should be ignored.
13950
13951 * xdisp.c (handle_single_display_prop): Don't try to set PT if
13952 we're interating over a string.
13953
13954 2000-05-09 Dave Love <fx@gnu.org>
13955
13956 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
13957 that offset before writing. Move gcpro region past call of
13958 Ffile_regular_p.
13959
13960 2000-05-04 Dave Love <fx@gnu.org>
13961
13962 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
13963
13964 2000-05-04 Gerd Moellmann <gerd@gnu.org>
13965
13966 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
13967 of inserted characters when BUF equals the current buffer, and PT
13968 is in front of or equal to FROM.
13969
13970 2000-05-03 Gerd Moellmann <gerd@gnu.org>
13971
13972 * xdisp.c (handle_single_display_prop): If display property value
13973 is invalid, or something not supported on the frame, restore
13974 iterator's position to what it was initially. Make sure to return
13975 0 for invalid and unsupported property values.
13976
13977 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
13978 that x_per_char_metric returns null.
13979
13980 2000-05-02 Gerd Moellmann <gerd@gnu.org>
13981
13982 * xterm.h (struct face): Add forward declaration.
13983 (struct image): Ditto.
13984 (image_ascent): Add prototype.
13985
13986 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
13987 (x_draw_image_relief, x_draw_image_foreground_1): Call function
13988 image_ascent instead of using IMAGE_ASCENT.
13989
13990 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
13991 (IMAGE_ASCENT): Removed.
13992
13993 * xfns.c (Qcenter): New variable.
13994 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
13995 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
13996 (image_ascent): New function.
13997 (lookup_image): Recognize `:ascent center'.
13998 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
13999 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
14000 (xbm_load): Don't set image's ascent here.
14001 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
14002 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
14003 check ascent values here.
14004 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
14005 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
14006 (syms_of_xfns): Initialize Qcenter.
14007
14008 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
14009 to the limits, increase the limits.
14010
14011 2000-05-01 Kenichi Handa <handa@etl.go.jp>
14012
14013 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
14014 Check Vfont_encoding_alist against the full name of the opened font.
14015
14016 2000-04-28 Gerd Moellmann <gerd@gnu.org>
14017
14018 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
14019 taller than the window.
14020
14021 2000-04-28 Kenichi Handa <handa@etl.go.jp>
14022
14023 * xfaces.c (realize_x_face): Fix the argument of the second
14024 xassert. BASE_FACE may not be a face for ASCII.
14025
14026 2000-04-27 Gerd Moellmann <gerd@gnu.org>
14027
14028 * print.c (print_object): Treat print-length < 0 as nil.
14029
14030 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
14031
14032 * s/freebsd.h (TERMCAP_OBJ): Removed.
14033 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
14034
14035 * lread.c (read1): Don't treat period followed by certain
14036 characters as symbol start.
14037
14038 * xfns.c (slurp_file): New function.
14039 (xbm_image_p): Handle case of in-memory XBM files.
14040 (xbm_scan): Rewritten to work on memory buffers instead of files.
14041 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
14042 Work on memory buffers instead of files. If DATA is null test
14043 if buffer looks like an in-memory XBM file.
14044 (xbm_load_image): Renamed from xbm_load_image_file. Work on
14045 memory buffers instead of files.
14046 (xbm_file_p): New function.
14047 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
14048
14049 * lread.c (end_of_file_error): New function.
14050 (read1): Call it instead of signaling `end-of-file' directly.
14051
14052 * print.c (print_error_message): Print data of `end-of-file'
14053 with Fprinc instead of Fprin1.
14054
14055 2000-04-26 Ken Raeburn <raeburn@gnu.org>
14056
14057 * window.c (freeze_window_start): Check that minibuffer scroll
14058 window isn't nil before extracting the window structure pointer
14059 from it.
14060
14061 * undo.c (record_delete): If we hit the end of the undo list, stop
14062 picking elements apart.
14063
14064 2000-04-26 Gerd Moellmann <gerd@gnu.org>
14065
14066 * xdisp.c (display_line): If lines are continued, restore
14067 iterator's ascent/descent information to the values before the
14068 first glyph not fitting on the line.
14069
14070 2000-04-25 Gerd Moellmann <gerd@gnu.org>
14071
14072 * xdisp.c (try_window_id) <all changes above window start>: Adjust
14073 positions in glyph matrix. Don't compute new window end positions.
14074
14075 * dispnew.c (increment_matrix_positions): Renamed from
14076 increment_glyph_matrix_buffer_positions.
14077 (increment_row_positions): Renamed from
14078 increment_glyph_row_buffer_positions.
14079
14080 * dispextern.h: Change names of renamed functions from dispnew.c
14081 in prototypes.
14082
14083 2000-04-24 Gerd Moellmann <gerd@gnu.org>
14084
14085 * fileio.c (Fdo_auto_save): Create directories for auto-save
14086 list file if necessary.
14087
14088 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
14089 from buffer or frame.
14090 (automatic_hscrolling_p): New variable.
14091 (hscroll_windows): Scroll windows horizontally only if automatic
14092 hscrolling is allowed.
14093 (syms_of_xdisp): New variable `automatic-hscrolling'.
14094
14095 * frame.h (struct frame): Add member extra_line_spacing.
14096
14097 * xfns.c (x_set_line_spacing): New function.
14098 (Fx_create_frame): Set line spacing from resources.
14099 (Qline_spacing): New variable.
14100 (syms_of_xfns): Initialize Qline_spacing.
14101
14102 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
14103
14104 * buffer.c (init_buffer_once): Handle extra_line_spacing.
14105 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
14106 (reset_buffer): Don't initialize extra2 and extra3. Initialize
14107 extra_line_spacing from default value.
14108 (init_buffer_once): Initialize default value of extra_line_spacing.
14109
14110 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
14111 and extra3.
14112
14113 * xterm.c (x_produce_glyphs): Remove reference to struct it's
14114 prompt_width. Add extra line spacing.
14115
14116 * term.c (produce_glyphs): Remove reference to struct it's
14117 prompt_width.
14118
14119 * dispextern.h (struct it): Remove member prompt_width, add
14120 extra_line_spacing.
14121
14122 2000-04-22 Gerd Moellmann <gerd@gnu.org>
14123
14124 * dispnew.c (update_frame_line): When writing a whole line, make
14125 sure cursor is in the right row afterwards, otherwise a use of
14126 capability `ch' in cmgoto might leave the cursor in the row below.
14127
14128 2000-04-21 Gerd Moellmann <gerd@gnu.org>
14129
14130 * lisp.h (struct Lisp_Buffer_Cons): Remove.
14131
14132 * keyboard.c (timer_check): Fix typo in comment.
14133
14134 2000-04-21 Kenichi Handa <handa@etl.go.jp>
14135
14136 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
14137 name change: ch -> character.
14138
14139 2000-04-20 Gerd Moellmann <gerd@gnu.org>
14140
14141 * keyboard.c (echo_message_buffer): New variable.
14142 (echo_now): Set echo_message_buffer to the echo area buffer used
14143 to display the echo.
14144 (cancel_echoing): Reset echo_message_buffer to nil.
14145 (read_char): Code rewritten that handles canceling an echo or
14146 echoing a dash, respectively.
14147
14148 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
14149 directory doesn't exist.
14150
14151 2000-04-19 Dave Love <fx@gnu.org>
14152
14153 * fns.c (syms_of_fns): Defsubr mapc.
14154 (concat): Don't allow numeric args.
14155 (Fconcat): Doc change.
14156
14157 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
14158
14159 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
14160 instead define end_match(1|2) more carefully.
14161 Use GET_CHAR_BEFORE_2 for `begline'.
14162
14163 2000-04-19 Gerd Moellmann <gerd@gnu.org>
14164
14165 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
14166 on 64-bit systems where NULL is defined as `0'.
14167
14168 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
14169 the `variable argument list' to make it work on Alpha.
14170
14171 * m/alpha.h (_LP64) [!_LP64]: Define.
14172 (ORDINARY_LINK): Define for NetBSD.
14173
14174 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
14175
14176 2000-04-19 Dave Love <fx@gnu.org>
14177
14178 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
14179 change.
14180
14181 * Makefile.in (LIBS): Don't use.
14182 (GETLOADAVG_OBJ): Define again.
14183 (otherobj): Add GETLOADAVG_OBJ.
14184
14185 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
14186
14187 2000-04-18 Gerd Moellmann <gerd@gnu.org>
14188
14189 * lread.c (read_filtered_event): Cancel and start busy cursor.
14190
14191 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
14192 that the per-character metrics may be null.
14193
14194 2000-04-17 Gerd Moellmann <gerd@gnu.org>
14195
14196 * buffer.c (clone_per_buffer_values): New function.
14197 (Fmake_indirect_buffer): Add optional argument CLONE. Call
14198 clone_per_buffer_values if CLONE is not nil.
14199
14200 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
14201
14202 2000-04-16 Dave Love <fx@gnu.org>
14203
14204 * Makefile.in: Remove obsolete localcpp stuff.
14205 (GETLOADAVG_OBJ): Don't define.
14206 (obj): Move LIBOBJS...
14207 (otherobj): ... to here.
14208 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
14209 whitespace-only lines after the continuation (Irix).
14210
14211 2000-04-14 Gerd Moellmann <gerd@gnu.org>
14212
14213 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
14214
14215 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
14216
14217 2000-04-14 Dave Love <fx@gnu.org>
14218
14219 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
14220 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
14221 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
14222 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
14223 NLIST_STRUCT.
14224
14225 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
14226 autoconfiscated HAVE_GETLOADAVG.
14227
14228 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
14229 BROKEN_MKTIME.
14230
14231 2000-04-14 Gerd Moellmann <gerd@gnu.org>
14232
14233 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
14234 (fill_in_lock_file_name): Avoid existing files that aren't links.
14235
14236 2000-04-14 Dave Love <fx@gnu.org>
14237
14238 * Makefile.in (LIBS, LIBOBJS): New variable.
14239 (INTERVAL_SRC): Convert to make variable.
14240 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
14241 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
14242 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
14243 add LIBOBJS.
14244 (SOME_MACHINE_OBJECTS): Remove interval stuff.
14245 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
14246 (shortlisp): Add facemenu, float-sup, frame.
14247 (SOME_MACHINE_LISP): Remove them from here.
14248 (LIBES): Change unused LDLIBS to autoconf LIBS.
14249
14250 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
14251
14252 2000-04-14 Kenichi Handa <handa@etl.go.jp>
14253
14254 * composite.c (update_compositions): If FROM and TO are not in a
14255 valid range, do nothing.
14256
14257 2000-04-13 Gerd Moellmann <gerd@gnu.org>
14258
14259 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
14260
14261 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
14262
14263 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
14264 as TERMCAP_OBJ.
14265
14266 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14267
14268 * fileio.c (a_write): Remove redundant semi-colons.
14269 (e_write): Return -1 if failed to write all the data.
14270 This fixes the changes made at 1999-12-15.
14271
14272 2000-04-12 Dave Love <fx@gnu.org>
14273
14274 * fns.c (mapcar1): Test for null vals to support mapc.
14275 (Fmapc): New function.
14276
14277 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
14278
14279 * msdos.c (NUM_MOUSE_BUTTONS): Define.
14280 (IT_frame_up_to_date): Support the buffer local value of
14281 cursor-type, if defined.
14282
14283 2000-04-10 Dave Love <fx@gnu.org>
14284
14285 * editfns.c (preceding-char, following-char): Doc fix.
14286
14287 2000-04-10 Ken Raeburn <raeburn@gnu.org>
14288
14289 * Makefile.in (temacs): Revert 2000-03-12 change.
14290
14291 2000-04-10 Jason Rumney <jasonr@gnu.org>
14292
14293 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
14294
14295 2000-04-10 Gerd Moellmann <gerd@gnu.org>
14296
14297 * xdisp.c (setup_echo_area_for_printing): Choose an echo
14298 area buffer, if it's not set up yet.
14299
14300 * indent.c (compute_motion): Set immediate_quit.
14301
14302 2000-04-09 Gerd Moellmann <gerd@gnu.org>
14303
14304 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
14305 (realize_tty_face): Suppress boldness if colors are the inverse of
14306 the default colors, and tty_suppress_bold_inverse_default_colors_p
14307 is set.
14308 (Ftty_suppress_bold_inverse_default_colors): New function.
14309 (syms_of_xfaces): Defsubr it.
14310
14311 * buffer.c (Frestore_buffer_modified_p): New function.
14312 (syms_of_buffer): Defsubr it.
14313
14314 2000-04-08 Ken Raeburn <raeburn@gnu.org>
14315
14316 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
14317 charset id (int) argument, not a charset (Lisp_Object).
14318
14319 * coding.h (code_convert_string): Declare.
14320 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
14321 object, as the fourth argument to code_convert_string.
14322
14323 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
14324 (Fset_fontset_font): Use EQ to compare lisp objects.
14325
14326 2000-04-05 Ken Raeburn <raeburn@gnu.org>
14327
14328 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
14329 a pointer that looks like a lisp object.
14330 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
14331 zero, instead see whether it's an integer object, since they can't
14332 have intervals.
14333 (GET_INTERVAL_OBJECT): Simply assign to the destination.
14334
14335 * dispnew.c (allocate_matrices_for_frame_redisplay)
14336 (direct_output_forward_char): Use X(U)INT and make_number as needed
14337 to convert between (unsigned) int values and lisp integers.
14338 * keyboard.c (read_key_sequence): Likewise.
14339 * lread.c (substitute_object_recurse): Likewise.
14340 * fns.c (concat, hash_lookup, hash_remove): Likewise.
14341 * minibuf.c (do_completion, Fminibuffer_complete_word)
14342 (Fminibuffer_completion_help): Likewise.
14343 * term.c (produce_special_glyphs): Likewise.
14344
14345 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
14346 * print.c (print_preprocess, print_object): Likewise.
14347
14348 * search.c (compile_pattern): Use NILP when checking for nil.
14349
14350 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
14351 __OPTIMIZE__]: Provide a GNU C macro version that handles
14352 lisp-object unions.
14353 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
14354 field, to better cope with ENABLE_CHECKING and calls that modify a
14355 Lisp_Object using its old value.
14356
14357 2000-04-04 Gerd Moellmann <gerd@gnu.org>
14358
14359 * window.c (compare_window_configurations): Signal an error
14360 if parameters C1 or C2 aren't window configurations.
14361
14362 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
14363 AFTER_POTENTIAL_GC calls around calls to functions that can
14364 signal an error and thus invoke the debugger.
14365
14366 2000-04-03 Gerd Moellmann <gerd@gnu.org>
14367
14368 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
14369 an error if decoding fails.
14370
14371 * keyboard.c (lispy_mouse_names): Variable removed.
14372 (Vlispy_mouse_stem): New variable.
14373 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
14374 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
14375 for any mouse button number. Increase size of mouse_syms and
14376 button_down_location as needed. Call modify_event_symbol with
14377 different arguments.
14378 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
14379 Call modify_event_symbol with different arguments.
14380 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
14381 for any button number. Call modify_event_symbol with different
14382 arguments.
14383 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
14384 Accept a string for NAME_ALIST_OR_STEM.
14385
14386 * lisp.h (larger_vector): Add prototype.
14387
14388 * fns.c (larger_vector): Make externally visible.
14389
14390 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
14391
14392 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
14393
14394 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
14395 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
14396 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
14397 we are between str1 and str2.
14398 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
14399 (PATFETCH): Use `TRANSLATE'.
14400 (PATFETCH_RAW): Fetch multibyte char if applicable.
14401 (PATUNFETCH): Remove.
14402 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
14403 When writing a char, write it directly into the pattern buffer rather
14404 than going needlessly through a temp char-array.
14405 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
14406 multibyte magic and remove the useless `#ifdef emacs'.
14407 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
14408 buffer.
14409
14410 * regex.h (struct re_pattern_buffer): Make field `multibyte'
14411 conditional on `emacs'.
14412
14413 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
14414
14415 2000-04-01 Ken Raeburn <raeburn@gnu.org>
14416
14417 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
14418 non-union-type versions of XMARK and friends here, because XMARK
14419 and friends won't work on an integer field if NO_UNION_TYPE is not
14420 defined.
14421 (make_number): Define as a function if it's not defined as a macro.
14422
14423 * composite.c (run_composite_function): Use NILP when checking for nil.
14424 (syms_of_composite): Delete local var NARGS, pass an int as first
14425 argument to Fmake_hash_table.
14426
14427 * editfns.c (text_property_stickiness): Use NILP to test
14428 Lisp_Object boolean value.
14429 (Fmessage_or_box): Don't use NILP to test int variable.
14430 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
14431 problems reading from and changing the same lisp value in an
14432 XSETSTRING call.
14433
14434 2000-04-01 Gerd Moellmann <gerd@gnu.org>
14435
14436 * term.c (TN_no_color_video): New variable.
14437 (term_init): Intitialize TN_no_color_video.
14438 (enum no_color_bit): New enumeration.
14439 (MAY_USE_WITH_COLORS_P): New macro.
14440 (turn_on_face): Use it to determine if attributes may be used
14441 combined with colors.
14442
14443 2000-04-01 Ken Raeburn <raeburn@gnu.org>
14444
14445 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
14446 with int lvalues via casts; instead, just yield lisp object lvalues.
14447 (enlarge_window): Variable sizep now points to Lisp_Object. Use
14448 proper accessor macros.
14449 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
14450 (grow_mini_window): Fix typo getting int value of root->height.
14451
14452 * xdisp.c (compute_string_pos): Fix order of arguments to
14453 string_pos_nchars_ahead.
14454 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
14455 count arg to variable-arg routines like Frun_hook_with_args and
14456 Fformat.
14457 (back_to_previous_visible_line_start)
14458 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
14459 fixed-arg routines like Fget_char_property and Fmake_string.
14460 (reconsider_clip_changes): Use XINT when comparing integer lisp
14461 objects, or passing them as int arguments.
14462 (mark_window_display_accurate, insert_left_trunc_glyphs)
14463 (append_space, extend_face_to_end_of_line): Use make_number when
14464 storing or passing integer values as lisp objects.
14465 (set_cursor_from_row, highlight_trailing_whitespace): Use
14466 INTEGERP, not implicit test against zero, for glyph object.
14467 (try_window_id): Don't use make_number when we want an int value.
14468
14469 * xfaces.c (xlfd_symbolic_value): Make last argument a
14470 Lisp_Object, to be consistent with callers.
14471 (Fbitmap_spec_p): Use XINT to get numeric value of height.
14472 (lface_hash): Apply XFASTINT to lisp values before folding in.
14473
14474 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
14475 fill in window width and height. Pass an int, not a lisp object,
14476 as first arg to Finsert.
14477
14478 2000-04-01 Gerd Moellmann <gerd@gnu.org>
14479
14480 * xfaces.c (realize_basic_faces): Block input while realizing
14481 the faces.
14482
14483 * keyboard.c (lispy_mouse_names): Add additional mouse names.
14484
14485 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
14486
14487 2000-03-31 Gerd Moellmann <gerd@gnu.org>
14488
14489 * xterm.c (x_produce_glyphs): When displaying unibyte text
14490 or ASCII, handle case that per-char metric is null.
14491
14492 2000-03-30 Ken Raeburn <raeburn@gnu.org>
14493
14494 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
14495
14496 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
14497 (XSUBR, XBUFFER): Verify correct object type before returning
14498 pointer, using eassert.
14499 * frame.h (XFRAME): Likewise.
14500
14501 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
14502 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
14503 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
14504 * data.c (set_internal): Likewise.
14505 * dispextern.h (WINDOW_WANTS_MODELINE_P)
14506 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
14507 * fileio.c (auto_save_1): Likewise.
14508 * insdel.c (check_markers): Likewise.
14509 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
14510 * undo.c (record_insert): Likewise.
14511 * vmsproc.c (child_sig): Likewise.
14512 * window.c (unshow_buffer, window_loop): Likewise.
14513 * xterm.c (x_erase_phys_cursor): Likewise.
14514
14515 2000-03-30 Gerd Moellmann <gerd@gnu.org>
14516
14517 * xfns.c (free_image_cache): Free the cache structure itself
14518 last, after all its members have been freed.
14519
14520 * lisp.h (xstrdup): Add prototype.
14521
14522 * alloc.c (xstrdup): Moved here from xfaces.c.
14523 (allocating_for_lisp): Variable removed.
14524 (lisp_malloc): Block input around the calls to malloc and mem_insert.
14525
14526 * xfaces.c (realize_tty_face): Use find_symbol_value instead
14527 of Fsymbol_value.
14528 (xstrdup): Moved to alloc.c.
14529
14530 2000-03-29 Ken Raeburn <raeburn@gnu.org>
14531
14532 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
14533
14534 * emacs.c (main): Fix sense of no-loadup test.
14535
14536 * config.in (ENABLE_CHECKING): Undef.
14537
14538 * lisp.h (struct interval): Replace "parent" field with a union of
14539 interval pointer and Lisp_Object; add new bitfield to use as
14540 discriminant. Change other flag fields to bitfields.
14541 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
14542 is defined and the supplied test fails, print a message and abort.
14543 (eassert): New macro. Use CHECK to provide an assert-like facility.
14544
14545 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
14546 pointers; abort if the value looks like a lisp object.
14547 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
14548 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
14549 Modify for new interval parent definition.
14550
14551 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
14552 (UNMARK_BALANCE_INTERVALS): Update references that need an
14553 addressable lisp object in the interval structure.
14554 (die): New function.
14555 (suppress_checking): New variable.
14556
14557 * intervals.c (interval_start_pos): Just return 0 if there's no
14558 parent object.
14559
14560 2000-03-29 Gerd Moellmann <gerd@gnu.org>
14561
14562 * lread.c (read1): Accept `.' (period) as symbol start like in CL
14563 and earlier Emacs versions.
14564
14565 * keyboard.c (Ftop_level): Cancel busy-cursor.
14566
14567 * eval.c (call_debugger): Cancel busy-cursor.
14568
14569 2000-03-29 Kenichi Handa <handa@etl.go.jp>
14570
14571 * search.c (Freplace_match): Adjust multibyteness of the current
14572 buffer and NEWTEXT. Free allocated memory before signaling an error.
14573
14574 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
14575
14576 * regex.c (analyse_first): New function obtained by ripping out most
14577 of re_compile_fastmap and generalizing it a little bit so that it
14578 can also just return whether a given (sub)pattern can match the empty
14579 string or not.
14580 (regex_compile): Use `analyse_first' to decide whether the loop-check
14581 needs to be done or not for *, +, *? and +? (the loop check is costly
14582 for non-greedy repetition).
14583 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
14584
14585 2000-03-28 Dave Love <fx@gnu.org>
14586
14587 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
14588
14589 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
14590
14591 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
14592
14593 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
14594 an expression.
14595 (enum re_opcode_t): Update description of succeed_n.
14596 (PATFETCH): Always define.
14597 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
14598 operators, char classes, shy-groups and intervals).
14599 Optimize special cases of intervals so as to only use succeed_n and
14600 jump_n when really needed.
14601 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
14602 that we don't have to handle the special cases any more.
14603 Simplify on_failure_jump handling as well.
14604
14605 2000-03-28 Jason Rumney <jasonr@gnu.org>
14606
14607 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
14608
14609 2000-03-27 Gerd Moellmann <gerd@gnu.org>
14610
14611 * s/freebsd.h (GC_SETJMP_WORKS): Define.
14612
14613 * s/msdos.h (GC_SETJMP_WORKS): Define.
14614
14615 * alloc.c (mark_maybe_object): New function.
14616 (mark_memory): Use it.
14617 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
14618 (setjmp_tested_p, longjmp_done): New variables.
14619 (test_setjmp): New function.
14620 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
14621 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
14622
14623 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
14624 to DEC_TEXT_POS and INC_TEXT_POS.
14625
14626 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
14627 with parameter MULTIBYTE_P.
14628
14629 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
14630
14631 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
14632 buffers because it looks for multibyte character byte sequences
14633 which don't exist in unibyte text.
14634
14635 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
14636
14637 * xfaces.c (register_color, unregister_color, unregister_colors)
14638 [DEBUG_X_COLORS]: New functions.
14639 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
14640
14641 * xfns.c (x_set_cursor_color): Get color reference counts right.
14642
14643 * xterm.c (x_copy_color): New function.
14644 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
14645
14646 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
14647 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
14648 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
14649 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
14650 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
14651 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
14652 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
14653 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
14654 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
14655 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
14656
14657 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
14658 names for handling per-buffer variables.
14659
14660 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
14661 instead of MAX_BUFFER_LOCAL_VARS.
14662 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
14663
14664 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
14665
14666 * xfns.c (x_specified_cursor_type): New function.
14667 (x_set_cursor_type): Use it.
14668
14669 * buffer.h (struct buffer): Add cursor_type.
14670
14671 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
14672
14673 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
14674 (print_partial_compiled_pattern, re_compile_fastmap):
14675 Handle new opcode.
14676 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
14677 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
14678 executing it as well as when popping it off the stack to find infinite
14679 loops in non-greedy repetition operators.
14680
14681 2000-03-26 Gerd Moellmann <gerd@gnu.org>
14682
14683 * doc.c (Qfunction_documentation): New variable.
14684 (syms_of_doc): Initialize Qfunction_documentation.
14685 (Fdocumentation): If FUNCTION is a symbol with non-nil
14686 `function-documentation' property, return a documentation derived
14687 from that.
14688
14689 * buffer.c (syms_of_buffer): Add default-cursor-type.
14690 (init_buffer_once): Don't let cursor_type have a local value
14691 in every buffer.
14692
14693 * xterm.c (x_display_and_set_cursor): Choose cursor depending
14694 on buffer-local value of cursor_type.
14695 (x_draw_bar_cursor): Add parameter WIDTH.
14696
14697 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
14698 (init_buffer_once): Set default cursor_type value to t.
14699 Mark cursor_type as local everywhere.
14700 (syms_of_buffer): New per-buffer variable cursor-type.
14701
14702 * buffer.h (struct buffer): Remove member local_var_flags,
14703 add local_flags.
14704 (MAX_BUFFER_LOCAL_VARS): New macro.
14705 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
14706 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
14707 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
14708 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
14709
14710 * print.c (print_object): Use new macros for per-buffer variables.
14711
14712 * category.c (Fset_category_table): Use new macros for per-buffer
14713 variables.
14714
14715 * buffer.c (buffer_permanent_local_flags): Make a char array.
14716 (max_buffer_local_idx): New variable.
14717 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
14718 for new handling of per-buffer variables.
14719 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
14720 (init_buffer_once): Initialize per-buffer vars differently.
14721 Set max_buffer_local_idx.
14722
14723 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
14724 variables.
14725
14726 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
14727
14728 * data.c (do_symval_forwarding, store_symval_forwarding)
14729 (find_symbol_value, set_internal, default_value, Fset_default)
14730 (Fkill_local_variable, Flocal_variable_p): Use new macros for
14731 per-buffer variables.
14732
14733 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
14734
14735 2000-03-24 Gerd Moellmann <gerd@gnu.org>
14736
14737 * xterm.c (x_term_init): Unblock input around call1 of
14738 Qvendor_specific_keysyms.
14739
14740 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
14741 (find_defun_start): Consider an open parenthesis in column 0
14742 a defun start only if open_paren_in_column_0_is_defun_start is set.
14743 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
14744
14745 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
14746
14747 * eval.c (Fautoload): Add entry in load-history (if after dump).
14748 * lread.c (load-history): Update docstring.
14749
14750 2000-03-24 Gerd Moellmann <gerd@gnu.org>
14751
14752 * indent.c (Fvertical_motion): Always use the current buffer.
14753 Temporarily change the window's buffer, if necessary.
14754
14755 2000-03-23 Gerd Moellmann <gerd@gnu.org>
14756
14757 * xterm.c (fast_find_position): Make sure not to consider rows
14758 not visible in the window.
14759
14760 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
14761
14762 * regex.c (enum syntaxcode): Provide default for non-Emacs.
14763 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
14764
14765 2000-03-22 Jason Rumney <jasonr@gnu.org>
14766
14767 * w32menu.c (single_submenu): Set help string to NULL if none.
14768 (w32_menu_show): Set help string correctly.
14769 (add-menu-item): Set help string in MIIM_DATA for menu item.
14770 Load SetMenuItemInfoA explicitly.
14771 (w32_menu_display_help): New function.
14772
14773 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
14774 (QCdata): Moved to xdisp.c.
14775
14776 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
14777 (Vw32_charset_to_codepage_alist): Removed.
14778 (Vw32_charset_info_alist): New variable.
14779 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
14780 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
14781 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
14782 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
14783 with TODO comment.
14784 (w32_codepage_for_font): Use Vw32_charset_info_alist.
14785 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
14786 Define Vw32_charset_info_alist and w32_charset symbols.
14787
14788 2000-03-22 Jason Rumney <jasonr@gnu.org>
14789
14790 * makefile.nt (w32bdf.obj): Update dependencies.
14791
14792 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
14793
14794 * w32fns.c: Include fontset.h after dispextern.h.
14795 (Fx_create_frame): Do not create fontset.
14796 (w32_load_system_font): Doc fix.
14797 (Fx_close_connection): Free full_name if it is not shared.
14798
14799 * w32term.c: Include fontset.h after dispextern.h.
14800 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
14801 Callers updated.
14802 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
14803 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
14804 (w32_font_is_double_byte): New function, needs body.
14805 (x_append_glyph): Set glyph->glyph_not_available_p.
14806 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14807 it->charset. If it->multibyte_p is zero and it->c is a multibyte
14808 character, convert it to a unibyte character.
14809 (struct glyph_string): Delete member `charset'.
14810 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
14811 calculating it is found.
14812 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14813 the case that per char metric is not available correctly.
14814 (x_fill_glyph_string): Handle the case that the specific glyph is
14815 not available correctly.
14816 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14817 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14818 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14819 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14820 fontset. Don't call FS_LOAD_FONT.
14821
14822 2000-03-22 Ken Raeburn <raeburn@gnu.org>
14823
14824 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
14825 (INT_LISPLIKE): New macro.
14826 (NULL_INTERVAL_P): Use it.
14827 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
14828 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
14829 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
14830
14831 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
14832 explicit references to "parent" field of struct interval and
14833 associated unclean type conversions.
14834 * intervals.c (create_root_interval, root_interval, rotate_right)
14835 (rotate_left, balance_possible_root_interval, split_interval_right)
14836 (split_interval_left, interval_start_pos, find_interval)
14837 (next_interval, previous_interval, update_interval)
14838 (adjust_intervals_for_insertion, delete_node, delete_interval)
14839 (adjust_intervals_for_deletion, merge_interval_right)
14840 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
14841 (copy_intervals_to_string): Likewise.
14842 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
14843 Likewise.
14844 * syntax.c (update_syntax_table): Likewise.
14845
14846 * intervals.c (reproduce_tree_obj): New function, like
14847 reproduce_tree but takes a Lisp_Object for the parent. Declare
14848 with prototype.
14849 (graft_intervals_into_buffer): Use it when appropriate.
14850 (reproduce_tree): Declare with prototype.
14851 (balance_possible_root_interval): Check that the parent is a lisp
14852 object before trying to examine its type.
14853
14854 2000-03-22 Gerd Moellmann <gerd@gnu.org>
14855
14856 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
14857 as strings only if both are known to be strings.
14858
14859 * s/openbsd.h (LIBS_TERMCAP): Undef.
14860
14861 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
14862
14863 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
14864 definitions for non-Emacs compilation.
14865 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
14866 outside of `#ifdef emacs'.
14867 (print_partial_compiled_pattern): Update.
14868 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
14869 (re_compile_fastmap): Merge handling of charset and charset_not (for
14870 emacs and non-emacs compilation as well).
14871 Similarly for (not)categoryspec and (not)syntaxspec.
14872 Don't use the fastmap when reaching `anychar' since the added
14873 complexity is not justified.
14874 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
14875 and (not)syntaxspec. Merge (not)categoryspec.
14876
14877 2000-03-22 Kenichi Handa <handa@etl.go.jp>
14878
14879 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
14880 (FACE_FOR_CHAR): Define them differently for the configuration of
14881 --without-x.
14882
14883 2000-03-21 Dave Love <fx@gnu.org>
14884
14885 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
14886 doc string.
14887
14888 2000-03-21 Gerd Moellmann <gerd@gnu.org>
14889
14890 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
14891 (lface_fully_specified_p): Don't check contents of
14892 LFACE_FONT_INDEX because that attribute is optional.
14893 (realize_x_face): Remove now unwarranted xassert.
14894
14895 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
14896
14897 The following changes are to make font selection based on
14898 characters, not charset. In addition, they recover fontset
14899 facilities while utilizing the new font selection mechanism.
14900
14901 * Makefile.in (fontset.o): Depend on dispextern.h.
14902
14903 * alloc.c (mark_face_cache): Don't mark face->registry.
14904
14905 * dispextern.h (struct glyph): New member glyph_not_available_p.
14906 Use 22 bits for face_id.
14907 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
14908 (struct face): Delete member registry, new member ascii_face.
14909 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
14910 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
14911 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
14912 (struct it): Delete member charset, new member glyph_not_available_p.
14913
14914 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
14915 (struct fontset_info, struct fontset_data): Structs removed.
14916 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
14917 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
14918 (fs_load_font, fs_query_fontset): Adjusted for new argument.
14919 (fs_free_face_fontset, fontset_font_pattern)
14920 (face_suitable_for_char_p, face_for_char)
14921 (make_fontset_for_ascii_face): Extern them.
14922 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
14923 (FS_LOAD_FACE_FONT): New macro.
14924
14925 * fontset.c: All codes rewritten or adjusted for the change of
14926 fontset implementation. Now fontset is represented by char table.
14927 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
14928 Variables removed.
14929 (my_strcasecmp): Function removed.
14930 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
14931 (AREF, ASIZE): New macros.
14932 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
14933 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
14934 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
14935 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
14936 (fontset_id_valid_p, font_family_registry, fontset_name)
14937 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
14938 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
14939 New functions.
14940 (fs_load_font): New arg FACE. Caller changed.
14941 (fs_query_fontset): Argument changed. Caller changed.
14942 (Fquery_fontset): call fs_query_fontset.
14943 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
14944 Functions removed.
14945 (clear_fontset_elements, check_registry_encoding)
14946 (check_fontset_name): New functions.
14947 (syms_of_fontset): Set char-table-extra-slots property of fontset
14948 to 3. Staticpro and initialize Vfontset_table and
14949 Vdefault_fontset. Defsubr fontset_font and fontset_list.
14950
14951 * frame.h (struct frame): Member `fontset_data' removed.
14952 (FRAME_FONTSET_DATA): Macro removed.
14953
14954 * frame.c (make_frame): Don't allocate f->fontset_data.
14955 (Fdelete_frame): Don't free f->fontset_data.
14956
14957 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
14958
14959 * xdisp.c (charset_at_position): Function removed.
14960 (init_iterator): Don't set member charset of struct `it'.
14961 (handle_face_prop, reseat_to_string, set_iterator_to_next)
14962 (next_element_from_display_vector, insert_left_trunc_glyphs):
14963 Likewise.
14964 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
14965 FACE_FOR_CHARSET.
14966 (get_next_display_element, append_space)
14967 (extend_face_to_end_of_line): Likewise.
14968
14969 * xfaces.c (Qx_charset_registry, Vface_default_registry):
14970 Variables removed.
14971 (clear_font_table, frame_update_line_height, load_face_font):
14972 Adjusted for the change of fontset implementation.
14973 (load_face_fontset_font): Function removed.
14974 (pixel_point_size): New function.
14975 (font_list): Argument type changed. Caller changed.
14976 (LFACE_FONT): New macro.
14977 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
14978 (set_lface_from_font_name): Type of arg FONTNAME is changed to
14979 Lisp_Object. Determine the font name by actually loading a font
14980 by the specified pattern. Set LFACE_FONT (lface) to the specified
14981 pattern. Even if a font is not found, don't try alternatives.
14982 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
14983 (set_font_frame_param): If `font' is specified in lface, use it.
14984 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
14985 (lface_same_font_attributes_p): Likewise.
14986 (make_realized_face): Arguent changed. Caller changed. Set
14987 face->ascii_face to face itself.
14988 (free_realized_face): Free face->fontset if face is for ASCII.
14989 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
14990 (deduce_unibyte_registry, x_charset_registry): Functions removed.
14991 (free_realized_multibyte_face): New function.
14992 (lookup_face, lookup_named_face, lookup_derived_face): Argument
14993 changed. Caller changed.
14994 (try_font_list): Argument type changed.
14995 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
14996 (choose_face_font): Argument changed. Handle fontset properly.
14997 (choose_face_fontset_font): Function removed.
14998 (realize_default_face, realize_named_face): Don't remove the
14999 former face here.
15000 (realize_face): Argument changed. Caller changed. Remove face
15001 with the arg former_face_id in advance. Load font for the new face.
15002 (realize_x_face): Argument changed. Caller changed. For a
15003 multibyte character, share fontset with base_face. For a single
15004 byte character, make a new realized fontset. Don't load a font here.
15005 (realize_tty_face): Argument changed. Caller changed.
15006 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
15007 (face_at_buffer_position): Don't check multibyte_p for returning
15008 DEFAULT_FACE_ID.
15009 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
15010 FACE_SUITABLE_FOR_CHARSET_P.
15011 (syms_of_xfaces): Remove code for Qx_charset_registry and
15012 Vface_default_registry.
15013
15014 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
15015 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
15016 (x_per_char_metric): Don't try FONT->default_char. Even if
15017 pcm->width is zero, glyph bits may exist.
15018 (x_encode_char): Always initialize char2b->byte1.
15019 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
15020 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
15021 (x_append_glyph): Set glyph->glyph_not_available_p.
15022 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
15023 it->charset. Handle the case that per char metric is not
15024 available. If it->multibyte_p is zero and it->c is a multibyte
15025 character, convert it to a unibyte character.
15026 (struct glyph_string): Delete member `charset'.
15027 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
15028 the case that per char metric is not available correctly.
15029 (x_fill_glyph_string): Handle the case that the specific glyph is
15030 not available correctly.
15031 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
15032 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
15033 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
15034 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
15035 fontset. Don't call FS_LOAD_FONT.
15036
15037 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
15038 (x_create_tip_frame): Likewise.
15039 (Fx_close_connection): Free full_name of font_info.
15040
15041 * fns.c (optimize_sub_char_table): New function.
15042 (Foptimize_char_table): New function.
15043 (syms_of_fns): Defsubr Soptimize_char_table.
15044
15045 2000-03-20 Gerd Moellmann <gerd@gnu.org>
15046
15047 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
15048 only if buffer is displayed in some window.
15049
15050 * xdisp.c (handle_single_display_prop): Initialize local `value'.
15051 (try_window_reusing_current_matrix): Don't call scroll run
15052 function if run's current and desired position are the same;
15053 this prevents cursor flickering.
15054
15055 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
15056
15057 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
15058
15059 * regex.c (RE_STRING_CHAR): New macro.
15060 (GET_CHAR_AFER_2): Remove.
15061 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
15062 (enum re_opcode_t): Remove on_failure_jump_exclusive.
15063 (print_partial_compiled_pattern, re_compile_fastmap)
15064 (re_match_2_internal): Remove on_failure_jump_exclusive.
15065 (regex_compile): Turn optimizable P+ loops into PP*, so that the
15066 optimization only need to work for * (ie. can use of_keep_string_jump).
15067 Remove the special case for .*\n since it is now covered by the general
15068 optimization.
15069 (re_search_2): Don't bother with `room'.
15070 (skip_one_char): New function.
15071 (skip_noops): Simplify since `memory' is not needed any more.
15072 (mutually_exclusive_p): Restructure slightly to use `switch' and
15073 add handling for "all" remaining cases.
15074 (re_match_2_internal): Change on_failure_jump_smart to use
15075 on_failure_keep_string_jump (and redirect the end-of-loop jump)
15076 rather than on_failure_jump_exclusive.
15077
15078 2000-03-19 Gerd Moellmann <gerd@gnu.org>
15079
15080 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
15081 number of bits per RGB because it's everywhere used as the depth
15082 of the visual.
15083
15084 * term.c (calculate_costs): Remove code dealing with X frames.
15085
15086 2000-03-19 Richard M. Stallman <rms@gnu.org>
15087
15088 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
15089
15090 2000-03-18 Gerd Moellmann <gerd@gnu.org>
15091
15092 * lread.c (read_integer): Unread the last char not consumed.
15093
15094 2000-03-17 Gerd Moellmann <gerd@gnu.org>
15095
15096 * xterm.c (x_update_window_cursor): Don't update in frames
15097 which are in the process of being deleted.
15098
15099 2000-03-16 Gerd Moellmann <gerd@gnu.org>
15100
15101 * Makefile.in (mostlyclean): Add `*.core'.
15102 (clean): Add `bootstrap-emacs'.
15103
15104 * lread.c (read_integer): New function.
15105 (read1): Support read syntax #o, #x, #b, #r.
15106
15107 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
15108
15109 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
15110 make sure POINTER_TO_OFFSET gives the same value before and after
15111 PREFETCH. Use `dfail' to guarantee "atomic" matching.
15112 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
15113 (debug): Now only active if > 0 rather than if != 0.
15114 (DEBUG_*): Update for the new meaning of `debug'.
15115 (print_partial_compiled_pattern): Add missing `succeed' case. Use
15116 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
15117 in `succeed_n', `jump_n' and `set_number_at'.
15118 (store_op1, store_op2, insert_op1, insert_op2)
15119 (at_begline_loc_p, at_endline_loc_p): Add prototype.
15120 (group_in_compile_stack): Move to after its arg's types are
15121 declared and add a prototype.
15122 (PATFETCH): Define in terms of PATFETCH_RAW.
15123 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
15124 (QUIT): Redefine as a nop except for NTemacs.
15125 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
15126 indentation of the greedy-op and shy-group code.
15127 (at_(beg|end)line_loc_p): Fix argument's types.
15128 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
15129 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
15130 (MATCHING_IN_FIRST_STRING): Remove.
15131 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
15132 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
15133 QUIT unconditionally.
15134
15135 2000-03-15 Gerd Moellmann <gerd@gnu.org>
15136
15137 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
15138 a sole completion.
15139
15140 * process.c (send_process): Add a hint that the function
15141 can call Lisp code to its comment.
15142
15143 * lread.c (load_dangerous_libraries): New variable.
15144 (Vbytecomp_version_regexp): New variable.
15145 (safe_to_load_p): New function.
15146 (Fload): Handle files not compiled with Emacs specially.
15147 (syms_of_lread): New Lisp variable load-dangerous-libraries.
15148
15149 2000-03-14 Gerd Moellmann <gerd@gnu.org>
15150
15151 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
15152
15153 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
15154 support functions only if HAVE_X11R6_XIM is defined.
15155 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
15156
15157 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
15158
15159 * xfns.c (X_I18N_INHIBITED): Don't define.
15160 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
15161 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
15162
15163 * config.in (HAVE_X_I18N): Moved here from xterm.h.
15164 (HAVE_X11R6_XIM): Define.
15165
15166 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
15167
15168 * xterm.c (x_term_init): Add support for X resource `synchronous'.
15169 If set, call XSynchronize.
15170
15171 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
15172
15173 * regex.c: Declare a new type `re_char' used throughout the code
15174 for the string char type. It's `const unsigned char' to match the
15175 rest of Emacs. Consistently make sure all pointers to strings use
15176 it and make sure all pointers into the pattern use `unsigned char'.
15177 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
15178 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
15179 code duplication.
15180
15181 * charset.h (GET_CHAR_AFTER_2): Remove.
15182 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
15183
15184 2000-03-12 Ken Raeburn <raeburn@gnu.org>
15185
15186 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
15187 variable before the invocation of YMF_PASS_LDFLAGS, in case both
15188 of them try to use backquotes.
15189
15190 2000-03-12 Dave Love <fx@gnu.org>
15191
15192 * unexelf.c: Restore changes of 1999-10-19.
15193 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
15194 fix its type and alignment; copy it from current process.
15195
15196 2000-03-12 Gerd Moellmann <gerd@gnu.org>
15197
15198 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
15199 has been found. Fix bug not computing timer's predecessor.
15200
15201 * fileio.c (Fread_file_name): Handle case that DIR contains a
15202 file name.
15203
15204 * window.c (Fsave_window_excursion): Doc fix.
15205
15206 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
15207
15208 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
15209
15210 * msdos.c (vga_installed): New function, code moved from
15211 dos_set_window_size.
15212 (Qbar, Qcursor_type, outside_cursor): New variables.
15213 (syms_of_msdos): Intern and staticpro them.
15214 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
15215 shape used outside Emacs when called for the first time.
15216 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
15217 cursor shape used outside Emacs.
15218 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
15219 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
15220 type has changed.
15221 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
15222 parameters specify the cursor. Make qreverse a global
15223 variable (renamed to Qreverse).
15224
15225 2000-03-09 Gerd Moellmann <gerd@gnu.org>
15226
15227 * fns.c (Fy_or_n_p): Cancel busy-cursor.
15228
15229 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
15230
15231 This is a big redesign of failure-stack and register handling, prompted
15232 by bugs revealed when trying to add shy-groups. Overall, what happened
15233 is that loops are now structured a little differently, groups can be
15234 shy and the code is a little simpler.
15235
15236 * regex.h: Update the copyright.
15237 (RE_SHY_GROUPS): New value.
15238 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
15239 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
15240
15241 * regex.c (enum re_opcode_t): Remove jump_past_alt,
15242 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
15243 on_failure_jump_(exclusive, loop and smart). Also fix the comment
15244 for (start|stop)_memory since they now only take one argument (the
15245 second has becomes unnecessary).
15246 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
15247 (print_compiled_pattern): Use %ld to printf long ints and flush to
15248 make debugging a little easier.
15249 (union fail_stack_elt): Make the integer unsigned.
15250 (struct fail_stack_type): Add a `frame' element.
15251 (INIT_FAIL_STACK): Init `frame' as well.
15252 (POP_PATTERN_OP): New macro for re_compile_fastmap.
15253 (DEBUG_PUSH, DEBUG_POP): Remove.
15254 (NUM_REG_ITEMS): Remove.
15255 (NUM_NONREG_ITEMS): Adjust.
15256 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
15257 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
15258 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
15259 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
15260 New macros.
15261 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
15262 address pushed is not the destination of the jump but the source
15263 of it instead.
15264 (NUM_FAILURE_ITEMS): Remove.
15265 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
15266 registers before the actual failure point). Don't hardcode any
15267 meaning for str==NULL anymore.
15268 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
15269 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
15270 Remove.
15271 (REG_UNSET_VALUE): Use NULL (why not?).
15272 (compile_range): Remove declaration since it doesn't exist.
15273 (struct compile_stack_elt_t): Remove inner_group_offset.
15274 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
15275 (regex_grow_registers): Remove dead code.
15276 (FIXUP_ALT_JUMP): New macro.
15277 (regex_compile): Add shy-groups Change loops to use
15278 on_failure_jump_smart&jump instead of
15279 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
15280 initial (dummy_failure_)jump. Remove c1_base (looks like unused
15281 variable to me). Use `jump' instead of `jump_past_alt' and don't
15282 bother with push_dummy_failure in alternatives since it is now
15283 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
15284 emacs' for (re)allocating the stack.
15285 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
15286 from loop when bufp->can_be_null rather than jumping to `done'.
15287 Avoid jumping backwards so as to ensure termination. Use
15288 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
15289 backreferences. Remove dead code in handling of `anychar'.
15290 (skip_noops, mutually_exclusive_p): New functions taken from the
15291 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
15292 improve mutually_exclusive_p to handle ".+\n".
15293 (lowest_active_reg, highest_active_reg)
15294 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
15295 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
15296 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
15297 variables. Push register (in `start_memory') on the stack rather
15298 than storing it in old_reg(start|end). Remove the cycle detection
15299 from `stop_memory', replaced by the use of on_failure_jump_loop
15300 for greedy loops. Add code for the new on_failure_jump_<foo>.
15301 Remove ad-hoc code in `on_failure_jump' to push more registers in
15302 the case of a loop. Take out code from `maybe_pop_jump' into
15303 separate functions and adapt it to the semantics of
15304 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
15305 and push_dummy_failure. Remove dummy_failure handling and
15306 handling of `failures to jump to on_failure_jump' (this last one
15307 was already dead code, it seems).
15308 (group_match_null_string_p, alt_match_null_string_p)
15309 (common_op_match_null_string_p): Remove.
15310
15311 2000-03-08 Dave Love <fx@gnu.org>
15312
15313 * config.in: Don't depend on __STDC__ for volatile.
15314 Add POINTER_TYPE, PTR, PROTOTYPES.
15315
15316 * hftctl.c, strftime.c: Use PROTOTYPES.
15317 * eval.c (find_handler_clause): Likewise.
15318
15319 * mem-limits.h: Use POINTER_TYPE.
15320
15321 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
15322 (memory_warnings): Declare using POINTER_TYPE.
15323
15324 2000-03-08 Gerd Moellmann <gerd@gnu.org>
15325
15326 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
15327
15328 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
15329
15330 * xfns.c: Remove obsolete code in #if 0.
15331 (Fx_focus_frame): New function.
15332
15333 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15334
15335 * coding.c (coding_category_name): Add coding-category-utf-8,
15336 coding-category-utf-16-be, coding-category-utf-16-le.
15337 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
15338 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
15339 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
15340 (detect_coding_utf_8): New function.
15341 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
15342 UTF_16_LOW_SURROGATE_P): New macros.
15343 (detect_coding_utf_16): New function
15344 (detect_coding_mask): When priorities are specified, skip any
15345 categories that have `nil' coding-system. Fix bug of returning
15346 wrong mask when PRIORITIES is specified and detect_coding_XXX()
15347 returns a mask not set in PRIORITIES.
15348 (detect_eol_type_in_2_octet_form): New function.
15349 (detect_eol): selects detect_eol_type_XXX to call according to
15350 cooding->category_idx.
15351 (detect_coding_system): Remove `nil' coding-system in the result.
15352 (Fupdate_coding_systems_internal): Update all coding-categories.
15353
15354 * coding.h (CODING_CATEGORY_IDX_UTF_8)
15355 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
15356 New macros.
15357 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
15358 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
15359 (CODING_CATEGORY_IDX_UTF_16_LE)
15360 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
15361 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
15362 (CODING_CATEGORY_MASK_ANY): Include the above macros.
15363 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
15364
15365 2000-03-07 Gerd Moellmann <gerd@gnu.org>
15366
15367 * doc.c (Fdocumentation_property): If value is not a string,
15368 and doesn't refer to etc/DOC, evaluate it to obtain a string.
15369
15370 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
15371 close the display with XtCloseDisplay. This caused a bus error
15372 on OpenWindows.
15373
15374 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
15375 complete but not unique.
15376
15377 2000-03-06 Gerd Moellmann <gerd@gnu.org>
15378
15379 * process.c (send_process): Remove local variable `procname' that
15380 might become invalid when a GC happens. Instead, access the
15381 process name slot directly.
15382
15383 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
15384 orig_height if set.
15385
15386 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
15387 orig_height if set.
15388
15389 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
15390
15391 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
15392 glyph matrices have been freed.
15393
15394 2000-03-05 Gerd Moellmann <gerd@gnu.org>
15395
15396 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
15397 (bootstrap-temacs): Set LC_ALL to C like for temacs.
15398
15399 * xfns.c (QCdata): Moved to xdisp.c.
15400
15401 * xdisp.c (QCdata): Moved here from xfns.c.
15402 (syms_of_xdisp): Initialize QCdata.
15403
15404 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
15405
15406 * window.c (coordinates_in_window): Use
15407 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
15408 FRAME_INTERNAL_BORDER_WIDTH.
15409
15410 * xdisp.c (try_window_id): Recompute unchanged information if
15411 it is obviously invalid.
15412
15413 * xterm.c (x_term_init): Create a colormap if not using the
15414 default visual.
15415
15416 * xterm.h (select_visual): Change prototype.
15417
15418 * xfns.c (select_visual): Rewritten. Recognize user-specified
15419 visual classes.
15420 (visual_classes): New variable.
15421
15422 2000-03-04 Gerd Moellmann <gerd@gnu.org>
15423
15424 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
15425 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
15426 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
15427 (x_decode_color): Don't handle allocation of white and black specially.
15428 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
15429 XtNcolormap resources.
15430 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
15431 (Fx_create_frame): Initialize color members of x_output structure.
15432 (xpm_load): Pass colormap to XPM lib.
15433
15434 * xfaces.c (x_free_colors): Access colormap of frame using
15435 FRAME_X_COLORMAP. Be paranoid about freeing black and white
15436 when default colormap is used.
15437
15438 * xterm.c (x_term_init): Set Colormap member of x_display_info
15439 structure. Copy colormap if resource `privateColormap' is
15440 specified (PseudoColor only).
15441 (x_setup_relief_color): Access colormap of frame using
15442 FRAME_X_COLORMAP.
15443
15444 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
15445 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
15446
15447 2000-03-04 Jason Rumney <jasonr@gnu.org>
15448
15449 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
15450 other non-platform-specific equivalents.
15451 [WINDOWSNT]: Include w32term.h, fontset.h and define X
15452 specific functions and macros as their w32 equivalents where
15453 non-platform-specifics are not available.
15454 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
15455 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
15456 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
15457 (frame_update_line_height): Use macros to access f->output_data.
15458 (defined_color): Remove FIXME comments; fixed.
15459 (x_face_list_fonts, prepare_face_for_display): Put X specifics
15460 into #ifdef blocks. Add WINDOWSNT blocks.
15461 (Fx_list_fonts): Use macros for accessing font data.
15462 (set_lface_from_font_name): Different default fonts for X and
15463 WINDOWSNT.
15464 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
15465 scalable for backward compatibility.
15466 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
15467 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
15468
15469 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
15470 syms_of_w32faces.
15471
15472 * makefile.nt (w32faces.obj): Remove.
15473 (xfaces.obj): Add.
15474
15475 2000-03-03 Jason Rumney <jasonr@gnu.org>
15476
15477 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
15478 correct parameters.
15479
15480 2000-03-03 Ken Raeburn <raeburn@gnu.org>
15481
15482 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
15483 standard ELF definitions here if the system header does not.
15484
15485 2000-03-03 Gerd Moellmann <gerd@gnu.org>
15486
15487 * xterm.c (PER_CHAR_METRIC): Removed.
15488 (x_per_char_metric_1, x_default_char): New functions.
15489 (x_per_char_metric): If font's default char is invalid, return
15490 metrics of a suitably chosen usable default char.
15491 (x_draw_glyph_string_foreground): If font has an invalid default
15492 char, replace occurrences of unprintable chars with a suitably
15493 chosen usable default char.
15494
15495 2000-03-02 Gerd Moellmann <gerd@gnu.org>
15496
15497 * xterm.c (note_mouse_highlight): Return quickly if frame's
15498 glyph matrices have been freed.
15499
15500 * dispnew.c (free_glyphs): Block input while freeing matrices.
15501
15502 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
15503
15504 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
15505 Use x_free_colors.
15506
15507 * dispextern.h (x_free_colors): Add prototype.
15508
15509 * xfaces.c (x_free_colors): New function.
15510 (unload_color, free_face_colors): Use it.
15511
15512 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15513
15514 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
15515
15516 * window.c [MSDOS]: Include msdos.h.
15517
15518 2000-03-02 Dave Love <fx@gnu.org>
15519
15520 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
15521
15522 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
15523 set C_OPTIMIZE_SWITCH for gcc.
15524
15525 2000-03-02 Kenichi Handa <handa@etl.go.jp>
15526
15527 * coding.c (coding_save_composition): Be sure to allocate
15528 composition data area in coding even if there's no composition in
15529 the current run.
15530
15531 2000-03-01 Jason Rumney <jasonr@gnu.org>
15532
15533 * w32term.c: Equivalent changes to those made to xterm.c on
15534 2000-02-25 and 2000-02-24.
15535
15536 * w32fns.c: Equivalent changes to those made to xfns.c on
15537 2000-02-25 and 2000-02-21.
15538
15539 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
15540 correct line-end convention is followed.
15541
15542 * w32menu.c [HAVE_BOXES]: Remove #undef.
15543 (single_keymap_panes): Remove code for simulating checkmarks.
15544 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
15545 Remove code for drawing simulated checkmarks.
15546 (w32_menu_show): make unibyte help string correctly.
15547 (add_menu_item): draw standard Windows checkmarks. Draw radio
15548 buttons as radio buttons if possible.
15549
15550 2000-03-01 Gerd Moellmann <gerd@gnu.org>
15551
15552 * sysdep.c (start_of_text): Don't define this function for NetBSD
15553 with ELF.
15554
15555 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
15556 Don't define.
15557 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
15558 (LINKER): Don't undef if __NetBSD__ is defined.
15559
15560 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
15561
15562 * fileio.c [__NetBSD__]: Define `unix'.
15563
15564 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
15565
15566 2000-02-29 Gerd Moellmann <gerd@gnu.org>
15567
15568 * atimer.c (start_atimer): Don't abort when timers are stopped.
15569 (append_atimer_lists): New function.
15570 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
15571 arbitrary lists of stopped and running atimers.
15572
15573 * atimer.c (cancel_atimer): Handle canceling an atimer when
15574 some timers are stopped.
15575
15576 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
15577 after canceling it.
15578
15579 * fns.c (maybe_resize_hash_table): Handle case of new size
15580 coming out as being the same as old size.
15581
15582 2000-02-27 Jason Rumney <jasonr@gnu.org>
15583
15584 * makefile.nt: Add atimer.h to dependencies.
15585 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
15586 * w32console.c: Only disable window system features for dispextern.h
15587 (initialize_w32_display): Build a display info for the console.
15588 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
15589 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
15590 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
15591 as 2 button mice.
15592 * w32gui.h (struct W32FontStruct): Revert last change after change
15593 to xdisp.c.
15594 * w32menu.c (single_submenu): Set up help string.
15595 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
15596 (w32_dialog_show): Set up help string.
15597 * w32term.c (w32_display_info_for_display): Remove unused function.
15598 (w32_draw_bitmap): Use pre-built bitmaps.
15599 (w32_initialize_display_info): New function to initialize parts of
15600 display info that are common to both GUI and console frames.
15601 (w32_term_init): Use w32_initialize_display_info. Do not set
15602 Vw32_num_mouse_buttons here, as it is not called for console
15603 frames. Build bitmaps for indicating truncated lines etc.
15604 (x_delete_display): Destroy pre-built bitmaps.
15605 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
15606 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
15607
15608 2000-02-27 Dave Love <fx@gnu.org>
15609
15610 * lisp.h: Add a bunch of prototypes.
15611
15612 2000-02-26 Kenichi Handa <handa@etl.go.jp>
15613
15614 * keyboard.c (read_char): Set `usec' correctly.
15615
15616 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15617
15618 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
15619 `lambda', set reg[RRR] to the map index.
15620 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
15621 reg[RRR] to 0. Otherwise, set it to -1.
15622
15623 2000-02-25 Gerd Moellmann <gerd@gnu.org>
15624
15625 * emacs.c (main): Remove code snippet commented out with `//'.
15626
15627 2000-02-25 Richard M. Stallman <rms@gnu.org>
15628
15629 * fileio.c (Ffile_symlink_p): If result starts with a `/'
15630 and contains a `:', prepend `/:'.
15631
15632 * window.c (select_window_1): If selected_window is nil,
15633 don't "swap out" the buffer's point.
15634 (Fset_window_configuration): Set selected_window to nil
15635 before calling Fselect_window.
15636 (unshow_buffer): Don't set point in buffer from window's point
15637 if another more recently selected window also shows the buffer.
15638
15639 2000-02-25 Gerd Moellmann <gerd@gnu.org>
15640
15641 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
15642
15643 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
15644 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
15645 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
15646 New variables.
15647 (DEFAULT_BUSY_CURSOR_DELAY): New define.
15648 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
15649 (hide_busy_cursor): New functions.
15650 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
15651
15652 * minibuf.c (read_minibuf): Cancel busy-cursor.
15653
15654 * keyboard.c (command_loop_1): Call start_busy_cursor before
15655 Fcommand_execute and cancel_busy_cursor after it.
15656 (timer_check): Remove busy-cursor code.
15657 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
15658 cursor timer.
15659
15660 * process.c (wait_reading_process_input): Remove busy-cursor code.
15661
15662 * eval.c (Fsignal): Call cancel_busy_cursor instead of
15663 Fx_hide_busy_cursor.
15664
15665 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
15666 Remove prototyoes.
15667 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
15668
15669 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
15670
15671 * xterm.c (XTread_socket): Remove busy-cursor code.
15672
15673 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
15674 (build_frame_matrix_from_leaf_window): Put code handling
15675 glyph row's not being a slice of a frame row in #if 0.
15676 (sync_window_with_frame_matrix_rows): New function.
15677 (frame_row_to_window): New function.
15678 (mirror_line_dance): Handle copies between windows.
15679
15680 * lread.c (Fload): Use `xfree' instead of `free'.
15681 (init_obarray): Use `xmalloc' instead of `malloc'.
15682
15683 * window.c (Fset_window_buffer): Set WINDOW to the window
15684 after decoding.
15685 (coordinates_in_window): Take frame's internal border width
15686 into account.
15687
15688 2000-02-24 Gerd Moellmann <gerd@gnu.org>
15689
15690 * xterm.c (x_display_and_set_cursor): Display cursor of
15691 non-selected windows depending on the setting of
15692 cursor_in_non_selected_windows.
15693
15694 * xdisp.c (cursor_in_non_selected_windows): New variable.
15695 (syms_of_xdisp): DEFVAR_BOOL it.
15696
15697 2000-02-23 Gerd Moellmann <gerd@gnu.org>
15698
15699 * data.c (Fstring_to_number): If number is greater than what
15700 fits into an integer, return a float.
15701
15702 * eval.c (specbind): Remove references to
15703 keyword_symbols_constant_flag.
15704
15705 * data.c (keyword_symbols_constant_flag): Removed.
15706 (Fmakunbound, set_internal, syms_of_data): Remove references to
15707 keyword_symbols_constant_flag.
15708
15709 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
15710
15711 2000-02-23 Kenichi Handa <handa@etl.go.jp>
15712
15713 * syntax.c (multibyte_syntax_as_symbol): New variable.
15714 (syms_of_syntax): Declare it as a Lisp variable.
15715 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
15716 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
15717 nonzero, treat all multibyte characters as symbol.
15718 (init_syntax_once): Give syntax `word' to all multibyte characters.
15719
15720 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15721
15722 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
15723 a deleted frame.
15724
15725 2000-02-21 Gerd Moellmann <gerd@gnu.org>
15726
15727 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
15728
15729 * xfns.c (x_window_to_frame, x_any_window_to_frame)
15730 (x_non_menubar_window_to_frame): Check the busy-cursor window.
15731
15732 2000-02-21 Dave Love <fx@gnu.org>
15733
15734 * frame.c (Vmouse_position_function): New variable.
15735 (Fmouse_position): Use it.
15736 (syms_of_frame): Install it.
15737
15738 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
15739
15740 2000-02-20 Gerd Moellmann <gerd@gnu.org>
15741
15742 * fileio.c (Finsert_file_contents): Unbind the binding of
15743 standard-output done by temp_output_buffer_setup.
15744
15745 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
15746 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
15747 (specbind, unbind_to): Handle most common case of non-constant
15748 symbol with trivial value specially.
15749
15750 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
15751
15752 2000-02-20 Richard M. Stallman <rms@gnu.org>
15753
15754 * data.c (Fmake_variable_buffer_local): Doc fix.
15755 Init found_for_buffer to 0.
15756 (Fmake_variable_frame_local): If the variable has already
15757 been buffer-local, set the check_frame field.
15758
15759 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
15760
15761 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
15762 produced for CODING_MODE_LAST_BLOCK requires.
15763
15764 2000-02-18 Dave Love <fx@gnu.org>
15765
15766 * keyboard.c (echo_keystrokes): Remove declaration.
15767 (Vecho_keystrokes) New variable.
15768 (read_char, record_menu_key, read_key_sequence): Use it to allow
15769 use of float value.
15770 (syms_of_keyboard): Change Vecho_keystrokes declaration.
15771
15772 * lread.c: Undef feature selection macros before defining.
15773
15774 2000-02-18 Gerd Moellmann <gerd@gnu.org>
15775
15776 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
15777 for symbols other than the symbol in question.
15778
15779 2000-02-17 Dave Love <fx@gnu.org>
15780
15781 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
15782
15783 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15784
15785 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
15786
15787 * alloc.c (enum mem_type): Compile unconditionally.
15788
15789 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
15790
15791 * xfaces.c (tty_defined_color): Don't return faulire indication
15792 for unspecified-fg and unspecified-bg pseudo-colors.
15793
15794 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15795
15796 * alloc.c (mark_object): Don't mark symbol names in pure space.
15797 (gc_sweep): Don't unmark symbol names in pure space.
15798
15799 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15800 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15801 [GC_MARK_STACK]: New defines.
15802 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
15803 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
15804
15805 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
15806
15807 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
15808 allocate_buffer instead of xmalloc.
15809
15810 * alloc.c (toplevel): Include setjmp.h.
15811 (PURE_POINTER_P): New define.
15812 (enum mem_type) [GC_MARK_STACK]: New enumeration.
15813 (Vdead) [GC_MARK_STACK]: New variable.
15814 (lisp_malloc): Add parameter TYPE, call mem_insert if
15815 GC_MARK_STACK is defined.
15816 (allocate_buffer): New function.
15817 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
15818 (free_float) [GC_MARK_STACK]: Set type to Vdead.
15819 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
15820 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
15821 (MEM_NIL) [GC_MARK_STACK]: New define.
15822 (struct mem_node) [GC_MARK_STACK]: New structure.
15823 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
15824 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
15825 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
15826 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
15827 (mark_stack) [GC_MARK_STACK]: New functions.
15828 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
15829 (clear_marks): Removed.
15830 (gc_sweep): Set free conses' car, free floats' type, free
15831 symbols' function to Vdead. Use lisp_free to free buffers.
15832 (init_alloc_once): Initialize Vdead.
15833 (survives_gc_p): Return non-zero for pure objects.
15834
15835 * alloc.c: Add comments throughout the file.
15836
15837 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
15838 that unblocks alarms.
15839
15840 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
15841 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
15842 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
15843
15844 * frame.c (make_frame): Set frame initiallly to `garbaged'.
15845
15846 2000-02-17 Kenichi Handa <handa@etl.go.jp>
15847
15848 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
15849 avoid infinite error signaling. Allocate sufficient memory for
15850 eol_str in the case that eoltype is Lisp_Int.
15851
15852 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
15853
15854 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
15855 depends on the previous behavior.
15856
15857 2000-02-16 Gerd Moellmann <gerd@gnu.org>
15858
15859 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
15860
15861 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15862
15863 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
15864
15865 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
15866 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
15867 write(2).
15868
15869 2000-02-15 Richard M. Stallman <rms@gnu.org>
15870
15871 * data.c (set_internal): Don't make variable buffer-local
15872 if within a let-binding for the same buffer.
15873 (let_shadows_buffer_binding_p): New function.
15874
15875 * eval.c (specbind): For buffer-local value,
15876 record the current buffer also.
15877 (unbind_to): Cope with that change.
15878
15879 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15880
15881 * window.c (Fsave_window_excursion): Doc fix.
15882
15883 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
15884
15885 * syntax.c (back_comment): Make sure we only consider comment-starters
15886 of the relevant style and return -1 in case of a failure to find the
15887 beginning of the comment.
15888 (Fforward_comment): If back_comment fails, go back to the position just
15889 after the comment-end.
15890 (scan_lists): Add comment describing a very minor bug.
15891
15892 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15893
15894 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
15895 `completion-regexp-list' in the docstring.
15896
15897 2000-02-14 Dave Love <fx@gnu.org>
15898
15899 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
15900
15901 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15902
15903 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
15904 to Emacs' syntax. Also fix the comment about set/not-set meanings
15905 since Emacs syntax is not the value 0 any more.
15906 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
15907 since it's now part of RE_SYNTAX_EMACS.
15908
15909 2000-02-12 Dave Love <fx@gnu.org>
15910
15911 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
15912
15913 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15914
15915 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
15916
15917 2000-02-12 Dave Love <fx@gnu.org>
15918
15919 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
15920
15921 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
15922 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
15923 * s/hpux.h: Don't define HAVE_VFORK.
15924
15925 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
15926
15927 * s/nextstep.h: Don't define HAVE_ALLOCA.
15928
15929 * config.in: Add vfork bits.
15930
15931 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15932
15933 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
15934 unwind function to undo the effect of stopping atimers.
15935
15936 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
15937
15938 * atimer.c (stopped_atimers): New variable.
15939 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
15940 New functions.
15941
15942 * atimer.h (stop_other_atimers, run_all_atimers)
15943 (unwind_stop_other_atimers): Add function prototypes.
15944
15945 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
15946
15947 2000-02-11 Ken Raeburn <raeburn@gnu.org>
15948
15949 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
15950 library may depend on jpeg.
15951 (atimer.o): Depends on atimer.c.
15952
15953 2000-02-11 Kenichi Handa <handa@etl.go.jp>
15954
15955 * insdel.c (del_range_1): Call update_compositions.
15956 (del_range_both): Call update_compositions just once..
15957
15958 2000-02-10 Dave Love <fx@gnu.org>
15959
15960 * xfns.c (create_frame_xic): Fix initialization of automatic
15961 aggregates for pcc.
15962
15963 2000-02-09 Kenichi Handa <handa@etl.go.jp>
15964
15965 * ccl.c (CCL_MAKE_CHAR): New macro.
15966 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
15967 registers by CCL_MAKE_CHAR before calling translate_char.
15968 <CCL_TranslateCharacterConstTbl> Likewise.
15969
15970 2000-02-08 Dave Love <fx@gnu.org>
15971
15972 * lread.c (__EXTENSIONS__): Define.
15973
15974 2000-02-08 Gerd Moellmann <gerd@gnu.org>
15975
15976 * puresize.h (BASE_PURESIZE): Increase to 650000.
15977
15978 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15979
15980 * msdos.c (XMenuActivate): Turn off the cursor after displaying
15981 the help message.
15982
15983 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15984
15985 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
15986 md, mh, mb, mr, and me to the fake termcap entry.
15987
15988 2000-02-06 Ken Raeburn <raeburn@gnu.org>
15989
15990 * sound.c (sound_cleanup): Don't call device close routine if the
15991 function pointer is null.
15992
15993 2000-02-06 Andrew Innes <andrewi@gnu.org>
15994
15995 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
15996 around image definitions and prototypes.
15997 (gamma_correct) [WINDOWSNT]: New prototype.
15998
15999 * w32term.c (x_make_frame_visible): Replace call to
16000 input_poll_signal with poll_for_input.
16001
16002 * window.c [WINDOWSNT]: Include w32term.h.
16003
16004 * xdisp.c [WINDOWSNT]: Include w32term.h.
16005
16006 * makefile.nt: Add dependencies on w32gui.h.
16007 (OBJ1): Include atimer.obj.
16008 ($(BLD)\atimer.obj): New dependency rule.
16009
16010 * w32.c (sigmask): New function (does nothing).
16011 (sigunblock): Ditto.
16012
16013 * frame.c [WINDOWSNT]: Include w32term.h.
16014
16015 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
16016
16017 * lread.c (syms_of_lread): Fix literal newlines.
16018
16019 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
16020 the string constant limit (2048 bytes) in MSVC.
16021 (main): Ditto.
16022
16023 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
16024
16025 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
16026 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
16027 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
16028 dispatch the event.
16029
16030 2000-02-04 Dave Love <fx@gnu.org>
16031
16032 * fileio.c: Remove some unused vars.
16033 (_GNU_SOURCE): Define (for euidaccess).
16034
16035 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
16036
16037 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
16038 gcpro1, gcpro2.
16039 (read_minibuf): Deal with allow_props correctly.
16040
16041 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
16042
16043 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
16044
16045 2000-02-03 Ken Raeburn <raeburn@gnu.org>
16046
16047 * search.c (compile_pattern): If a cache entry has a nil regexp,
16048 fill in that entry instead of clobbering a previously cached
16049 string regexp.
16050
16051 2000-02-02 Ken Raeburn <raeburn@gnu.org>
16052
16053 * puresize.h (BASE_PURESIZE): Increase to 610000.
16054
16055 2000-02-02 Gerd Moellmann <gerd@gnu.org>
16056
16057 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
16058 can GC.
16059
16060 2000-02-02 Kenichi Handa <handa@etl.go.jp>
16061
16062 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
16063 instead of incrementing ic directly.
16064 <CCL_WriteExprConst> Likewise.
16065 <ccl_set_expr>: Set ic to jump_address.
16066
16067 * fileio.c (e_write): Fix the handling of
16068 CODING_FINISH_INSUFFICIENT_SRC.
16069
16070 2000-02-01 Dave Love <fx@gnu.org>
16071
16072 * editfns.c (Fpropertize): Doc fix.
16073
16074 * process.c (Fstart_process): Doc fix.
16075
16076 * eval.c: Fix various doc strings not to duplicate information
16077 from help-manyarg-func-alist.
16078
16079 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
16080
16081 * doc.c (Vhelp_manyarg_func_alist): New variable.
16082 (Fdocumentation): Use it.
16083 (syms_of_doc): Define it.
16084
16085 2000-01-31 Gerd Moellmann <gerd@gnu.org>
16086
16087 * xterm.c (xim_open_dpy): Remove unused local variable.
16088
16089 * emacs.c (USAGE): Use term `display options' instead of `X options'.
16090
16091 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
16092 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
16093
16094 * fns.c (sweep_weak_table): New function.
16095 (sweep_weak_hash_tables): Use it. Keep on marking until there
16096 is no more change.
16097
16098 2000-01-30 Gerd Moellmann <gerd@gnu.org>
16099
16100 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
16101 that XTread_socket does not crash by trying to call XNoOp on a
16102 closed display.
16103
16104 2000-01-30 Jason Rumney <jasonr@gnu.org>
16105
16106 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16107 Change selected_frame to SELECTED_FRAME ().
16108 (w32_console_mouse_position): Remove #ifndef MULE from around
16109 `insist' parameter.
16110
16111 * makefile.nt: Remove dosfns.obj.
16112
16113 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
16114
16115 * w32fns.c (w32_defined_color): Check for valid frame before
16116 applying gamma correction. Eliminate dependency on frame elsewhere.
16117 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
16118 (w32_to_x_font): Use resx and resy not height_in and width_in.
16119 (x_to_w32_font): Doc fix.
16120 (xlfd_strip_height): New function to strip and return font height.
16121 (w32_font_match): Compare height separately from rest of xlfd
16122 spec, using xlfd_strip_height.
16123
16124 * w32term.c (w32_term_init): Swap resx and height_in, resy and
16125 width_in. Use w32_defined_color in place of defined_color.
16126
16127 * w32faces.c: Merge more of DOS and X specifics in preparation for
16128 merge with xfaces.c.
16129 (defined_color): Remove FIXME comment.
16130 (tty_color_name): Provide w32-specific function.
16131 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
16132
16133 * w32console.c (turn_on_face, turn_off_face): Removed.
16134 (w32_face_attributes): New function.
16135 (Global_variables): Reduce scope where possible.
16136 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
16137 fill attribute.
16138 (hl_mode): Don't modify text attributes.
16139 (write_glyphs): Don't do anything if len <= 0. Use
16140 w32_face_attributes to get attributes for drawing. Write
16141 terminating codes using char_attr_normal.
16142 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
16143 (update_begin, update_end): Likewise.
16144 (vga_stdcolor_name): New function.
16145 (initialize_w32_display): Remove char_attr_reverse and char_attr.
16146 (Fset_screen_color): Remove char_attr_reverse.
16147
16148 2000-01-29 Gerd Moellmann <gerd@gnu.org>
16149
16150 * xfns.c (xic_set_preeditarea): Take window parameter and
16151 window-relative pixel-positions.
16152
16153 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
16154 is its frame's selected window.
16155 (xim_instantiate_callback): Likewise.
16156
16157 * xfns.c (x_create_im): Removed.
16158 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
16159 (supported_xim_styles): Renamed from supported_styles.
16160 (best_xim_style): Renamed from best_style.
16161 (create_frame_xic): Renamed from xic_create_frame.
16162 (free_frame_xic): Renamed from xic_destroy_frame.
16163
16164 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
16165
16166 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
16167 our frames, call XFilterEvent with 2nd parameter `None'.
16168 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
16169 returning XBufferOverflow.
16170 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
16171 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
16172 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
16173 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
16174 (xim_initialize, xim_close)
16175 [HAVE_X_I18N && HAVE_X11R6]: New functions.
16176 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
16177 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
16178 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
16179
16180 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
16181 and `xim_styles'.
16182 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
16183 `xic_style' and `xic_xfs'.
16184 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
16185 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
16186 (FRAME_XIM): Removed.
16187
16188 * xfns.c (supported_styles): New variable.
16189 (DEFAULT_STYLE, DEFAULT_FONT): New macros
16190 (xic_create_xfontset, best_style, xic_create_frame)
16191 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
16192 (xic_set_xfontset): New functions.
16193
16194 2000-01-28 Dave Love <fx@gnu.org>
16195
16196 * s/irix6-5.h: Revert last change after change to irix5-0.h.
16197
16198 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
16199
16200 2000-01-28 Gerd Moellmann <gerd@gnu.org>
16201
16202 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
16203 for *scratch* if it already existed.
16204
16205 * emacs.c (USAGE): New macro.
16206 (main): Use it to display usage information.
16207
16208 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
16209
16210 Support for the menu-help feature:
16211
16212 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
16213
16214 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
16215 part of the line to the termscript file.
16216 (IT_clear_to_end): Clear the entire line, not just its beginning.
16217 (menu_help_message, prev_menu_help_message): New variables.
16218 (IT_menu_make_room): Make room for the help_text member.
16219 (IT_menu_display): New argument disp_help; all callers changed.
16220 If disp_help is non-zero, store the help text of the active menu
16221 item in menu_help_message.
16222 (XMenuAddPane): Initialize the help_text member to NULL.
16223 (XMenuAddSelection): New argument help_text. Store it in the
16224 XMenu structure.
16225 (XMenuActivate): New argument help_callback. If the value of
16226 menu_help_message has changed since the last time, display the
16227 menu help message text while waiting for the mouse to move. Clear
16228 the echo area before exiting.
16229 (XMenuDestroy): Free the help_text member.
16230
16231 2000-01-27 Gerd Moellmann <gerd@gnu.org>
16232
16233 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
16234 XMenuAddSelection. Pass help callback to XMenuActivate.
16235 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
16236
16237 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
16238
16239 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
16240 and EMACS_SET_USECS.
16241
16242 2000-01-26 Dave Love <fx@gnu.org>
16243
16244 * editfns.c (Fchar_after, Fchar_before): Doc fix.
16245
16246 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
16247 an error may be signalled.
16248
16249 2000-01-26 Gerd Moellmann <gerd@gnu.org>
16250
16251 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
16252 LD_SWITCH_SYSTEM inherited from irix5-0.h.
16253
16254 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
16255
16256 2000-01-25 Gerd Moellmann <gerd@gnu.org>
16257
16258 * charset.c (Fstring): If there is a multibyte char among
16259 the args, always return a multibyte string.
16260
16261 2000-01-25 Gerd Moellmann <gerd@gnu.org>
16262
16263 * sysdep.c (sys_select): Turn atimers off and on instead of
16264 recording and restoring old alarm handler
16265
16266 * process.c (toplevel): Include atimer.h.
16267 (create_process_1): Rewritten.
16268 (create_process): Use atimers instead of alarm.
16269 (wait_reading_process_input) [hpux]: Turn atimers off instead
16270 of turning off SIGALRM.
16271 (wait_reading_process_input): Turn off atimers instead off
16272 calling stop_polling.
16273
16274 * emacs.c (main): Call init_atimer.
16275
16276 * keyboard.c (toplevel): Include systime.h and atimer.h.
16277 (polling_for_input): Removed because unused.
16278 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
16279 (poll_timer): New variable.
16280 (poll_for_input, poll_for_input_1): New functions.
16281 (start_polling, stop_polling): Rewritten.
16282
16283 * keyboard.h (polling_for_input): Removed.
16284
16285 * atimer.h, atimer.c: New files.
16286
16287 * Makefile.in (obj): Add atimer.o.
16288 (atimer.o): New target.
16289
16290 * blockinput.h (pending_atimers): Add extern declaration.
16291 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
16292
16293 * lisp.h (popup_activated_flag): Add extern declaration.
16294
16295 * xmenu.c (popup_activated_flag): Make externally visible.
16296 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
16297 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
16298
16299 * xterm.c (toplevel): Include atimer.h.
16300 (toolkit_scroll_bar_interaction): New variable.
16301 (Fxt_process_timeouts): Removed.
16302 (x_process_timeouts): New function.
16303 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
16304 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
16305 (x_make_frame_visible): Call poll_for_input_1 instead of
16306 input_poll_signal. Don't call alarm.
16307 (x_initialize): Install timer calling x_process_timeouts.
16308
16309 2000-01-24 Dave Love <fx@gnu.org>
16310
16311 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
16312 Don't use -cckr -- apparently not now necessary.
16313
16314 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
16315
16316 * msdos.c (IT_menu_display): Truncate long menu lines at the right
16317 screen boundary.
16318
16319 2000-01-23 Jason Rumney <jasonr@gnu.org>
16320
16321 * w32fns.c (w32_defined_color): Apply gamma correction before
16322 trying to map to the palette.
16323 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
16324 to w32_clear_rect.
16325
16326 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
16327 here. Callers changed to always pass real device context.
16328 (w32_draw_bitmap): Likewise.
16329 (w32_get_glyph_overhangs): Likewise.
16330 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
16331 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
16332 pfnSetScrollInfo and SetScrollRange.
16333 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
16334 back into MULE characters after decoding them.
16335 (x_get_glyph_face_and_encoding): Likewise.
16336 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
16337 GetCharABCWidthsW fails, since this is defined on Windows 9x.
16338 (x_produce_glyphs): Calculate per char metrics for a character
16339 that we know exists in default font when font_not_found_p is true.
16340
16341 2000-01-22 Jason Rumney <jasonr@gnu.org>
16342
16343 * makefile.nt (intervals.obj, composite.obj): New modules.
16344 (composite.h): Added as dependency where appropriate.
16345
16346 * w32gui.h (XGCValue): New struct for emulating X GCs.
16347
16348 * w32term.h (XCharStruct): New struct for emulating X.
16349
16350 * w32console.c (turn_on_face, turn_off_face): New functions.
16351 (change_line_highlight): New prototype for new redisplay.
16352 (write_glyphs): Support multibyte text. Support faces.
16353
16354 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
16355
16356 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
16357 throughout. struct frame * in place of FRAME_PTR.
16358 Skeleton support for images, toolbars, tooltips from xfns.c.
16359 (Fx_create_frame): Use system default for default scroll bar width.
16360 (w32_get_arg): Renamed from x_get_arg.
16361 (Fx_file_dialog): New function.
16362 (w32_list_fonts): Check cache before asking system.
16363 (Vw32_enable_synthesized_fonts): New variable.
16364 (Vw32_enable_italics): Obsolete, removed.
16365
16366 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16367 Use SELECTED_FRAME macro.
16368
16369 * w32menu.c: Add skeleton support for help strings on menus.
16370 (add_menu_item): Native checkbox and radio support added, but not
16371 yet enabled due to bugs.
16372 (push_menu_item): Add parameters type, selection and help.
16373 Callers updated.
16374 Formatting changes to reduce unnecessary diffs with xmenu.c.
16375
16376 * w32select.c (Fw32_set_clipboard_data): Update call to
16377 find_charset_in_str.
16378
16379 * w32term.c: Complete rewrite for new redisplay based on new
16380 xterm.c with necessary sections merged back in from old w32term.c.
16381
16382 2000-01-21 Richard M. Stallman <rms@gnu.org>
16383
16384 * data.c (set_internal): Further fix in same criterion.
16385
16386 2000-01-20 Richard M. Stallman <rms@gnu.org>
16387
16388 * data.c (set_internal): Fix the criteria for whether
16389 to swap out the old cached binding.
16390
16391 2000-01-19 Dave Love <fx@gnu.org>
16392
16393 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
16394
16395 2000-01-18 Kenichi Handa <handa@etl.go.jp>
16396
16397 * regex.c (re_compile_fastmap): While checking a range table for
16398 `charset', skip flag bits for a character class correctly.
16399
16400 2000-01-17 Gerd Moellmann <gerd@gnu.org>
16401
16402 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
16403
16404 * xfns.c (x_window): Call lw_create_widget with new parameter list.
16405
16406 * widget.c (EmacsFrameSetCharSize): Change size of children first
16407 because of problems with main window geometry management under Lesstif.
16408
16409 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
16410 MENU_ITEMS_ITEM_.*.
16411 (MENU_ITEMS_ITEM_HELP): New enumerator.
16412 (push_menu_item): Add parameter HELP. Record help in menu_items.
16413 (single_menu_item, single_submenu, list_of_items): Call
16414 push_menu_item with new parameter.
16415 (single_submenu): Set help string in widget value.
16416 (menu_highlight_callback): New function.
16417 (set_frame_menubar): Call lw_create_widget with new
16418 parameter list.
16419 (xmenu_show, xdialog_show): Ditto.
16420
16421 2000-01-13 Gerd Moellmann <gerd@gnu.org>
16422
16423 * sound.c (Fplay_sound): Improve doc string.
16424
16425 2000-01-11 Richard M. Stallman <rms@gnu.org>
16426
16427 * lisp.h (set_internal): Enter the new arg.
16428
16429 * eval.c (specbind): Record buffer-local variables specially,
16430 indicating which buffer's binding was saved.
16431 (unbind_to): Restore buffer-local variables specially
16432 in the proper buffer.
16433
16434 * data.c (set_internal): New arg BUF.
16435
16436 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
16437 * data.c (Fset): Pass new arg to set_internal.
16438 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
16439
16440 2000-01-11 Gerd Moellmann <gerd@gnu.org>
16441
16442 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
16443
16444 2000-01-11 Richard M. Stallman <rms@gnu.org>
16445
16446 * minibuf.c (Ftry_completion): Doc fix.
16447
16448 2000-01-11 Gerd Moellmann <gerd@gnu.org>
16449
16450 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
16451 vector, too.
16452
16453 2000-01-11 Andreas Schwab <schwab@suse.de>
16454
16455 * coding.c (code_convert_region): Initialize total_skip.
16456
16457 2000-01-08 Dave Love <fx@gnu.org>
16458
16459 * eval.c (Fuser_variable_p): Check customizability too.
16460
16461 2000-01-07 Gerd Moellmann <gerd@gnu.org>
16462
16463 * minibuf.c (Fcompleting_read): Doc fix.
16464
16465 2000-01-05 Gerd Moellmann <gerd@gnu.org>
16466
16467 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
16468 -L /usr/local/lib.
16469
16470 * xfns.c (x_create_im): New function to set IM and IC of a frame.
16471 Check that input style is supported before trying to create an
16472 IC for it.
16473 (x_window): Call x_create_im.
16474
16475 2000-01-04 Gerd Moellmann <gerd@gnu.org>
16476
16477 * xfns.c (current_gif_memory_src): New variable.
16478 (gif_load): Record the address of the current memory source
16479 in current_gif_memory_src.
16480 (gif_read_from_memory): Use current_gif_memory_src.
16481
16482 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
16483 macros statement form.
16484
16485 * sound.c (struct sound): Renamed from struct sound_file.
16486 (struct sound): Add members `data' and `header_size'.
16487 (enum sound_attr): Add SOUND_DATA.
16488 (current_sound, current_sound_device): Variables renamed from
16489 sound_file and sound_device.
16490 (parse_sound): Parse :data.
16491 (parse_sound): Handle sound data in strings.
16492 (find_sound_type): Function renamed from find_sound_file_type.
16493 (wav_init, au_init): Fail if sound's header_size is smaller than
16494 needed header size.
16495 (wav_play, au_play): Play sounds from string data.
16496
16497 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
16498
16499 * lisp.h: Add prototype for allocate_string_data.
16500
16501 * alloc.c (Fgarbage_collect): Return number of live and free strings.
16502
16503 * alloc.c (mark_buffer): Remove code in #if 0.
16504 (gc_sweep): Ditto.
16505 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
16506 (strings_consed): New variable.
16507 (allocate_string): Set it.
16508 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
16509 (Fmemory_use_counts): Return strings_consed. Use Flist.
16510
16511 * alloc.c: General cleanup in comments etc. Remove conditional
16512 compilation for `standalone'.
16513
16514 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
16515
16516 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
16517 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
16518 (DONT_COPY_FLAG): Removed.
16519 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
16520 (struct sdata, struct sblock): New
16521 (struct string_block): Rewritten.
16522 (STRINGS_IN_STRING_BLOCK): New macro.
16523 (oldest_sblock, current_sblock, total_strings, total_free_strings)
16524 (large_sblocks, string_blocks, string_free_list): New variables.
16525 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
16526 (init_strings): Rewritten.
16527 (allocate_string, allocate_string_data, compact_small_strings)
16528 (free_large_strings, sweep_strings): New functions.
16529 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
16530 (struct string_block_head, current_string_block)
16531 (first_string_block, large_string_blocks, STRING_FULLSIZE)
16532 (STRING_PAD): Removed.
16533 (make_uninit_multibyte_string, make_pure_string): Rewritten.
16534 (Fgarbage_collect): Don't set mark bit in large strings.
16535 (mark_object): Mark strings differently. Mark symbol names
16536 differently.
16537 (survives_gc_p): Test marked strings differently.
16538 (gc_sweep): Sweep strings differently, unmark strings in
16539 symbol names.
16540 (compact_strings): Removed.
16541
16542 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
16543
16544 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
16545 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
16546
16547 2000-01-04 Kenichi Handa <handa@etl.go.jp>
16548
16549 * fileio.c (Finsert_file_contents): Signal error if visiting file
16550 in a non-empty buffer.
16551
16552 * term.c (encode_terminal_code): Fix the previous change.
16553
16554 2000-01-03 Gerd Moellmann <gerd@gnu.org>
16555
16556 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
16557 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
16558
16559 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
16560
16561 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16562
16563 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
16564 need to test for MSDOS frames.
16565
16566 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16567
16568 * dosfns.c (unspecified_colors): Remove.
16569 (msdos_stdcolor_idx): Use global variables unspecified_fg and
16570 unspecified_bg.
16571 (msdos_stdcolor_name): Return strings for unspecified fore- and
16572 back-ground colors.
16573
16574 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
16575 (syms_of_xfaces): Remove their staticpro's.
16576 (tty_color_name): Return Lisp strings for unspecified fore- and
16577 back-ground colors.
16578 (Finternal_set_lisp_face_attribute): Remove the special treatment
16579 for Qunspecified_{f,b}g.
16580 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
16581
16582 2000-01-03 Gerd Moellmann <gerd@gnu.org>
16583
16584 * xdisp.c (reseat_at_next_visible_line_start): Position before
16585 newline only if ending up on a newline.
16586 (next_element_from_ellipsis): Return success. Handle case of
16587 displaying no ellipsis. Fix case of ellipsis defined in display table.
16588 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
16589 returns 0.
16590
16591 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16592
16593 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
16594 (Fcolor_supported_p): Renamed from face-color-supported-p.
16595
16596 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16597
16598 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
16599 list of colors renamed to tty-defined-color-alist.
16600 (tty_color_name): Pass the frame to tty-color-by-index.
16601 (realize_tty_face): tty-color-alist is now a function which
16602 accepts the frame as argument.
16603
16604 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
16605
16606 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16607
16608 * term.c (insert_glyphs): Pass glyph, not &glyph, to
16609 encode_terminal_code.
16610
16611 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16612
16613 * dispnew.c (mode_line_string): Support termcap frames as well.
16614
16615 2000-01-01 Gerd Moellmann <gerd@gnu.org>
16616
16617 * syntax.c (Fforward_word): Undo previous change.
16618
16619 * editfns.c (Fconstrain_to_field): Don't constrain if
16620 inhibit-field-text-motion is non-nil.
16621 (Fline_beginning_position): Undo previous change.
16622 (Fline_end_position): Ditto.
16623
16624 * syntax.c (Fforward_word): Notice field boundaries only if
16625 inhibit-field-text-motion is nil.
16626
16627 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
16628
16629 * editfns.c (Vinhibit_field_text_motion): New variable.
16630 (inhibit-field-text-motion): New DEFVAR_LISP.
16631 (Fline_beginning_position, Fline_end_position): Notice field
16632 boundaries only if inhibit-field-text-motion is nil.
16633
16634 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
16635 All calls adjusted.
16636 (x_build_heuristic_mask): Likewise.
16637 (xbm_load_image_from_file): Change error output.
16638 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
16639 (gif_load, gs_load, x_kill_gs_process): Ditto.
16640
16641 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
16642 color indices when accessing raster pixels.
16643 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
16644 one of :file or :data.
16645 (enum pbm_keyword_index): Add PBM_DATA.
16646 (pbm_format): Add :data.
16647 (pbm_image_p): Allow either :file or :data.
16648 (pbm_read_file): New function.
16649 (pbm_scan_number): Rewritten to read from string.
16650 (pbm_load): Support :data.
16651
16652 See ChangeLog.8 for earlier changes.
16653
16654 ;; Local Variables:
16655 ;; coding: iso-2022-7bit
16656 ;; End:
16657
16658 Copyright (C) 2001 Free Software Foundation, Inc.
16659 Copying and distribution of this file, with or without modification,
16660 are permitted provided the copyright notice and this notice are preserved.