(Fmake_char): Fix previous change.
[bpt/emacs.git] / src / ChangeLog
1 2002-05-22 Kenichi Handa <handa@etl.go.jp>
2
3 * charset.c (Fmake_char): Fix previous change.
4
5 2002-05-21 Kenichi Handa <handa@etl.go.jp>
6
7 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
8 (emacs_mule_char): New arg src. Delete arg `composition'. Caller
9 changed. Handle 2-byte and 3-byte charsets correctly.
10 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Renamed from
11 DECODE_EMACS_MULE_COMPOSITION_RULE. Caller changed.
12 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
15 sequence.
16 (decode_coding_emacs_mule): Handle composition correctly. Rewind
17 `src' and `consumed_chars' correctly before calling
18 emacs_mule_char.
19 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
20 and alt&rule composition.
21 (decode_coding_iso_2022): Handle composition correctly.
22 (init_coding_once): Setup emacs_mule_bytes for private charsets.
23
24 * charset.c (Fdefine_charset_internal): Fix bug for the case of
25 re-defining a charset. If the charset has :emacs-mule-id, setup
26 emacs_mule_bytes.
27 (Fmake_char): If CODE1 is nil, use the minimum code of the
28 charset.
29
30 2002-05-20 Kenichi Handa <handa@etl.go.jp>
31
32 * coding.c (encode_coding_iso_2022): If coding requires safe
33 encoding, produce a character specified by
34 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
35 (encode_coding_sjis): Likewise.
36 (encode_coding_big5): Likewise.
37 (encode_coding_charset): Likewise.
38
39 2002-05-17 Dave Love <fx@gnu.org>
40
41 * xterm.c (XSetIMValues): Declare.
42
43 * process.c: Conditionally include sys/wait.h, pty.h.
44
45 * print.c (print_object): Fix print format for 64-bit
46 systems.
47
48 * keyboard.c (modify_event_symbol): Fix print format for 64-bit
49 systems.
50
51 * buffer.c (emacs_strerror): Declare.
52 (MMAP_ALLOCATED_P, mmap_enlarge, syms_of_buffer): Import changes
53 from trunk.
54
55 * fontset.c (Fclear_face_cache): Declare.
56 (accumulate_font_info): Commented-out (unused).
57 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
58 variables.
59
60 * character.h (string_escape_byte8): Declare.
61
62 * charset.c (load_charset_map, load_charset_map_from_file): Remove
63 unused vars.
64 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
65 (Fmap_charset_chars): Doc fix.
66
67 * coding.c (Vchar_coding_system_table, Qchar_coding_system):
68 Removed.
69 (Fset_coding_system_priority, Fset_coding_system_priority)
70 (Fdefine_coding_system_internal): Doc fix.
71
72 2002-05-16 Dave Love <fx@gnu.org>
73
74 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
75
76 2002-05-16 Kenichi Handa <handa@etl.go.jp>
77
78 * character.c (string_escape_byte8): Make multibyte string with
79 correct size.
80
81 * charset.c (Fmake_char): Delete unnecessary code.
82
83 2002-05-14 Kenichi Handa <handa@etl.go.jp>
84
85 * xfns.c (x_encode_text): Allocate coding.destination here, and
86 call encode_coding_object with dst_object Qnil.
87
88 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
89 multibyte form correctly.
90
91 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
92 against Vfont_encoding_alist.
93
94 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
95 handling of charset list.
96 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
97 (decode_coding_object): Move point to coding->dst_pos before
98 calling post-read-conversion function.
99 (encode_coding_object): Give correct arguments to
100 pre-write-conversion. Ignore the return value of
101 pre-write-conversion function. Pay attention to the case that
102 pre-write-conversion changes the current buffer. If dst_object is
103 Qt, even if coding->src_bytes is zero, allocate at least one byte
104 to coding->destination.
105
106 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
107
108 * charset.c (Fmake_char): Make it more backward compatible.
109 (Fmap_charset_chars): Fix docstring.
110
111 2002-05-13 Dave Love <fx@gnu.org>
112
113 * coding.c: Doc fixes.
114 (Fdefine_coding_system_alias): Use names, not symbols, in
115 coding-system-alist.
116
117 2002-05-13 Kenichi Handa <handa@etl.go.jp>
118
119 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
120 of calling free_realized_face.
121
122 2002-05-10 Yong Lu <lyongu@asia-infonet.com>
123
124 * charset.c (load_charset_map): Fix previous change.
125 (read_hex): Don't treat SPC as a comment starter.
126 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
127 -1.
128 (Fdecode_char): Fix typo.
129
130 2002-05-10 Kenichi Handa <handa@etl.go.jp>
131
132 * charset.h (struct charset): New member `code_space_mask'.
133
134 * coding.c (coding_set_source): Delete the local variable
135 beg_byte.
136 (encode_coding_charset): Delete the local variable charset.
137 (Fdefine_coding_system_internal): Likewise.
138 (Fdefine_coding_system_internal): Setup
139 attrs[coding_attr_charset_valids] correctly.
140
141 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
142 member to check if CODE is valid or not.
143 (Fdefine_charset_internal): Initialize `code_space_mask' member.
144 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
145 is within the range of charset->min_code and carset->max_code.
146
147 2002-05-09 Dave Love <fx@gnu.org>
148
149 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
150
151 * dispextern.h (generate_ascii_font): Fix return type.
152
153 * xfaces.c (generate_ascii_font): Fix arg declaration.
154
155 * coding.c (coding_inherit_eol_type)
156 (Fset_terminal_coding_system_internal)
157 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
158
159 2002-05-08 Kenichi Handa <handa@etl.go.jp>
160
161 * coding.c (decode_coding_charset, encode_coding_charset): Handle
162 multiple charsets correctly.
163
164 2002-05-07 Kenichi Handa <handa@etl.go.jp>
165
166 * search.c (boyer_moore): Fix handling of mulitbyte character
167 translation.
168
169 * xdisp.c (display_mode_element): When the variable `elt' is
170 changed, update `this' and `lisp_string'.
171
172 2002-05-07 Kenichi Handa <handa@etl.go.jp>
173
174 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
175
176 * callproc.c (Fcall_process): Be sure to give the current buffer
177 to decode_coding_c_string. Update PT and PT_BYTE after the
178 insertion.
179
180 * charset.c (struct charset_map_entries): New struct.
181 (load_charset_map): Renamed from parse_charset_map. New args
182 entries and n_entries. Caller changed.
183 (load_charset_map_from_file): Renamed from load_charset_map.
184 Caller changed. New arg control_flag. Call load_charset_map at
185 the tail.
186 (load_charset_map_from_vector): New function.
187 (Fdefine_charset_internal): Setup charset.compact_codes_p.
188 (encode_char): If the charset is compact, change a character index
189 to a code point.
190
191 * coding.c (coding_alloc_by_making_gap): Check the case that the
192 source and destination are the same correctly.
193 (decode_coding_raw_text): Set coding->consumed_char and
194 coding->consumed to 0.
195 (produce_chars): If coding->chars_at_source is nonzero, update
196 coding->consumed_char and coding->consumed before calling
197 alloc_destination.
198 (Fdefine_coding_system_alias): Register ALIAS in
199 Vcoding_system_alist.
200 (syms_of_coding): Define `no-convesion' coding system at the tail.
201
202 * fileio.c (Finsert_file_contents): Set coding_system instead of
203 val. If the current buffer is multibyte, always call
204 decode_coding_gap.
205
206 * xfaces.c (try_font_list): Give higher priority to fontset's
207 family than face's family.
208
209 2002-04-18 Kenichi Handa <handa@etl.go.jp>
210
211 * callproc.c (Fcall_process): Be sure to give the current buffer
212 to decode_coding_c_string.
213
214 * xfaces.c (try_font_list): Give a family specified in a fontset
215 higher priority than a family specified in a face.
216
217 2002-04-09 Kenichi Handa <handa@etl.go.jp>
218
219 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
220 Fix arguments to insert_from_buffer.
221
222 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
223
224 2002-03-11 Kenichi Handa <handa@etl.go.jp>
225
226 * coding.c (produce_chars): Set the variable `multibytep' correctly.
227 (decode_coding_gap): Set coding->dst_multibyte correctly.
228
229 2002-03-07 Kenichi Handa <handa@etl.go.jp>
230
231 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
232 (decode_coding_utf_16): Fix converting high and low bytes to
233 code-point.
234 (encode_coding_utf_16): Substitute coding->default_char for
235 non-Unicode characters.
236 (decode_coding): Don't call record_insert here.
237 (setup_coding_system): Initialize `surrogate' of
238 coding->spec.utf_16 to 0.
239 (EMIT_ONE_BYTE): Fix for multibyte case.
240
241 * insdel.c (insert_from_gap): Call record_insert.
242
243 2002-03-04 Kenichi Handa <handa@etl.go.jp>
244
245 * casefiddle.c (casify_region): Fix multibyte case.
246
247 * character.c (c_string_width): Add return type `int'.
248 (char_string_with_unification): Arg ADVANCED deleted.
249
250 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
251 (CHAR_STRING): Adjusted for the change of
252 char_string_with_unification.
253 (CHAR_STRING_ADVANCE): Make it do-while statement.
254
255 * chartab.c (sub_char_table_set_range): Optimized for the case
256 DEPTH == 3. Add workaround code for a GCC optimization bug.
257
258 * charset.c (parse_charset_map): Remove an unused variable.
259
260 * coding.c: Delete unused variables.
261
262 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
263 earlier. If inserted is zero and the coding system doesn't
264 require flushing, don't call decode_coding_gap.
265
266 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
267
268 2002-03-01 Kenichi Handa <handa@etl.go.jp>
269
270 The following changes are for using Unicode as an internal
271 character model, and use UTF-8 format for buffer/string
272 representation.
273
274 * .gdbinit (xchartable): Adjusted for the change of char table
275 structure.
276 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
277
278 * Makefile.in (obj): Add character.o and chartab.o.
279 (lisp, shortlisp): Remove utf-8.elc:
280 (*.o): For many files, change dependency on charset.h to
281 character.h, and add dependency on character.h.
282 (character.o, chartab.o): New targets.
283
284 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
285 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
286 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
287 of "charset.h".
288
289 * dired.c, filelock.c: Include "character.h".
290
291 * alloc.c: Include "character.h" instead of "charset.h".
292 (Fmake_char_table): Moved to chartab.c.
293 (make_sub_char_table): Likewise.
294 (syms_of_alloc): Remove defsubr for Smake_char_table.
295
296 * buffer.c: Include "character.h" instead of "charset.h", don't
297 include "coding.h".
298 (Fset_buffer_multibyte): Adjuted for UTF-8.
299
300 * buffer.h: EXFUN Fbuffer_live_p.
301
302 * callproc.c: Include "character.h" instead of "charset.h".
303 (Fcall_process): Big change for the new code-conversion APIs.
304
305 * casetab.c: Include "character.h" instead of "charset.h".
306 (set_canon, set_identity, shuffle): Adjusted for the new
307 map_char_table spec.
308 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
309 accessing the char table structure.
310
311 * chartab.c: New file that implements char table.
312
313 * category.c: Include "character.h".
314 (copy_category_entry): New function.
315 (copy_category_table): Call map_char_table and copy_category_entry.
316 (Fmake_category_table): Initialize all top-vel slots.
317 (char_category_set): New function.
318 (modify_lower_category_set): Deleted.
319 (Fmodify_category_entry): Call char_table_ref_and_range.
320
321 * category.h (CATEGORY_SET): Just call char_category_set.
322
323 * ccl.c: Include "character.h".
324 (Qccl, Qcclp): New variables.
325 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
326 it's less than 256.
327 (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
328 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
329 and DST type.
330 (ccl_driver): Types of arguments changed. Code adjusted for that.
331 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
332 ccl_driver.
333 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
334
335 * ccl.h (struct ccl_program): Members eol_type and multibyte
336 deleted. New members src_multibyte, dst_multibyte, consumed, and
337 produced.
338 (struct ccl_spec): Members decoder and encoder deleted. New
339 memeber ccl.
340 (CODING_SPEC_CCL_PROGRAM): New macro.
341 (ccl_driver): Prototype updated.
342 (Qccl, Qcclp, Fccl_program_p): Extern them.
343 (CHECK_CCL_PROGRAM): New macro.
344
345 * character.c, character.h, chartab.c: New files.
346
347 * charset.c: Mostly re-written. Character and multibyte sequence
348 handling codes are moved to character.c.
349
350 * charset.h: Mostly re-written. Character and multibyte sequence
351 handling codes are moved to character.h.
352
353 * coding.c, coding.h: Mostly re-written.
354
355 * composite.c: Include "character.h" instead of "charset.h".
356 (CHAR_WIDTH): Moved to character.h.
357 (HASH_KEY, HASH_VALUE): Deleted.
358
359 * composite.h (enum composition_method): Order of enumeration
360 symbols changed.
361
362 * data.c: Include "character.h" instead of "charset.h".
363 (Faref): Call CHAR_TABLE_REF for a char table.
364 (Faset): Call CHAR_TABLE_SET for a char table.
365
366 * dispextern.h (free_realized_face, check_face_attribytes,
367 generate_ascii_font): Extern them.
368 (free_realized_multibyte_face): Extern deleted.
369
370 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
371 table structure.
372
373 * editfns.c: Include "character.h" instead of "charset.h".
374 (Fchar_to_string): Always call CHAR_STRING.
375
376 * emacs.c (main): Call init_charset_once, init_charset,
377 syms_of_chartab, and syms_of_character.
378
379 * fileio.c: Include "character.h" instead of "charset.h".
380 (Finsert_file_contents): Big change for the new code-conversion
381 API.
382 (choose_write_coding_system): Likewise.
383 (Fwrite_region): Likewise.
384 (build_annotations_2): Deleted.
385 (e_write): Big change for the new code-conversion API.
386
387 * fns.c: Include "character.h" instead of "charset.h".
388 (copy_sub_char_table): Moved to chartab.c.
389 (Fcopy_sequence): Call copy_char_table for a char table.
390 (concat): Delete codes calling count_multibyte.
391 (string_char_to_byte): Adjusted for the new multibyte form.
392 (string_byte_to_char): Likewise.
393 (internal_equal): Adjusted for the change of char table structure.
394 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
395 Fchar_table_extra_slot, Fset_char_table_extra_slot,
396 Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
397 char_table_translate, optimize_sub_char_table,
398 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
399 chartab.c.
400 (char_table_ref_and_index): Deleted.
401 (HASH_KEY, HASH_VALUE): Moved to lisp.h.
402 (Fmd5): Call preferred_coding_system instead of accessing
403 Vcoding_category_list. Adjusted for the new code-conversion API.
404 (syms_of_fns): Defsubr for char table related functions moved to
405 chartab.c.
406
407 * fontset.c: Mostly re-written.
408
409 * fontset.h (struct font_info): Type of the member encoding_type
410 changed.
411 (enum FONT_SPEC_INDEX): New enum.
412 (fontset_font_pattern, fs_load_font): Prototype updated.
413 (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
414
415 * indent.c: Include "character.h" instead of "charset.h".
416 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
417 WIDTH_BY_CHAR_HEAD.
418
419 * insdel.c: Include "character.h" instead of "charset.h".
420 (copy_text): Don't refer to Vnonascii_translation_table.
421 (insert_from_gap): New function.
422
423 * keyboard.c: Include "character.h" instead of "charset.h".
424 (command_loop_1): Never call direct_output_forward_char before
425 a non-ASCII character.
426 (read_char): If Vkeyboard_translate_table is a char table, always
427 translated a character.
428
429 * keymap.c: Include "character.h".
430 (store_in_keymap): Handle the case that IDX is a cons.
431 (Fdefine_key): Handle the case that KEY is a cons and the car part
432 is also a cons (range).
433 (push_key_description): Adjusted for the new character code.
434 (describe_vector): Call describe_char_table for a char table.
435 (describe_char_table): New function.
436
437 * keymap.h (describe_char_table): Extern it.
438
439 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
440 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
441 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
442 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
443 Deleted.
444 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
445 structure.
446 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
447 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
448 CHARTAB_SIZE_BITS_3): New macros.
449 (chartab_size): Extern it.
450 (struct Lisp_Char_Table): Re-designed.
451 (struct Lisp_Sub_Char_Table): New structure.
452 (HASH_KEY, HASH_VALUE): Moved from fns.c.
453 (CHARACTERBITS): Defined as 22.
454 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
455 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
456 (GC_SUB_CHAR_TABLE_P): New macro.
457 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
458 (code_convert_string_norecord): Extern deleted.
459 (init_character_once, syms_of_character, init_charset,
460 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
461
462 * lread.c: Include "character.h".
463 (read_multibyte): New arg NBYTES.
464 (read_escape): The meaning of returned *BYTEREP changed.
465 (to_multibyte): Deleted.
466 (read1): Adjuted the handling of char table and string.
467
468 * print.c: Include "character.h" instead of "charset.h".
469 (print_string): Convert 8-bit raw bytes to octal form by
470 string_escape_byte8.
471 (print_object): Adjusted for the new multibyte form. Print 8-bit
472 raw bytes always in octal form. Handle sub char table correctly.
473
474 * process.c: Include "character.h" instead of "charset.h".
475 (read_process_output): Adjusted for the new code-conversion API.
476 (send_process): Likewise.
477
478 * puresize.h (BASE_PURESIZE): Increased.
479
480 * regex.c: Include "character.h" instead of "charset.h".
481 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
482 (regex_compile): Accept a range whose starting and ending
483 character have different leading bytes.
484 (analyse_first): Adjusted for the above change.
485
486 * search.c: Include "character.h" instead of "charset.h".
487 (search_buffer, boyer_moore): Adjusted for the new multibyte form.
488 (Freplace_match): Adjusted for the change of
489 multibyte_char_to_unibyte.
490
491 * syntax.c: Include "character.h" instead of "charset.h".
492 (syntax_parent_lookup): Deleted.
493 (Fmodify_syntax_entry): Accept a cons as CHAR.
494 (skip_chars): Adjusted for the new multibyte form.
495 (init_syntax_once): Call char_table_set_range instead of directly
496 accessing the structure of a char table.
497
498 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
499 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
500 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
501 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
502
503 * term.c: Include "buffer.h" and "character.h".
504 (encode_terminal_code): Adjusted for the new code-conversion API.
505 (write_glyphs): Likewise.
506 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
507
508 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
509
510 * xdisp.c: Include "character.h".
511 (get_next_display_element): Adjusted for the new multibyte form.
512 (disp_char_vector): Adjusted for the new char table structure.
513 (decode_mode_spec_coding): Adjusted for the new structure of
514 coding system.
515 (decode_mode_spec): Adjusted for the new code-conversion API.
516
517 * xfaces.c: Include "character.h" instead of "charset.h".
518 (load_face_font): Adjusted for the change of choose_face_font and
519 FS_LOAD_FONT.
520 (generate_ascii_font): New function.
521 (set_lface_from_font_name): Adjusted for the change of
522 FS_LOAD_FONT.
523 (set_font_frame_param): Adjusted for the change of
524 choose_face_font.
525 (free_realized_face): Make it public.
526 (free_realized_faces_for_fontset): Renamed from
527 free_realized_multibyte_face. Free also faces realized for ASCII.
528 (choose_face_font): Argments changed. Adjusted for the change of
529 fontset_font_pattern and FS_LOAD_FONT.
530
531 * xfns.c: Include "character.h".
532 (x_encode_text): Adjusted for the new code-conversion API.
533
534 * xselect.c: Don't include "charset.h".
535 (selection_data_to_lisp_data): Adjusted for the new code
536 covnersion API.
537
538 * xterm.c: Include "character.h".
539 (x_encode_char): New argument CHARSET. Caller changed.
540 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
541 SPLIT_CHAR.
542 (x_get_glyph_face_and_encoding): Likewise.
543 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
544 CHAR_WIDTH instead of CHARSET_WIDTH.
545 (XTread_socket): Adjusted for the new code-conversion API.
546 (x_new_font): Adjusted for the change of FS_LOAD_FONT.
547 (x_load_font): Adjusted for the change of struct font.
548
549 2002-02-26 Kim F. Storm <storm@cua.dk>
550
551 The following changes add a new Vminibuf_selected_window variable
552 which is similar to Vminibuf_scroll_window, but which is only set
553 on entry to the minibuffer (from a non-minibuffer window):
554
555 * window.c: (Vminibuf_selected_window): New variable.
556 (struct save_window_data): New member minibuf_selected_window.
557 (Fset_window_configuration): Restore Vminibuf_selected_window.
558 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
559 Set minibuf_scroll_window member to nil if minibuf_level is 0.
560 (compare_window_configurations): Compare minibuf_selected_window.
561
562 * window.h: (Vminibuf_selected_window): Declare extern.
563
564 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
565 entry to minibuffer or on entry from a non-minibuffer window.
566
567 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
568 Vminibuf_selected_window instead of Vminibuf_scroll_window.
569
570 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
571 instead of Vminibuf_scroll_window when deciding in which window
572 the region should be highlighted. Consequently, the region remains
573 highlighteded even when a completion buffer is also displayed.
574
575 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
576
577 * fileio.c (Fsubstitute_in_file_name): Fix the change from
578 2002-02-08.
579
580 * xselect.c (Qcompound_text_with_extensions): Renamed from
581 Qcompound_text_no_extensions.
582 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
583
584 2002-02-26 Juanma Barranquero <lektu@terra.es>
585
586 * w32proc.c (syms_of_ntproc): Doc fix.
587
588 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
589
590 * intervals.h: Include "dispextern.h" unconditionally.
591
592 2002-02-24 Jason Rumney <jasonr@gnu.org>
593
594 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
595 and disp-table.elc.
596 (lisp): Add emacs-lisp/backquote.elc.
597
598 2002-02-24 Kim F. Storm <storm@cua.dk>
599
600 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
601 The validation of the event type was too strict as it didn't
602 allow string events; buffer names are used in bindings for
603 menu-bar-select-buffer (see `menu-bar-update-buffers').
604
605 2002-02-23 Kim F. Storm <storm@cua.dk>
606
607 The following changes rework my patch of 2002-02-06 which
608 added command remapping by entering the commands directly into
609 the keymaps. Now, command remapping uses an explicit `remap'
610 prefix in the keymaps, i.e. [remap COMMAND].
611
612 * keymap.c (Qremap, remap_command_vector): New variables.
613 (is_command_symbol): Removed function.
614 (Fdefine_key): No longer accept a symbol for KEY. Added
615 validation of [remap COMMAND] argument for KEY. The DEF is no
616 longer required to be a symbol when remapping a command.
617 (Fremap_command): New function to remap command through keymaps.
618 (Flookup_key): Perform command remapping initiated by
619 Fremap_command directly for speed.
620 (Fkey_binding): Use Fremap_command for command remapping.
621 (where_is_internal): Handle new command remapping representation.
622 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
623 staticpro them. Defsubr Fremap_command.
624
625 * keymap.h (Fremap_command): Declare extern.
626 (is_command_symbol): Remove extern.
627
628 * keyboard.c (command_loop_1): Use Fremap_command for command
629 remapping; now try command remapping for all symbols.
630
631 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
632
633 * coding.h (run_pre_post_conversion_on_str): Add prototype.
634
635 2002-02-23 Jason Rumney <jasonr@gnu.org>
636
637 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
638 on the string before encoding it.
639 (Fw32_get_clipboard_data): Run post-read-conversion on the string
640 after decoding it.
641
642 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
643
644 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
645
646 * w32term.c (enter_timestamp): Remove unused static variable to
647 prevent warning.
648
649 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
650
651 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
652
653 * w16select.c (Fw16_get_clipboard_data): Fix last change.
654
655 * xselect.c (selection_data_to_lisp_data): Fix last change.
656
657 2002-02-22 Jason Rumney <jasonr@gnu.org>
658
659 * w32term.h (struct w32_output): New member menu_command_in_progress.
660
661 * w32menu.c (menubar_selection_callback): Free the menu and
662 clear the menu_command_in_progress flag.
663
664 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
665 (menu_free_timer): New variable.
666 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
667 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
668 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
669 menu command is in progress.
670 <WM_COMMAND>: Set the menu_command_in_progress flag. Kill
671 any menu_free_timer that is running.
672
673 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
674 Call ExtTextOutA rather than ExtTextOut.
675
676 2002-02-22 Eli Zaretskii <eliz@gnu.org>
677
678 * puresize.h (BASE_PURESIZE): Increase to 755000.
679
680 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
681
682 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
683 on the string before encoding it.
684 (Fw16_get_clipboard_data): Run post-read-conversion on the string
685 after decoding it.
686
687 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
688
689 Support for ICCCM Extended Segments in X selections:
690
691 * xselect.c <Qcompound_text_no_extensions>: New variable.
692 (syms_of_xselect): Intern and staticpro it.
693 (selection_data_to_lisp_data): Run post-read-conversion on decoded
694 selection text.
695 (lisp_data_to_selection_data): If next-selection-coding-system is
696 compound-text-no-extensions, set the type of selection to be
697 compound-text.
698
699 * xterm.h (x_encode_text): Update prototype.
700
701 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
702 callers changed. If SELECTIONP is non-zero, run the
703 pre-write-conversion function before encoding the selection text.
704
705 2002-02-21 Kim F. Storm <storm@cua.dk>
706
707 * frame.c (syms_of_frame): Change mouse-highlight default to t.
708
709 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Corrected
710 composing of language-change event.
711
712 2002-02-20 Kim F. Storm <storm@cua.dk>
713
714 * keyboard.c (menu_bar_items): Don't include keymap or local-map
715 bindings at PT when building menu (the menu is not updated often
716 enough for this to work reliable).
717 (tool_bar_items): Likewise.
718 (current_active_maps): Removed unused (and buggy) function.
719
720 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
721
722 * xfns.c (gif_load): Use correct width and height for GIF images.
723
724 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
725
726 * floatfns.c (Fatan): Accept an optional second arg and call
727 atan2 if passed 2 args.
728
729 2002-02-18 Jason Rumney <jasonr@gnu.org>
730
731 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
732
733 2002-02-17 Jason Rumney <jasonr@gnu.org>
734
735 * w32term.c (x_autoselect_window_p): New variable.
736 (syms_of_w32term): DEFVAR_BOOL and initialize it.
737 (note_mouse_movement): Use it.
738
739 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
740
741 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
742
743 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
744 New variables.
745 (syms_of_w32fns): Intern and staticpro them.
746 (x_frame_parms) <"fullscreen">: New parameter.
747 (x_fullscreen_move, x_set_fullscreen): New functions.
748 (x_set_frame_parameters): Support Qfullscreen.
749 (x_real_positions): Save x/y_pixels_diff frame params.
750 (x_figure_window_size): Support full-screen frames.
751 (Fx_create_frame): Default the fullscreen parameter.
752
753 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
754 (x_fullscreen_adjust): New functions.
755 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
756 fullscreen. Call x_check_fullscreen_move, and set the
757 want_fullscreen member of output_data.w32
758 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
759
760 * w32term.h: New enum for FULLSCREEN_* constants.
761 (struct w32_output): New members want_fullscreen, x_pixels_diff,
762 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
763 (x-fullscreen-adjust): New prototype.
764
765 2002-02-17 Kim F. Storm <storm@cua.dk>
766
767 * frame.c: (Vmouse_highlight): New variable.
768 (syms_of_frame): DEFVAR_LISP it.
769
770 * frame.h: (Vmouse_highlight): Declare extern.
771
772 * xterm.h (struct x_display_info): Add mouse_face_hidden.
773
774 * xterm.c (disable_mouse_highlight): Removed variable.
775 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
776 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
777 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
778 and on after keyboard input.
779 (x_term_init): Initialize mouse_face_hidden.
780
781 * msdos.h (struct display_info): Add mouse_face_hidden.
782
783 * msdos.c (disable_mouse_highlight): Removed variable.
784 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
785 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
786 (internal_terminal_init): Initialize mouse_face_hidden.
787 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
788 and on after keyboard input.
789
790 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
791
792 * w32term.c (disable_mouse_highlight): Removed variable.
793 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
794 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
795 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
796 and on after keyboard input.
797 (w32_initialize_display_info): Initialize mouse_face_hidden.
798
799 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
800
801 * msdos.c (last_mouse_window): New variable.
802 (dos_rawgetc): Fix last change--if the mouse is in the same window
803 as recorded in last_mouse_window, don't select this window.
804
805 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not
806 cus-start.el.
807
808 * msdos.c (x_autoselect_window_p): New variable.
809 (syms_of_msdos): Defvar it.
810 (dos_rawgetc): If x_autoselect_window_p is set, select the window
811 in which the last mouse movement occured, unless it is already
812 selected.
813
814 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step): New
815 variables.
816 (syms_of_xdisp): DEVFAR them.
817 (hscroll_window_tree): Use automatic_hscroll_margin and
818 Vautomatic_hscroll_step to compute the amount of window scrolling.
819
820 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
821
822 * xterm.c (x-autoselect-window): New variable.
823 (note_mouse_movement): Use it.
824
825 * keyboard.c: Do not include "systime.h" twice.
826
827 2002-02-15 Andreas Schwab <schwab@suse.de>
828
829 * puresize.h (BASE_PURESIZE): Increase to 9/5.
830
831 * alloc.c (NSTATICS): Increase to 1280.
832
833 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
834
835 * alloc.c (NSTATICS): Bump to 1026.
836
837 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
838 (Vx_super_keysym): New variables.
839 (syms_of_xterm): DEFVAR_LISP them.
840 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
841 variables to determine which keys to use for the various
842 modifiers.
843
844 2002-02-13 Kim F. Storm <storm@cua.dk>
845
846 * window.c: (Vmode_line_in_non_selected_windows): Removed.
847 (mode_line_in_non_selected_windows): New variable.
848 (syms_of_window): DEFVAR_BOOL it.
849
850 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Use
851 mode_line_in_non_selected_windows.
852 (mode_line_in_non_selected_windows): Declare extern.
853 (Vmode_line_in_non_selected_windows): Removed extern.
854
855 2002-02-13 Richard M. Stallman <rms@gnu.org>
856
857 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
858 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
859 (Fclear_this_command_keys): Doc fixes.
860
861 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
862 (update_face_from_frame_parameter): Increment face_change_count
863 and windows_or_buffers_changed to force redisplay using changed faces.
864
865 * xdisp.c (QCpropertize): New variable.
866 (mode_line_proptrans_alist): New variable.
867 (display_mode_element): New arg PROPS; all calls changed.
868 Implement this, for strings.
869 Handle literal output of strings by sharing the
870 main-line code for strings, using local var `literal'.
871 Handle :propertize feature.
872 (syms_of_xdisp): Initialze and staticpro QCpropertize and
873 mode_line_proptrans_alist.
874
875 2002-02-11 Kim F. Storm <storm@cua.dk>
876
877 * window.c: (Vmode_line_in_non_selected_windows): New variable.
878 (syms_of_window): DEFVAR_LISP it.
879
880 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
881 (CURRENT_MODE_LINE_FACE_ID): Use it.
882 (Vmode_line_in_non_selected_windows): Declare extern.
883
884 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
885 to get mode line face.
886
887 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
888
889 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
890 variables; cus-start.el doesn't need them anymore.
891
892 2002-02-09 Kim F. Storm <storm@cua.dk>
893
894 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
895 reduction. This fixes a display problem where stray newlines were
896 inserted in the window (corrected by C-l). Clarified code (IMHO).
897
898 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
899
900 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
901
902 * xdisp.c (display_mode_lines): Fix last change.
903
904 2002-02-09 Jason Rumney <jasonr@gnu.org>
905
906 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
907 match each other.
908 (w32_load_system_font): Prevent Cleartype fonts from loading.
909 (Fx_show_tip): Ensure tip frames are above other topmost windows.
910
911 2002-02-09 Kim F. Storm <storm@cua.dk>
912
913 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
914 (CURRENT_MODE_LINE_HEIGHT): Use it.
915 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
916
917 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
918 (pos_visible_p, handle_face_prop): Likewise.
919 (display_mode_lines): Likewise, but for the real selected window.
920 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
921
922 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
923 in non-selected windows.
924 (realize_basic_faces): Realize it.
925 (syms_of_term): Intern and staticpro it.
926
927 2002-02-08 Kim F. Storm <storm@cua.dk>
928
929 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
930 Changed mail addresses to emacs-devel@gnu.org.
931
932 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
933
934 * fileio.c (Fsubstitute_in_file_name): If the file name includes
935 ~user, and there's no such user, don't discard everything before
936 ~user.
937
938 * floatfns.c (Fround): Doc fix.
939
940 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
941
942 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
943
944 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
945
946 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
947
948 2002-02-07 Kim F. Storm <storm@cua.dk>
949
950 * keymap.c (where_is_internal): Only check whether definition is
951 remapped if it fulfills is_command_symbol.
952
953 2002-02-07 Andreas Schwab <schwab@suse.de>
954
955 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
956
957 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
958
959 2002-02-06 Kim F. Storm <storm@cua.dk>
960
961 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
962 defining command remapping. Doc updated.
963 (Flookup_key): Remap command through keymap if KEY is a symbol.
964 (is_command_symbol): New function.
965 (Fkey_binding): Use it. New optional argument NO-REMAP.
966 Doc updated. Callers changed. Perform command remapping via
967 recursive call unless that arg is non-nil.
968 (where_is_internal): New argument no_remap. Callers changed.
969 Call recursively to find original key bindings for a remapped
970 comand unless that arg is non-nil.
971 (Fwhere_is_internal): New optional argument NO-REMAP.
972 Doc updated. Callers changed. Pass arg to where_is_internal.
973
974 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
975 (is_command_symbol): Added prototype.
976
977 * keyboard.c (Vthis_original_command): New variable.
978 (syms_of_keyboard): DEFVAR_LISP it.
979 (command_loop_1): Set it, and perform command remapping.
980
981 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
982
983 * keyboard.c (recursive_edit_1): Call cancel_hourglass
984 unconditionally.
985
986 2002-02-06 Jason Rumney <jasonr@gnu.org>
987
988 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
989
990 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
991
992 * charset.c (get_charset_id): Use if-else instead of ?:.
993
994 2002-02-06 Richard M. Stallman <rms@gnu.org>
995
996 * filelock.c (S_ISLNK): Define if not defined.
997
998 2002-02-03 Richard M. Stallman <rms@gnu.org>
999
1000 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
1001
1002 * lread.c (read1): Redesign strategy for force_multibyte and
1003 force_singlebyte. Now is_multibyte records whether read_buffer
1004 is multibyte. Encountering any multibyte character makes it so.
1005
1006 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
1007
1008 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
1009 with the same sequence, map that sequence to f10 rather than f0.
1010
1011 2002-02-03 Andreas Schwab <schwab@suse.de>
1012
1013 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
1014 latter never being defined on GNU/Linux.
1015
1016 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1017
1018 * xfaces.c (realize_default_face): Don't set the weight and slant
1019 of the default face to Qnormal, unless these attributes are
1020 unspecified.
1021
1022 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1023
1024 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
1025 Call cancel_hourglass unconditionally.
1026
1027 * eval.c (Fsignal): Remove duplicated declaration of
1028 the variable `display_hourglass_p'.
1029
1030 2002-01-31 Richard M. Stallman <rms@gnu.org>
1031
1032 * editfns.c (region_limit): Nicer error message.
1033
1034 * coding.c (decode_composition_emacs_mule):
1035 Give up if NCOMPONENT gets too large to index `component'.
1036
1037 * callint.c (check_mark): New arg to specify clearer error message.
1038 Callers changed.
1039
1040 2002-01-27 Richard M. Stallman <rms@gnu.org>
1041
1042 * minibuf.c (Fcompleting_read): Doc fix.
1043
1044 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1045
1046 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
1047 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
1048 Fix doc-strings.
1049
1050 2002-01-26 Richard M. Stallman <rms@gnu.org>
1051
1052 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
1053
1054 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
1055 and scroll_up_aggressively.
1056
1057 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1058
1059 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
1060
1061 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
1062
1063 * textprop.c (Fnext_property_change, Fnext_single_property_change)
1064 (Fprevious_property_change, Fprevious_single_property_change):
1065 Stay within the narrowed-buffer boundaries.
1066
1067 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1068
1069 * term.c (Ftty_display_color_cells): New function.
1070 (syms_of_term): Defsubr it.
1071 (Ftty_display_color_cells, Ftty_display_color_p): Change the
1072 argument name to DISPLAY. Doc fix.
1073
1074 * dispextern.h: Add prototype for set_tty_color_mode and
1075 tty_setup_colors.
1076
1077 2002-01-24 Jason Rumney <jasonr@gnu.org>
1078
1079 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
1080 If region left to draw is not what was expected, mark the frame as
1081 garbaged.
1082
1083 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
1084 Combine the regions returned by BeginPaint and GetUpdateRect.
1085
1086 2002-01-23 Jason Rumney <jasonr@gnu.org>
1087
1088 * w32term.c (x_update_window_begin): Only hide caret if
1089 w32_use_visible_system_caret is set.
1090 (x_update_window_end): Only show caret if
1091 w32_use_visible_system_caret is set.
1092 (syms_of_w32term): Handle SystemParametersInfo call failing.
1093
1094 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
1095
1096 2002-01-22 Richard M. Stallman <rms@gnu.org>
1097
1098 * unexelf.c (unexec): Define n so as to cause compilation error
1099 for the code where people have often written n instead of nn.
1100
1101 * .gdbinit (hookpost-run): Defined.
1102
1103 2002-01-22 Jan D. <Jan.Djarv@mbox200.swipnet.se>
1104
1105 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
1106
1107 2002-01-21 Jan D. <Jan.Djarv@mbox200.swipnet.se>
1108
1109 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
1110 if fullscreen is being set.
1111
1112 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1113
1114 * minibuf.c (Fminibuffer_contents)
1115 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
1116 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
1117
1118 2002-01-21 Richard M. Stallman <rms@gnu.org>
1119
1120 * window.c (check_frame_size): Fix minimum height calculation.
1121
1122 2002-01-20 Ken Raeburn <raeburn@gnu.org>
1123
1124 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
1125 height before comparison.
1126 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
1127
1128 2002-01-20 Jason Rumney <jasonr@gnu.org>
1129
1130 * w32term.c (w32_system_caret_width): Remove.
1131 (w32_use_visible_system_caret): New user flag.
1132 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
1133 Windows reports a screen reader running.
1134 (x_update_window_begin): Hide the system caret.
1135 (x_update_window_end): Show the system caret.
1136 (x_display_and_set_cursor): Don't draw a cursor when
1137 w32_use_visible_system_caret is set. Do not adjust width.
1138
1139 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
1140 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
1141 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
1142 the user requests it. Use system default width when creating.
1143 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
1144
1145 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
1146 New window messages.
1147
1148 2002-01-20 Richard M. Stallman <rms@gnu.org>
1149
1150 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
1151
1152 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1153
1154 * doprnt.c (doprnt1): Fix typos in error call.
1155
1156 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1157
1158 * unexelf.c (unexec) [__sgi]: Support the .got sections.
1159
1160 2002-01-20 Jason Rumney <jasonr@gnu.org>
1161
1162 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
1163 that Windows returns. If a double check fails, try to guess how
1164 ExtTextOut is going to act.
1165
1166 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
1167 in place of stricmp.
1168 (w32_list_synthesized_fonts): Removed.
1169 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
1170 (struct enumfont_t): New element; list.
1171 (enum_font_cb2): List all style and charset variations of a font.
1172 (Fw32_select_font): New optional argument; include_proportional.
1173 Exclude vertical fonts. Exclude proportional fonts unless
1174 include_proportional is non-nil.
1175 (w32_enable_synthesized_fonts): Change to a boolean.
1176 (Fw32_send_sys_command): Doc fix.
1177
1178 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1179
1180 * dispnew.c (update_frame): Move the variable `tem' to the block
1181 where it is used.
1182
1183 2002-01-19 Jason Rumney <jasonr@gnu.org>
1184
1185 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
1186 call to face-set-after-frame-default.
1187
1188 2002-01-18 Richard M. Stallman <rms@gnu.org>
1189
1190 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
1191 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
1192
1193 2002-01-17 Richard M. Stallman <rms@gnu.org>
1194
1195 * window.c (enlarge_window): When exceeding size of parent,
1196 directly delete all the siblings instead of trying to resize it.
1197
1198 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1199
1200 * term.c (set_tty_color_mode): Remove unused variable `tem'.
1201
1202 2002-01-16 Henrik Enberg <henrik@enberg.org>
1203
1204 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
1205
1206 2002-01-16 Kim F. Storm <storm@cua.dk>
1207
1208 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
1209 is invisible. This can happen if cursor is on top line of a
1210 window, and we switch to a buffer with a header line.
1211
1212 * w32term.c (x_erase_phys_cursor): Ditto.
1213
1214 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1215
1216 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
1217 `dont_resize' only when used.
1218
1219 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
1220
1221 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
1222
1223 * xdisp.c (display_mode_element): When computing charpos, depend
1224 on multibyteness of elt, not the text in field.
1225
1226 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1227
1228 * buffer.c (Fkill_all_local_variables): Increment
1229 `update_mode_lines' only once.
1230
1231 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1232
1233 * lisp.h (adjust_after_replace_noundo)
1234 (Fupdate_coding_systems_internal): Add prototypes.
1235
1236 * sound.c (Fplay_sound): Initialize header_size also for :data case.
1237
1238 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
1239
1240 Support for the --color command-line argument and tty-color-mode
1241 frame parameter:
1242
1243 * term.c (tty_default_color_capabilities, tty_setup_colors)
1244 (set_tty_color_mode): New functions.
1245 (term_init): Call tty_default_color_capabilities.
1246 (Qtty_color_mode_alist): New variable.
1247 (syms_of_term): Intern and staticpro it.
1248
1249 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
1250 frames.
1251 (do_switch_frame): For termcap frames, switch the tty
1252 color mode as specified by the frame's parameters.
1253 (Qtty_color_mode): New variable.
1254 (syms_of_frame): Intern and staticpro it.
1255
1256 * emacs.c (USAGE2): Add the --color option.
1257 (standard_args): Ditto.
1258
1259 2002-01-13 Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
1260
1261 * xterm.h (struct x_output): New members want_fullscreen,
1262 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
1263 y_pixels_outer_diff.
1264 New enum for FULLSCREEN_* constants.
1265 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
1266 is NULL.
1267 (x_fullscreen_adjust): Add prototype.
1268
1269 * emacs.c (USAGE2): Add the new full-screen arguments.
1270 (standard_args): Ditto.
1271
1272 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
1273 New variables.
1274 (syms_of_xfns): Intern and staticpro them.
1275 (x_frame_parms) <"fullscreen">: New parameter.
1276 (x_fullscreen_move, x_set_fullscreen): New functions.
1277 (x_set_frame_parameters): Support for Qfullscreen.
1278 (x_real_positions): More accurate computation of the frame position.
1279 (x_figure_window_size): Support full-screen frames.
1280 (Fx_create_frame): Default the fullscreen parameter.
1281
1282 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
1283 (XTread_socket) <Expose>: Call x_check_fullscreen.
1284 <ConfigureNotify>: Don't resize to fullscreen.
1285 Call x_check_fullscreen_move, and set the want_fullscreen member of
1286 output_data.x.
1287
1288 2002-01-13 Jason Rumney <jasonr@gnu.org>
1289
1290 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
1291 for mice with more than 3 buttons.
1292
1293 * w32term.c (parse_button): New parameter xbutton. Callers changed.
1294 (w32_read_socket): Handle new "XBUTTON" messages.
1295
1296 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
1297 (syms_of_w32fns): DEFVAR_BOOL it.
1298 (w32_wnd_proc): Handle new "XBUTTON" messages.
1299
1300 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1301
1302 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
1303
1304 2002-01-13 Andreas Schwab <schwab@suse.de>
1305
1306 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
1307
1308 2002-01-12 Andreas Schwab <schwab@suse.de>
1309
1310 * .gdbinit (xbuffer): Remove address operator since data is now a
1311 pointer.
1312
1313 2002-01-11 Richard M. Stallman <rms@gnu.org>
1314
1315 * insdel.c (adjust_after_replace_noundo): New function.
1316
1317 * coding.c (code_convert_region): Don't copy old text if undo disabled.
1318
1319 2002-01-09 Jason Rumney <jasonr@gnu.org>
1320
1321 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
1322 when checking for multiple frames.
1323
1324 2002-01-08 Richard M. Stallman <rms@gnu.org>
1325
1326 * window.c (delete_window): Rewrite the code for changing the
1327 selected window to handle the case where WINDOW is not a leaf.
1328
1329 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
1330
1331 * process.c (send_process): Set src_multibyte to 1 after the call
1332 top setup_coding_system, not before the call.
1333
1334 2002-01-07 Jason Rumney <jasonr@gnu.org>
1335
1336 * xmenu.c (set_frame_menubar, xmenu_show):
1337 (xdialog_show): Initialize wv->help to Qnil.
1338
1339 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
1340 (w32_dialog_show): Initialize wv->help to Qnil.
1341
1342 2002-01-06 Jason Rumney <jasonr@gnu.org>
1343
1344 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
1345
1346 * w32menu.c (w32_menu_display_help): Revert last change.
1347
1348 * xmenu.c (menu_highlight_callback): Revert last change.
1349
1350 2002-01-06 Andreas Schwab <schwab@suse.de>
1351
1352 * insdel.c (make_gap_larger): Make sure buffer size does not
1353 overflow range of int.
1354
1355 2002-01-05 Jason Rumney <jasonr@gnu.org>
1356
1357 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1358 OVERLAPS_P.
1359
1360 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
1361
1362 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
1363 to the left or to the right of the pointer, put it against
1364 the left screen edge.
1365 (x_frame_parms): Add missing braces around initializer.
1366
1367 * w32term.c (x_setup_relief_colors): Don't compute an image's
1368 background color if it doesn't have a Pixmap.
1369 (notice_overwritten_cursor): Don't depend on
1370 output_cursor and updated_area. Compare pixel coordinates with
1371 window's cursor pixel coordinates.
1372 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1373 Call notice_overwritten_cursor with new arg list.
1374 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1375 unconditionally.
1376 (x_draw_image_relief): Use predefined macro instead of
1377 constant when the value of `tool_bar_button_relief' is negative.
1378
1379 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
1380
1381 2002-01-04 Richard M. Stallman <rms@gnu.org>
1382
1383 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
1384
1385 2002-01-03 Richard M. Stallman <rms@gnu.org>
1386
1387 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
1388 (Fkey_binding): Try the `keymap' property map first.
1389 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
1390 minor mode bindings.
1391
1392 2002-01-03 Kim F. Storm <storm@cua.dk>
1393
1394 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
1395
1396 2002-01-02 Richard M. Stallman <rms@gnu.org>
1397
1398 * keyboard.c (read_key_sequence): Handle the keymap property
1399 before minor mode maps.
1400
1401 * editfns.c (Fformat): Update thissize from field_width
1402 based on the actual width, in the string case.
1403
1404 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1405
1406 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
1407 when used as truth value to prevent gcc warnings.
1408
1409 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
1410 * w32proc.c: Include <config.h>.
1411
1412 2002-01-01 Andreas Schwab <schwab@suse.de>
1413
1414 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
1415 not EMACS_INT, to make them compatible with DEFVAR_INT.
1416 * lisp.h (max_specpdl_size): Adjust declaration.
1417
1418 2002-01-01 Richard M. Stallman <rms@gnu.org>
1419
1420 * print.c (print_object): Test print_escape_nonascii only for
1421 unibyte strings.
1422 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
1423 when outputting to a multibyte buffer.
1424
1425 2001-12-29 Richard M. Stallman <rms@gnu.org>
1426
1427 * print.c (print_object): In multibyte string, use hex escapes.
1428 Use octal only for unibyte strings.
1429 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
1430
1431 * lread.c (read_escape): New arg BYTEREP for reporting whether
1432 escape forces unibyte or multibyte.
1433 (read1): When reading a string, take note of that info.
1434
1435 2001-12-29 Ken Raeburn <raeburn@gnu.org>
1436
1437 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
1438 comparison to test lisp value returned by Fget.
1439
1440 2001-12-29 Richard M. Stallman <rms@gnu.org>
1441
1442 * lisp.h (max_specpdl_size): Add declaration.
1443
1444 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
1445
1446 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
1447 Handle modifier bits. Correct typo in error message.
1448
1449 2001-12-28 Richard M. Stallman <rms@gnu.org>
1450
1451 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
1452 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
1453 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1454 Update calls to Fdefine_abbrev.
1455 (write_abbrev): Update for changed data format.
1456 Don't list "system" abbrevs.
1457 (Fexpand_abbrev): Update use count with new data format.
1458 (describe_abbrev): Update for changed data format.
1459 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
1460
1461 * config.in (HAVE_MBSINIT): Add #undef.
1462
1463 * strftime.c (mbsinit): Define as no-op if not available.
1464
1465 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
1466 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
1467
1468 * keymap.c (Flookup_key): Error message if key has wrong data type.
1469 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
1470 (exclude_key): New variable.
1471
1472 2001-12-28 Gerd Moellmann <gerd@gnu.org>
1473
1474 * xterm.c (x_setup_relief_colors): Don't compute an image's
1475 background color if it doesn't have a Pixmap.
1476
1477 * xterm.c (notice_overwritten_cursor): Don't depend on
1478 output_cursor and updated_area. Compare pixel coordinates with
1479 window's cursor pixel coordinates.
1480 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1481 Call notice_overwritten_cursor with new arg list.
1482 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1483 unconditionally.
1484
1485 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
1486 height of the cursor line to the amount to scroll.
1487
1488 2001-12-27 Richard M. Stallman <rms@gnu.org>
1489
1490 * intervals.c (set_point_both): The position after an invisible,
1491 intangible character is not an acceptable stopping point.
1492
1493 2001-12-27 Ken Raeburn <raeburn@gnu.org>
1494
1495 * window.c (enlarge_window): In new preserve_before code, convert
1496 CURBEG from lisp object to integer before doing arithmetic.
1497
1498 2001-12-27 Richard M. Stallman <rms@gnu.org>
1499
1500 * bytecode.c (Fbyte_code): Undo previous change.
1501
1502 2001-12-26 Kim F. Storm <storm@cua.dk>
1503
1504 * keyboard.c (record_char): Ignore duplicate help-echo events only
1505 separated by mouse-movement. When tracking mouse, only record
1506 first and last mouse-movement event in same window.
1507 Don't record mouse-movement events in keyboard macros.
1508
1509 2001-12-25 Richard M. Stallman <rms@gnu.org>
1510
1511 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
1512 (Fenlarge_window): New arg PRESERVE_BEFORE.
1513
1514 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
1515 instead of Fstring_as_unibyte.
1516
1517 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1518
1519 The following changes remove mocklisp support:
1520
1521 * mocklisp.h, mocklisp.c: Files removed.
1522
1523 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
1524 `Qmocklisp' and `Qmocklisp_arguments'.
1525 Remove prototype of syms_of_mocklisp.
1526
1527 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
1528
1529 * callint.c: Do not include mocklisp.h.
1530 (Fcall_interactively): Do not test for mocklisp case.
1531
1532 * eval.c: Remove variables `Qmocklisp_arguments',
1533 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
1534 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
1535 Do not test for mocklisp case.
1536 (Fwhile): Remove unused variable `tem'.
1537 (syms_of_eval): Remove variable `moclisp-arguments'.
1538
1539 * data.c (wrong_type_argument): Remove mocklisp case.
1540
1541 * doc.c (Fdocumentation): Remove mocklisp case.
1542
1543 * emacs.c (main): Do not call syms_of_mocklisp.
1544
1545 2001-12-21 Richard M. Stallman <rms@gnu.org>
1546
1547 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
1548 to the left or to the right of the pointer, put it against
1549 the left screen edge.
1550
1551 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
1552
1553 * Makefile.in (distclean): Remove .gdbinit if we are building
1554 outside the source tree.
1555
1556 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
1557
1558 * w32.c (emacs_root_dir): New function.
1559
1560 * msdos.c (emacs_root_dir): New function.
1561
1562 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
1563 of the current drive as the fallback for default_directory.
1564
1565 * dired.c (file_name_completion): Run the elements of
1566 completion-ignored-extensions through ENCODE_FILE.
1567
1568 * lisp.h (scmp): Remove prototype, since it's now a static
1569 function private to dired.c.
1570
1571 2001-12-18 Richard M. Stallman <rms@gnu.org>
1572
1573 * dired.c (scmp): Function moved from minibuf.c.
1574 Delete multibyte handling--used only on encoded strings.
1575
1576 * minibuf.c (scmp): Function moved to dired.c.
1577
1578 * fns.c (merge): Add QUIT call.
1579
1580 2001-12-18 Dave Love <fx@gnu.org>
1581
1582 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
1583 language/georgian.el.
1584
1585 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1586
1587 * Makefile.in (lisp, shortlisp): Synchronize with changes to
1588 lisp/Makefile.in:DONTCOMPILE.
1589
1590 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1591
1592 * xdisp.c (window_box_height): Do not return negative values.
1593 From Gerd Moellmann <gerd@gnu.org>.
1594
1595 * keyboard.c (head_table): Add missing braces around initializer.
1596
1597 * term.c (keys): Likewise.
1598
1599 * xfns.c (x_frame_parms, visual_classes): Likewise.
1600
1601 2001-12-17 Sam Steingold <sds@gnu.org>
1602
1603 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
1604 patch (COMPOSING_P, not COMPOSING).
1605
1606 2001-12-17 Richard M. Stallman <rms@gnu.org>
1607
1608 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
1609
1610 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
1611 before calling decode_coding.
1612
1613 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
1614
1615 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
1616 instead of only for COMPOSITION_DISABLED.
1617
1618 2001-12-16 Richard M. Stallman <rms@gnu.org>
1619
1620 * alloc.c (pure_alloc): After overflow, allocate just a small block.
1621
1622 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
1623
1624 * buffer.h (struct buffer): New field `display_error_modiff'.
1625 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
1626
1627 * window.c (Frecenter): Clear display_error_modiff field.
1628
1629 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
1630 Call redisplay_window, but not if display_error_modiff field says no.
1631 (redisplay_window_error): New function.
1632 (displayed_buffer): New variable.
1633 (redisplay_internal, redisplay_windows): Call the new functions
1634 instead of redisplay_window directly.
1635
1636 2001-12-15 Richard M. Stallman <rms@gnu.org>
1637
1638 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1639
1640 2001-12-14 Andrew Innes <andrewi@gnu.org>
1641
1642 * makefile.w32-in (EMACSLOADPATH): Define.
1643 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
1644 (bootstrap-temacs): Remove dependency on bootstrap-clean.
1645
1646 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
1647
1648 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
1649 parameter have a numeric value all the time.
1650
1651 * w32fns.c (x_report_frame_params): Likewise.
1652
1653 2001-12-12 Richard M. Stallman <rms@gnu.org>
1654
1655 * fileio.c (Fwrite_region): Doc fix.
1656
1657 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
1658 (redisplay_internal): Call clear_image_cache only for window terminals.
1659
1660 2001-12-12 Gerd Moellmann <gerd@gnu.org>
1661
1662 * xdisp.c (move_it_vertically_backward): Change heuristic
1663 for the case that we didn't move far enough initially.
1664
1665 * window.c (Frecenter): Simplify computation in the case of window
1666 system frames and ARG < 0; use window_box_height.
1667
1668 2001-12-11 Richard M. Stallman <rms@gnu.org>
1669
1670 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
1671 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
1672
1673 2001-12-11 Andrew Innes <andrewi@gnu.org>
1674
1675 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
1676 arg is negative.
1677
1678 2001-12-11 Richard M. Stallman <rms@gnu.org>
1679
1680 * m/hp800.h: Split the __hpux conditional into the parts
1681 that are right for GNU/Linux too and the parts that are not.
1682 Use the former if GNU_LINUX.
1683 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
1684
1685 * s/gnu-linux.h (GNU_LINUX): Defined.
1686
1687 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1688
1689 * macros.c, msdos.c, w16select.c: Change doc-string comments to
1690 `new style' [w/`doc:' keyword].
1691
1692 2001-12-10 Jason Rumney <jasonr@gnu.org>
1693
1694 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
1695 before using.
1696
1697 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1698
1699 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
1700 keyword].
1701
1702 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
1703
1704 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
1705
1706 * s/hpux10.h (srand48): Don't undefine.
1707
1708 2001-12-09 Jason Rumney <jasonr@gnu.org>
1709
1710 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
1711 Add comment to explain where the struct came from.
1712 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
1713 (add_menu_item): Process pop-up menus first to avoid memory leak.
1714 (add_menu_item, w32_menu_display_help): Use `help' field as
1715 Lisp_Object.
1716 (w32_free_submenu_strings): Only free owner-drawn strings.
1717
1718 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1719
1720 * COPYING: Moved back.
1721
1722 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
1723 Add parentheses around && within ||.
1724
1725 * indent.c (compute_motion): Likewise.
1726
1727 * intervals.c (merge_properties_sticky): Likewise.
1728
1729 * coding.c (setup_coding_system, shrink_encoding_region)
1730 (Fdecode_sjis_char): Likewise.
1731
1732 2001-12-07 Andreas Schwab <schwab@suse.de>
1733
1734 * xdisp.c (display_mode_element): Don't read past end of string if
1735 it ends with '%'.
1736
1737 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
1738 can hold.
1739
1740 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
1741 from most_positive_fixnum and most_negative_fixnum, resp., and
1742 type changed to Lisp_Object.
1743 (syms_of_data): DEFVAR_LISP them.
1744
1745 2001-12-07 Richard M. Stallman <rms@gnu.org>
1746
1747 * callproc.c (init_callproc): Set Vdata_directory based on the source
1748 location whenever Emacs was run uninstalled.
1749
1750 2001-12-06 Paul Eggert <eggert@twinsun.com>
1751
1752 * config.in (HAVE_WORKING_VFORK): New #undefs.
1753 * process.c (create_process):
1754 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
1755 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
1756 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
1757 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
1758 * m/intel386.h (HAVE_VFORK): Likewise.
1759 * m/mips-siemens.h (HAVE_VFORK): Likewise.
1760 * m/mips.h (HAVE_VFORK): Likewise.
1761 * s/freebsd.h (vfork): Remove #define.
1762 * s/lynxos.h (HAVE_VFORK): Remove #undef.
1763 * s/usg5-4-2.h: Fix comment about vfork.
1764
1765 2001-12-06 Richard M. Stallman <rms@gnu.org>
1766
1767 * s/hpux10.h (random): Add undef.
1768 (HAVE_RANDOM): Define it just once.
1769
1770 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
1771
1772 * eval.c: Undo last change: the standard syntax is not wanted.
1773
1774 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
1775
1776 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
1777 scroll bars of the frame before deleting the frame itself. If the
1778 frame has a widget, delete the frame with XtDestroyWidget, and do
1779 not call XDestroyWindow before that.
1780
1781 2001-12-06 Kim F. Storm <storm@cua.dk>
1782
1783 * xfns.c (x_report_frame_params): Return actual fringe widths.
1784
1785 * w32fns.c (x_report_frame_params): Return actual fringe widths.
1786
1787 2001-12-05 Andrew Innes <andrewi@gnu.org>
1788
1789 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
1790 excessively large.
1791
1792 * insdel.c (make_gap_larger): New function.
1793 (make_gap_smaller): New function.
1794 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
1795 make_gap_smaller if arg is negative.
1796
1797 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
1798
1799 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
1800 Pass a dummy argument when calling interrupt_signal.
1801 (parse_menu_item): Mark disabled items before checking for empty def.
1802 (read_char_minibuf_menu_prompt): Make safety more visible.
1803 (read_key_sequence): Add a `first_unbound' variable.
1804 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
1805 unbound prefix as soon as we can detect it.
1806
1807 * doc.c (Fsnarf_documentation): Add prototype.
1808 (get_doc_string): Handle negative arguments.
1809 (Fdocumentation): Use AREF and ASIZE.
1810 Move the calls to get_doc_string to a single place.
1811 Don't confuse an interactive-spec for a docstring reference.
1812 (Fdocumentation_property): Take advantage of the fact that
1813 get_doc_string now ignores the sign of the docstring position.
1814
1815 * eval.c: Use standard syntax for usage in docstrings.
1816
1817 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1818
1819 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
1820
1821 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1822
1823 * xterm.c (x_draw_image_relief): Use predefined macro instead of
1824 constant when the value of `tool_bar_button_relief' is negative.
1825
1826 2001-12-02 Richard M. Stallman <rms@gnu.org>
1827
1828 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
1829 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
1830
1831 * fileio.c (read_non_regular): Delete Fsignal call.
1832
1833 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
1834
1835 * lisp.h (run_hook_list_with_args): Undo last change.
1836
1837 2001-12-01 Gerd Moellmann <gerd@gnu.org>
1838
1839 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
1840
1841 2001-12-01 Jason Rumney <jasonr@gnu.org>
1842
1843 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
1844
1845 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
1846 [!WM_MOUSELEAVE]: Define.
1847
1848 * w32menu.c (current_popup_menu, get_menu_item_info):
1849 (set_menu_item_info): New vars.
1850 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
1851 (w32_menu_show): Set current_popup_menu.
1852 (add_menu_item): Allocate new strings for owner-drawn menu items
1853 and help strings.
1854 Use owner-draw for disabled menu items again.
1855 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
1856 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
1857
1858 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
1859 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
1860 <WM_EXITMENULOOP>: Free menu strings.
1861 <WM_MOUSELEAVE>: Stop tracking mouse.
1862 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
1863
1864 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
1865 and mouse face.
1866
1867 2001-12-01 Kim F. Storm <storm@cua.dk>
1868
1869 The following changes add left-fringe and right-fringe
1870 frame parameters to adjust fringe widths, or remove one or
1871 both fringes.
1872
1873 * frame.h (struct frame): Remove trunc_area_pixel_width and
1874 trunc_area_cols fields.
1875 (Qleft_fringe, Qright_fringe): Declare.
1876 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
1877
1878 * frame.c (Qleft_fringe, Qright_fringe): New vars.
1879 (syms_of_frame): Initialize them.
1880
1881 * window.c (coordinates_in_window): Handle separate left and right
1882 fringe widths.
1883
1884 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
1885 and fringe_cols fields.
1886 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
1887 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
1888 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
1889 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
1890 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
1891 (x_compute_fringe_widths): Add prototype.
1892
1893 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
1894 fill fringe evenly with small dashes.
1895 (x_draw_fringe_bitmap): Clear background if necessary. Align and
1896 clip the new ZV bitmap to avoid jitter between rows.
1897 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
1898 background. Don't draw fringe bitmaps if fringe width is zero.
1899 (x_compute_fringe_widths): New function.
1900 (x_new_font, x_set_window_size_1): Use it.
1901
1902 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
1903 (x_set_frame_parameters): Process `font' parameter before other
1904 parameters as fringe widths depend on it.
1905 (x_set_fringe_width): New function.
1906 (x_figure_window_size): Use x_compute_fringe_widths.
1907 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
1908 parameters.
1909
1910 * widget.c (set_frame_size): Use x_compute_fringe_widths.
1911 (EmacsFrameSetCharSize): Ditto.
1912
1913 * w32term.h: Merged changes from xterm.h.
1914 * w32term.c: Merged changes from xterm.c.
1915 * w32fns.c: Merged changes from xfns.c.
1916
1917 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1918
1919 * COPYING: Removed.
1920
1921 2001-11-29 Dave Love <fx@gnu.org>
1922
1923 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
1924 extra extra slot.
1925 (detect_coding_mask): Fix call of detect_coding_iso2022.
1926
1927 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1928
1929 * fileio.c (file-name-coding-system)
1930 (default-file-name-coding-system): Doc fix (links to referenced
1931 variables added).
1932
1933 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1934
1935 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
1936 Add dummy uses of gcproN variables.
1937
1938 * category.c (describe_category, describe_category_1)
1939 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
1940 (syms_of_category): Don't defsubr Sdescribe_categories.
1941
1942 2001-11-28 Richard M. Stallman <rms@gnu.org>
1943
1944 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
1945
1946 * Makefile.in (lispdir): New variable, referring to build dir.
1947 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
1948
1949 2001-11-28 Andrew Innes <andrewi@gnu.org>
1950
1951 * w32menu.c (w32_menu_display_help): Actually add the new argument
1952 OWNER.
1953
1954 2001-11-28 Jason Rumney <jasonr@gnu.org>
1955
1956 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
1957 menu items. From David Ponce <dponce@wanadoo.fr>.
1958 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
1959 conditionally.
1960 (w32_menu_display_help): New argument OWNER. Rewritten to store a
1961 help event in the owner frame's keyboard buffer.
1962
1963 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
1964 (Fx_show_tip): Don't subtract last width from row width.
1965
1966 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
1967 (w32_read_socket): Use EQ to compare frames.
1968
1969 2001-11-28 Gerd Moellmann <gerd@gnu.org>
1970
1971 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1972 OVERLAPS_P.
1973
1974 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1975
1976 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
1977 `gcpro3' and `gcpro4'.
1978
1979 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
1980
1981 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1982
1983 * ccl.c: Use AREF and ASIZE.
1984
1985 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
1986
1987 * lisp.h (run_hook_list_with_args): Remove.
1988 (LIST_END_P): Fix call to wrong_type_argument.
1989 (make_fixnum_or_float): Use EMACS_INT rather than int.
1990
1991 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
1992
1993 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
1994 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
1995
1996 * eval.c: Use AREF and ASIZE.
1997 (Ffetch_bytecode): Add the file name to the error message.
1998
1999 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
2000 which match the end of the file-name.
2001 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
2002 is not a valid env var, but leave it as is instead.
2003
2004 * keymap.c (access_keymap): Handle t bindings like nil bindings.
2005 Make nil bindings in char-tables transparent.
2006 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
2007
2008 2001-11-26 Richard M. Stallman <rms@gnu.org>
2009
2010 * textprop.c (set_text_properties_1): Allow START, END in either order.
2011 Do nothing if range is empty.
2012
2013 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
2014
2015 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
2016 (clean): Not here.
2017
2018 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
2019
2020 * textprop.c (set_text_properties_1): Clearly mark that the
2021 interval should not be empty.
2022
2023 * intervals.c (graft_intervals_into_buffer):
2024 Don't call set_text_properties_1 on an empty interval.
2025
2026 2001-11-25 Richard M. Stallman <rms@gnu.org>
2027
2028 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
2029
2030 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
2031 don't lose the data in it.
2032
2033 2001-11-25 Juanma Barranquero <lektu@terra.es>
2034
2035 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
2036
2037 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
2038
2039 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
2040
2041 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
2042
2043 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
2044
2045 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
2046
2047 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
2048 Niemitalo <kon@iki.fi>.
2049
2050 2001-11-25 Jason Rumney <jasonr@gnu.org>
2051
2052 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
2053
2054 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
2055 (Fx_show_tip): Block input during frame creation.
2056 (Fx_show_tip, Fx_hide_tip): Enable.
2057
2058 2001-11-24 Richard M. Stallman <rms@gnu.org>
2059
2060 * lread.c (Fload): Detect recursive load error for more than 3
2061 nestings of the same file.
2062 (Vrecursive_load_depth_limit): Variable deleted.
2063 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
2064
2065 2001-11-24 Jason Rumney <jasonr@gnu.org>
2066
2067 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
2068 mouse position if either left or top is not specified.
2069
2070 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
2071 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
2072 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
2073 (my_create_tip_window): Assign tip_window.
2074 (x_create_tip_frame): Use same defaults as X.
2075 (compute_tip_xy): Remove unused variable. Use full screen width.
2076 (Fx_show_tip): Do not double height. Call ShowWindow directly.
2077
2078 * w32term.c (x_after_update_window_line): Doc fix.
2079 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
2080 frames.
2081 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
2082
2083 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
2084 for all Windowed systems.
2085
2086 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2087
2088 * msdos.c (IT_clear_screen): If the frame's faces are not yet
2089 realized, use the initial screen colors to clear the screen.
2090
2091 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2092
2093 * textprop.c (Fset_text_properties): Remove unused variables
2094 `unchanged', `prev_changed', `s' and `len'.
2095
2096 * search.c (Freplace_match): Remove unused variable `inslen'.
2097
2098 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
2099
2100 2001-11-22 Jason Rumney <jasonr@gnu.org>
2101
2102 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
2103 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
2104 (my_create_tip_window): New function.
2105 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
2106 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
2107
2108 2001-11-20 Jason Rumney <jasonr@gnu.org>
2109
2110 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
2111 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
2112
2113 * w32fns.c (Vw32_system_coding_system): Remove.
2114 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
2115
2116 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
2117
2118 * fileio.c (Fwrite_region): Move choose_write_coding_system to
2119 after build_annotations.
2120
2121 * syntax.c (describe_syntax): Add dummy arg.
2122 (describe_syntax_1): Update call to describe_vector.
2123
2124 * category.c (describe_category): Add dummy arg.
2125 (describe_category_1): Update call to describe_vector.
2126
2127 * keymap.c (Fdescribe_vector): Add `describer' parameter.
2128 (describe_command, describe_translation): Add dummy second param.
2129 (describe_map): Call elt_describer with two arguments.
2130 (describe_vector_princ): Add `fun' parameter.
2131 Call it instead of the hardcoded `princ'.
2132 (describe_vector): Add arg `args'.
2133 Pass it as a new second argument to elt_describer.
2134
2135 * keymap.h (describe_vector): Update prototype.
2136
2137 * frame.c: Don't include keymap.h any more.
2138 (keys_of_frame): Remove.
2139
2140 * lisp.h (keys_of_frame): Remove declaration.
2141
2142 * emacs.c (main): Don't call `keys_of_frame' any more.
2143
2144 2001-11-14 Andreas Schwab <schwab@suse.de>
2145
2146 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
2147 if defined, 0 otherwise.
2148 (MAP_FAILED): Define if not defined and use it to test mmap failure.
2149 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
2150
2151 2001-11-19 Richard M. Stallman <rms@gnu.org>
2152
2153 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
2154
2155 2001-11-18 Jason Rumney <jasonr@gnu.org>
2156
2157 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
2158 (x_draw_bar_cursor): If the background color of the glyph under
2159 the cursor equals the frame's cursor color, use the glyph's
2160 foreground color for drawing the bar cursor.
2161 (x_after_update_window_line): Clear internal border in different
2162 circumstances.
2163 (w32_set_vertical_scroll_bar): Check for width and height > 0.
2164 (w32_draw_relief_rect): Correct relief by 1 pixel.
2165 (x_set_glyph_string_background_width):
2166 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2167 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
2168 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
2169 if cursor_in_non_selected_windows is false.
2170 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2171 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
2172 Notice if cursor gets overwritten.
2173 (notice_overwritten_cursor): Renamed from
2174 note_overwritten_text_cursor. Rewritten to take glyph widths
2175 into account, and to take X positions as parameters.
2176 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2177 around call to x_draw_glyphs.
2178 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2179 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2180 color to use for image glyph reliefs.
2181 (x_draw_image_relief): Accept zero tool_bar_button_relief.
2182 (glyph_rect): Remove unused variable `area'.
2183
2184 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
2185 some items.
2186 (x_set_internal_border_width): Set frame garbaged when window
2187 doesn't exist yet.
2188 (Fx_create_frame): Accept zero tool_bar_button_relief.
2189 (x_clear_image_1, four_corners_best, image_background)
2190 (image_background_transparent): New functions.
2191 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
2192 (gs_format): Add `:background' entry.
2193 (lookup_image): Set IMG's background color if specified.
2194 (pbm_load, xbm_load_image, png_load): Set IMG's background field
2195 when appropriate.
2196 (x_clear_image_1): Reset `background_valid' and
2197 `background_transparent_valid' fields.
2198 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2199 calculating it here. Set IMG's background_transparent field.
2200 (enum xpm_keyword_index): Add XPM_BACKGROUND.
2201 (enum png_keyword_index): Add PNG_BACKGROUND.
2202 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2203 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2204 (enum gif_keyword_index): Add GIF_BACKGROUND.
2205 (enum gs_keyword_index): Add GS_BACKGROUND.
2206 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
2207 Pre-calculate image background color where necessary.
2208 (x_create_x_image_and_pixmap, xbm_load, gs_load):
2209 Use display info's n_cbits entry for screen depth.
2210 (Fx_show_tip): Remove unused variables `buffer', `top',
2211 `left', `max_width' and `max_height'.
2212
2213 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
2214
2215 2001-11-18 Gerd Moellmann <gerd@gnu.org>
2216
2217 * puresize.h (BASE_PURESIZE): Increase to 750000.
2218
2219 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2220
2221 * frame.c (Fframe_live_p): Doc fix.
2222
2223 2001-11-18 Richard M. Stallman <rms@gnu.org>
2224
2225 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
2226 (message_dolog_marker3): New static variables hold three markers.
2227 (syms_of_xdisp): Initialize and staticpro them.
2228 (message_dolog): Use message_dolog_marker1..3 instead of
2229 allocating markers each time. Unchain them when done.
2230
2231 2001-11-17 Richard M. Stallman <rms@gnu.org>
2232
2233 * doc.c (Fsnarf_documentation): Doc fix.
2234
2235 2001-11-17 Andreas Schwab <schwab@suse.de>
2236
2237 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
2238
2239 2001-11-17 Richard M. Stallman <rms@gnu.org>
2240
2241 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
2242
2243 2001-11-17 Jason Rumney <jasonr@gnu.org>
2244
2245 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
2246
2247 2001-11-17 Gerd Moellmann <gerd@gnu.org>
2248
2249 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
2250 with invalid position.
2251
2252 2001-11-16 Richard M. Stallman <rms@gnu.org>
2253
2254 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
2255
2256 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
2257 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
2258 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
2259
2260 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
2261
2262 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
2263
2264 * fileio.c (build_annotations): Split off the tail.
2265 (build_annotations_2): New fun. Extracted from build_annotations.
2266 (Fwrite_region): Split the call to build_annotations into two
2267 calls to build_annotations and build_annotations_2.
2268
2269 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2270
2271 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
2272 clear_waiting_for_input with argument.
2273
2274 * xterm.h (x_update_cursor): Remove duplicated prototype.
2275
2276 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
2277
2278 * xterm.c (waiting_for_input): Remove unnecessary declaration.
2279
2280 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
2281
2282 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
2283
2284 * fileio.c (choose_write_coding_system): New fun, extracted
2285 from Fwrite_region.
2286 (Fwrite_region): Use it.
2287
2288 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
2289 (funcall_lambda, run_hook_with_args): Make static and add prototype.
2290 (ml_apply, find_handler_clause): Add prototype.
2291
2292 2001-11-16 Eli Zaretskii <eliz@gnu.org>
2293
2294 * config.in: Add #undef HAVE_COFF_H.
2295
2296 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
2297 Required for ISC 4.1.
2298
2299 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
2300
2301 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
2302 Andrew Wiseman <a.wiseman@btclick.com>.
2303
2304 2001-11-16 Kim F. Storm <storm@cua.dk>
2305
2306 The following changes are made to clean up the various internal
2307 references to the fringes to actually use the term `fringe' for
2308 them. Previously, they were called `flags areas', `bitmap areas',
2309 `left/right side of windows', or implicitly as `flags' or
2310 `bitmaps':
2311
2312 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
2313 Comments fixed. Use renamed symbols.
2314
2315 * dispnew.c: Comment fix. Use renamed symbols.
2316
2317 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
2318 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
2319 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
2320
2321 * msdos.c: Comment fix.
2322
2323 * w32fns.c: Use renamed symbols.
2324
2325 * w32term.c: Comment fixes. Use renamed symbols.
2326 (fringe_bitmap_type): Renamed from bitmap_type.
2327 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2328 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
2329 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2330
2331 * w32term.h: Comment fixes. Use renamed symbols.
2332 (fringes_extra): Renamed from flags_areas_extra.
2333 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2334 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2335 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2336 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
2337 (FRAME_X_LEFT_FRINGE_WIDTH):
2338 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2339 (FRAME_X_RIGHT_FRINGE_WIDTH):
2340 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2341
2342 * widget.c: Use renamed symbols.
2343
2344 * window.c: Comment fixes. Use renamed symbols.
2345 (coordinates-in-window-p): Doc fix.
2346
2347 * xdisp.c: Comment fixes. Use renamed symbols.
2348
2349 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
2350
2351 * xfns.c: Use renamed symbols.
2352
2353 * xterm.c: Comment fixes. Use renamed symbols.
2354 (fringe_bitmap_type): Renamed from bitmap_type.
2355 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2356 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
2357 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2358
2359 * xterm.h: Comment fixes. Use renamed symbols.
2360 (fringes_extra): Renamed from flags_areas_extra.
2361 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2362 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2363 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2364 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
2365 (FRAME_X_LEFT_FRINGE_WIDTH):
2366 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2367 (FRAME_X_RIGHT_FRINGE_WIDTH):
2368 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2369
2370 2001-11-15 Jason Rumney <jasonr@gnu.org>
2371
2372 * w32menu.c (add-menu-item): Make help_echo and radio buttons
2373 work for most menu items. From David Ponce
2374 <david.ponce@wanadoo.fr>.
2375
2376 2001-11-15 Gerd Moellmann <gerd@gnu.org>
2377
2378 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
2379 Some x_set_* function expect to be called even if old and new
2380 value are equal.
2381
2382 * xdisp.c (build_desired_tool_bar_string): Accept zero
2383 tool_bar_button_relief.
2384
2385 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
2386
2387 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
2388
2389 * xterm.c (x_draw_bar_cursor): If the background color of the
2390 glyph under the cursor equals the frame's cursor color, use
2391 the glyph's foreground color for drawing the bar cursor.
2392
2393 * dispnew.c (direct_output_forward_char): Fix character/byte
2394 position comparison.
2395
2396 2001-11-15 Miles Bader <miles@gnu.org>
2397
2398 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
2399 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
2400 Update arguments to find_field.
2401 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
2402 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
2403 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
2404 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
2405
2406 2001-11-14 Richard M. Stallman <rms@gnu.org>
2407
2408 * editfns.c (Fpropertize): Allow call with 1 arg.
2409
2410 * dispextern.h (image_background, image_background_transparent):
2411 Conditionalize on HAVE_X_WINDOWS.
2412
2413 2001-11-13 Richard M. Stallman <rms@gnu.org>
2414
2415 * print.c (Fprin1_to_string): Doc fix.
2416
2417 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
2418
2419 * floatfns.c (Fceiling, Ffloor): Doc fixes.
2420
2421 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
2422
2423 * fileio.c (Ffile_accessible_directory_p): Doc fix.
2424
2425 * eval.c (syms_of_eval): Doc fix.
2426
2427 * coding.c (syms_of_coding): Doc fix.
2428
2429 * doc.c (Fsnarf_documentation): Doc fix.
2430
2431 * dispnew.c (syms_of_display): Doc fix.
2432
2433 * category.c (Fget_unused_category): Doc fix.
2434
2435 * buffer.c (syms_of_buffer): Doc fixes.
2436
2437 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
2438
2439 * print.c (prin1, print): Doc fix.
2440
2441 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2442
2443 * fontset.h: Remove declarations of variables
2444 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
2445
2446 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
2447 `Vclip_large_size_font'.
2448
2449 2001-11-13 Jason Rumney <jasonr@gnu.org>
2450
2451 * w32fns.c: Doc fix.
2452
2453 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2454
2455 * xfaces.c (Fface_attributes_as_vector): Doc fix.
2456
2457 * w32fns.c (Fx_synchronize): Reindent.
2458
2459 * fns.c: Doc fix.
2460
2461 * emacs.c: Doc fix.
2462
2463 * coding.c: Doc fix.
2464
2465 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
2466 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
2467 `new style' [w/`doc:' keyword].
2468
2469 * xmenu.c (x-popup-menu): Reindent.
2470 (x-popup-dialog): Likewise.
2471
2472 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
2473
2474 * xdisp.c (Fdump_tool_bar_row): Reindent.
2475
2476 * minibuf.c (Fminibuffer_complete_word): Reindent.
2477 (Fminibuffer_complete_and_exit): Likewise.
2478 (Fminibuffer_completion_help): Likewise.
2479 (Fminibuffer_message): Likewise.
2480
2481 * fns.c (Freverse): Reindent.
2482
2483 * eval.c (Fif): Reindent.
2484 (Fand): Likewise.
2485
2486 * editfns.c (Fuser_real_login_name): Reindent.
2487 (Finsert_buffer_substring): Likewise.
2488 (Fcompare_buffer_substrings): Likewise.
2489 (Fsubst_char_in_region): Likewise.
2490
2491 * dispnew.c (Fsit_for): Reindent.
2492 (Fframe_or_buffer_changed_p): Likewise.
2493 (Finternal_show_cursor_p): Likewise.
2494 (syms_of_display): Likewise.
2495
2496 * alloc.c (Flist): Reindent.
2497 (Fvector): Likewise.
2498
2499 2001-11-12 Richard M. Stallman <rms@gnu.org>
2500
2501 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
2502 LeaveNotify events. Only FocusIn and FocusOut do that now.
2503 (x_display_and_set_cursor): Do display hollow cursors in active
2504 minibuffer windows when they are not selected.
2505
2506 2001-11-12 Jason Rumney <jasonr@gnu.org>
2507
2508 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
2509 * w32term.c: Change doc-string comments to `new style'.
2510 [w/`doc:' keyword]. Doc fixes.
2511
2512 * w32fns.c: Don't define max.
2513 (Fx_open_connection): Only execute once.
2514
2515 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2516
2517 * ccl.c: Change macros to use do-while block instead of if-else.
2518 Use braces to follow GNU Coding Standards.
2519
2520 2001-11-11 Richard M. Stallman <rms@gnu.org>
2521
2522 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
2523
2524 * lread.c (read_escape): Use end_of_file_error for reporting eof.
2525
2526 * insdel.c (replace_range): Use adjust_markers_for_replace
2527 instead of adjust_markers_for_delete and adjust_markers_for_insert.
2528
2529 * intervals.h: Declare set_text_properties and set_text_properties_1.
2530
2531 * textprop.c (set_text_properties_1): New subroutine
2532 broken out of set_text_properties.
2533 (set_text_properties): Use set_text_properties_1.
2534
2535 * intervals.c (graft_intervals_into_buffer):
2536 Use set_text_properties_1 to clear out properties.
2537
2538 * search.c (Freplace_match): Use replace_range to insert
2539 and delete. Don't request property inheritance from
2540 surrounding text.
2541
2542 2001-11-10 Jason Rumney <jasonr@gnu.org>
2543
2544 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
2545 vertical fonts. Allow them if face name is explicitly specified.
2546 Do not give up if we find a font that cannot be converted to an xlfd.
2547
2548 2001-11-10 Gerd Moellmann <gerd@gnu.org>
2549
2550 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
2551 instead of malloc/free.
2552
2553 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2554
2555 * xfaces.c (merge_face_vectors): Use braces to follow GNU
2556 Coding Standards.
2557 (Finternal_set_lisp_face_attribute): Likewise.
2558
2559 * buffer.c (Fbury_buffer): Likewise.
2560
2561 * indent.c (current_column_1): Remove unused variable `prev_col'.
2562
2563 * coding.c (encode_coding): Use precomputed value of `src'.
2564 (encode_coding): Remove unused variable `src_end'.
2565 (code_convert_region): Remove unused variables `count'.
2566
2567 2001-11-07 Jason Rumney <jasonr@gnu.org>
2568
2569 * w32term.c (x_display_and_set_cursor): Do not move system caret
2570 if cursor_glyph is NULL.
2571
2572 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2573
2574 * keymap.c (access_keymap): Fix compilation error.
2575
2576 2001-11-07 Miles Bader <miles@gnu.org>
2577
2578 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
2579
2580 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2581
2582 * intervals.c (graft_intervals_into_buffer):
2583 Remove #ifdef'd-out code.
2584 (graft_intervals_into_buffer): Remove unused variable `middle'.
2585
2586 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
2587 code (eval-current-buffer).
2588 Change doc-string comments to `new style' [w/`doc:' keyword].
2589
2590 2001-11-06 Richard M. Stallman <rms@gnu.org>
2591
2592 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
2593
2594 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
2595
2596 * lread.c (read1): Fix behavior with nested backquoting.
2597
2598 * keyboard.c (make_lispy_event): Check integerness and fix
2599 Lisp_Object/int mixup.
2600
2601 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2602
2603 * fns.c (copy_hash_table): Remove unused variable `v'.
2604
2605 * fontset.c (fontset_font_pattern): Remove unused variable
2606 `family_registry'.
2607
2608 * indent.c (current_column_1): Remove unused variable `prev_col'.
2609
2610 2001-11-05 Richard M. Stallman <rms@gnu.org>
2611
2612 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
2613
2614 * buffer.c (Fkill_buffer): Don't delete auto save file
2615 if buffer is modified.
2616
2617 2001-11-05 Andrew Innes <andrewi@gnu.org>
2618
2619 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
2620 CHECK_NUMBER_CDR.
2621
2622 2001-11-05 Richard M. Stallman <rms@gnu.org>
2623
2624 * unexelf.c (unexec): Minor changes; clean up comments.
2625
2626 2001-11-05 Sam Steingold <sds@gnu.org>
2627
2628 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
2629
2630 2001-11-05 Andreas Schwab <schwab@suse.de>
2631
2632 * sound.c (sound_perror): Save errno from being clobbered.
2633
2634 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
2635
2636 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
2637 the program image directly.
2638
2639 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2640
2641 * buffer.h (Fbuffer_local_value): Add prototype.
2642
2643 2001-11-04 Richard M. Stallman <rms@gnu.org>
2644
2645 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
2646 and CHECK_BUFFER.
2647
2648 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
2649 (record_char): Likewise.
2650
2651 * keyboard.c (make_lispy_event): Don't insist a drag event must
2652 move to a different buffer position. Instead, check for moving at
2653 least double_click_fuzz.
2654
2655 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
2656
2657 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
2658
2659 * indent.c (current_column_1, Fmove_to_column): Separate the code
2660 for display-table glyphs from the code buffer text, to fix
2661 bugs in the former.
2662
2663 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
2664
2665 * buffer.c (Fbuffer_local_value): New function.
2666 (syms_of_buffer): Defsubr it.
2667
2668 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
2669 value of `cursor-in-non-selected-windows'.
2670
2671 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
2672 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
2673 (syms_of_xdisp): Initialize it.
2674
2675 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2676
2677 * xfns.c (Fx_create_frame): Doc fix.
2678
2679 * coding.c: Change doc-string comments to `new style' [w/`doc:'
2680 keyword].
2681
2682 * eval.c (top_level_value, top_level_set): Remove commented and
2683 #ifdef'd-out code.
2684 (Fdefvar): Fix usage in doc-string.
2685
2686 2001-11-03 Richard M. Stallman <rms@gnu.org>
2687
2688 * xfns.c: Include unistd.h, if it exists.
2689
2690 * editfns.c: Move the include of ctype.h after unistd.h.
2691
2692 * gmalloc.c: Test BROKEN_PROTOTYPES.
2693
2694 2001-11-03 Ken Raeburn <raeburn@gnu.org>
2695
2696 * lisp.h (CHECK_STRING_CAR): New macro.
2697 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
2698 treating XCAR and XCDR as lvalues.
2699 (openp): Use CHECK_STRING_CAR.
2700 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
2701
2702 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
2703
2704 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
2705 (SIGMASKTYPE): Define.
2706
2707 * syssignal.h (sigunblock): Don't define if already defined.
2708
2709 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2710
2711 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
2712 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
2713 Fix typos in comments.
2714
2715 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
2716 and #ifdef'd-out code.
2717 Fix and reindent comments.
2718
2719 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
2720
2721 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
2722 argument `i' in macros.
2723
2724 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
2725 `i' in macros.
2726
2727 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
2728 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
2729 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
2730 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
2731 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
2732 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
2733 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
2734 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
2735 in macros.
2736
2737 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
2738 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
2739 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
2740 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
2741 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
2742 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
2743 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
2744 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
2745 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
2746 (remove unused second argument).
2747
2748 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
2749
2750 * syntax.c (describe_syntax): New wrapper.
2751 (Finternal_describe_syntax_value): Rename from describe_syntax.
2752 Don't insert space at front and \n at the end.
2753 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
2754
2755 * regex.c (re_wctype): Try to fix some warnings.
2756 (regcomp, regexec): Don't forget the __restrict.
2757
2758 2001-11-02 Richard M. Stallman <rms@gnu.org>
2759
2760 * textprop.c (Fget_char_property): Doc fix.
2761
2762 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2763
2764 * process.c (Fstart_process): Add usage to doc-string.
2765
2766 * data.c (Fsetq_default): Ditto.
2767
2768 * callint.c (Finteractive): Ditto.
2769
2770 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
2771
2772 * macros.c: Don't include keymap.h any more.
2773
2774 2001-11-01 Richard M. Stallman <rms@gnu.org>
2775
2776 * data.c (Fmake_local_variable): Doc fix.
2777
2778 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
2779 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
2780
2781 * keymap.c (Fdescribe_buffer_bindings): Print character property
2782 bindings along with or instead of the buffer local map.
2783 Make the overriding maps override what they should.
2784
2785 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2786
2787 * window.c (grow_mini_window): Fix typo in comment.
2788
2789 2001-11-01 Gerd Moellmann <gerd@gnu.org>
2790
2791 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
2792 (XTset_vertical_scroll_bar): Likewise.
2793
2794 * xfns.c (x_build_heuristic_mask): Use four_corners_best
2795 instead of IMAGE_BACKGROUND.
2796
2797 * xfns.c (four_corners_best): Reindent.
2798
2799 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
2800 Handle :box so that it is possible to specify sexprs.
2801
2802 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2803
2804 * xfaces.c (Finternal_merge_in_global_face): Reindent.
2805 (Fface_font): Ditto.
2806 (Finternal_set_alternative_font_registry_alist): Ditto.
2807 (Ftty_suppress_bold_inverse_default_colors): Ditto.
2808
2809 * xfns.c (x-get-resource): Reindent.
2810
2811 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
2812
2813 * s/hpux11.h: New file.
2814
2815 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2816
2817 * emacs.c (USAGE1): Show command line option --no-window-system
2818 instead of --no-windows in usage.
2819 (standard_args): Rename --no-windows to --no-window-system.
2820 (bug_reporting_address): Follow Emacs coding conventions.
2821
2822 * eval.c (Fcommandp): Doc fix.
2823 Change doc-string comments to `new style' [w/`doc:' keyword].
2824
2825 * frame.c (Fframe_live_p): Doc fix.
2826
2827 * buffer.c (selective-display-ellipses): Doc fix.
2828
2829 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2830
2831 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
2832
2833 * xfaces.c (realize_x_face): If C is not a single-byte character,
2834 set the face's colors_copied_bitwise_p instead of the defaulted_p
2835 members which have a different meaning.
2836 (free_face_colors): Do nothing for a face whose colors have been
2837 copied bitwise.
2838
2839 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
2840
2841 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2842
2843 * marker.c, mocklisp.c: Change doc-string comments to `new style'
2844 [w/`doc:' keyword].
2845
2846 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2847
2848 * fns.c (require_unwind): Return Lisp_Object.
2849
2850 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2851
2852 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
2853 (last-input-char): Revert doc-string to be the same as the
2854 doc-string of `last-input-event'.
2855
2856 * xdisp.c: Fix typos in comments.
2857
2858 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2859
2860 * window.c (grow_mini_window): Handle case that the root
2861 window is already smaller than the nominal mininum height.
2862
2863 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
2864
2865 * emacs.c (main): Don't call keys_of_macros any more.
2866
2867 * lisp.h (keys_of_macros): Remove.
2868
2869 * macros.c (keys_of_macros): Remove.
2870
2871 * xfaces.c (Fface_attribute_relative_p): Declare args.
2872
2873 2001-10-30 Jason Rumney <jasonr@gnu.org>
2874
2875 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
2876 (enum_font_cb2): Ignore fonts with vertical orientation.
2877
2878 2001-10-30 Richard M. Stallman <rms@gnu.org>
2879
2880 * keyboard.c (Finput_pending_p): Doc fix.
2881
2882 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2883
2884 * xterm.c (x_after_update_window_line): Don't run the code
2885 clearing in borders for rows whose visible height is 0.
2886
2887 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
2888 resized_p flag is set. If not set, use the much less flickering
2889 method previously used.
2890
2891 * dispnew.c (change_frame_size_1): Set frame's resized_p.
2892
2893 * frame.h (struct frame) <resized_p>: New member.
2894
2895 * lread.c (to_multibyte): Ensure read_buffer is at least twice
2896 as large as the number of bytes to convert.
2897
2898 * lread.c (to_multibyte): New function.
2899 (read1): Use it.
2900
2901 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
2902
2903 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
2904
2905 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2906
2907 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
2908 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
2909 if the row's fill_line_p is set and drawing the last glyph with
2910 DRAW_IMAGE_{RAISED,SUNKEN}.
2911
2912 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
2913
2914 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2915
2916 * xmenu.c: Include coding.h and charset.h.
2917 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
2918 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
2919 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
2920 Explicitly set wv->help. Use `TRUE' rather than `True'.
2921 (menu_help_callback): Use empty_string.
2922
2923 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
2924 (Fx_popup_dialog): Explicitly init f.
2925 (w32_menu_display_help): Use empty_string.
2926
2927 2001-10-29 Richard M. Stallman <rms@gnu.org>
2928
2929 * fns.c (Frequire): Detect recursive try to require the same
2930 feature 3 or more levels deep, and get error.
2931 (require_unwind): New subroutine.
2932 (require_nesting_list): New variable.
2933 (syms_of_fns): Init and staticpro it.
2934
2935 * print.c (print_object): Clarify indication of insertion type.
2936
2937 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
2938
2939 * coding.c (syms_of_coding): Document that locale-coding-system is
2940 used for decoding input on X.
2941
2942 * window.c (Fscroll_left, Fscroll_right): Doc fix.
2943
2944 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2945
2946 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
2947 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
2948
2949 2001-10-29 Gerd Moellmann <gerd@gnu.org>
2950
2951 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
2952 use NO_CURSOR if cursor_in_non_selected_windows is false.
2953
2954 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
2955 the slant attribute if FRAME is t.
2956
2957 * xfns.c (x_set_internal_border_width): Set frame garbaged
2958 when X window doesn't exist yet.
2959
2960 * xterm.c (x_after_update_window_line): Clear internal border
2961 in different circumstances.
2962
2963 * xterm.c (XTread_socket) <KeyPress>: Don't use
2964 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
2965 <handa@etl.go.jp>.
2966
2967 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2968
2969 * m/ibms390.h: New file. From Adam Thornton
2970 <athornton@sinenomine.net>.
2971
2972 2001-10-28 Gerd Moellmann <gerd@gnu.org>
2973
2974 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
2975
2976 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
2977 a loop counter.
2978
2979 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2980
2981 * emacs.c: Use argv[0] instead of emacs when -t was specified.
2982
2983 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
2984 keyword].
2985 Fix typos in comments.
2986
2987 * emacs.c (bug_reporting_address): New function.
2988 Use it when displaying usage message.
2989
2990 * minibuf.c (read_minibuf): Remove unused external declaration of
2991 variable `Qread_only'.
2992
2993 * keymap.c (access_keymap): Remove unused variable `charset'.
2994
2995 2001-10-28 Miles Bader <miles@gnu.org>
2996
2997 * xfaces.c (merge_face_heights): Handle TO being relative as well.
2998 Remove #ifdef'd-out code.
2999 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
3000 (syms_of_xfaces): Initialize them.
3001
3002 2001-10-27 Jason Rumney <jasonr@gnu.org>
3003
3004 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
3005 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
3006 position using the system caret.
3007
3008 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
3009 (w32_system_caret_height, w32_system_caret_x)
3010 (w32_system_caret_y): New variables for tracking system caret.
3011 (w32_initialize): Initialize them.
3012 (x_display_and_set_cursor): Make system caret follow the active cursor.
3013
3014 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
3015 New messages types.
3016
3017 * w32term.c (note_mouse_highlight): Clear old help_echo.
3018
3019 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3020
3021 * xterm.c: Fix typo in a comment.
3022
3023 * emacs.c: Fix typos in comments.
3024 Remove unnecessary spaces.
3025 Change doc-string comments to `new style' [w/`doc:' keyword].
3026 (USAGE2): Fix typos in usage string.
3027
3028 * xterm.c: Fix typo in a comment.
3029
3030 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
3031 emacs.c.
3032
3033 2001-10-27 Gerd Moellmann <gerd@gnu.org>
3034
3035 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
3036 instead of 1/2 line_height in the heuristic for skipping
3037 farther backward when target_y was not reached.
3038
3039 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
3040 Display errno only if non-zero.
3041 (sound_warning): New function.
3042 (vox_configure): Don't treat failing to set sample rate as error.
3043 (various places): Improve error messages.
3044
3045 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
3046
3047 * fileio.c (Faccess_file): Run the argument filename through
3048 Fexpand_file_name, before using it.
3049
3050 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
3051 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
3052
3053 2001-10-26 Gerd Moellmann <gerd@gnu.org>
3054
3055 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
3056
3057 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3058 Fix clearing in the case of scroll bars on the right.
3059
3060 2001-10-26 Juanma Barranquero <lektu@terra.es>
3061
3062 * w32gui.h (XImage): Add a dummy typedef.
3063
3064 2001-10-26 Gerd Moellmann <gerd@gnu.org>
3065
3066 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
3067
3068 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
3069
3070 * frame.c (Fframe_parameter): Fix last change.
3071
3072 * fileio.c: Revert last change (which removed old commented-out
3073 version of expand-file-name). Add a comment that explains why
3074 this old version should not be removed.
3075
3076 2001-10-25 Gerd Moellmann <gerd@gnu.org>
3077
3078 * frame.c (Fframe_parameter): Fix a bug whereby some
3079 ``artificial'' frame parameters, like `minibuffer' were not
3080 obtained by calling Fframe_parameters.
3081
3082 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
3083 cursor differently.
3084
3085 * xdisp.c (move_it_vertically_backward): Compute line height
3086 differently. Add heuristic to try to be more compatible to 20.x.
3087
3088 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
3089
3090 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
3091
3092 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
3093 boolean.
3094
3095 2001-10-25 Miles Bader <miles@gnu.org>
3096
3097 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
3098 BG is a pointer to a structure, not a structure.
3099 (gif_format, png_format): Add missing commas.
3100
3101 2001-10-24 Richard M. Stallman <rms@gnu.org>
3102
3103 * xfaces.c (Fface_attributes_as_vector): New function.
3104 (syms_of_xfaces): Defsubr it.
3105
3106 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3107
3108 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
3109 variable `area'.
3110
3111 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3112
3113 * search.c (scan_newline): Remove unused variable `selective_display'.
3114
3115 2001-10-25 Miles Bader <miles@gnu.org>
3116
3117 * dispextern.h (struct image): Add `background',
3118 `background_valid', and `background_transparent' fields.
3119 (image_background, image_background_transparent): New declarations.
3120 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
3121 * xfns.c (image_background, image_background_transparent)
3122 (four_corners_best): New functions.
3123 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
3124 (gs_format): Add `:background' entry.
3125 (lookup_image): Set IMG's background color if specified.
3126 (pbm_load, xbm_load_image, png_load): Set IMG's background field
3127 when appropriate.
3128 (x_clear_image_1): Reset `background_valid' and
3129 `background_transparent_valid' fields.
3130 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
3131 calculating it here. Set IMG's background_transparent field.
3132 (enum xpm_keyword_index): Add XPM_BACKGROUND.
3133 (enum png_keyword_index): Add PNG_BACKGROUND.
3134 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
3135 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
3136 (enum gif_keyword_index): Add GIF_BACKGROUND.
3137 (enum gs_keyword_index): Add GS_BACKGROUND.
3138 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
3139 Pre-calculate image background color where necessary.
3140 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
3141 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
3142 color to use for image glyph reliefs.
3143
3144 2001-10-24 Gerd Moellmann <gerd@gnu.org>
3145
3146 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
3147 in full-width rows.
3148
3149 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3150 Fix clearing of area not covered by scroll bar.
3151
3152 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3153
3154 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
3155 and `real_start'.
3156 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
3157 (glyph_rect): Remove unused variable `area'.
3158
3159 2001-10-24 Gerd Moellmann <gerd@gnu.org>
3160
3161 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
3162
3163 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
3164 (row_containing_pos): Take additional argument DY.
3165 Treat rows ending in middle of char differently.
3166 (display_line): Handle tabs on window systems differently.
3167
3168 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
3169 with additional argument.
3170
3171 * dispextern.h (row_containing_pos): Adjust prototype.
3172
3173 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
3174 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
3175 (try_window_id, try_window_reusing_current_matrix)
3176 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
3177 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
3178
3179 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3180
3181 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
3182 gnuemacs).
3183 (HAVE_BOXES): Fix typo in comment.
3184 (push_menu_pane): Fix typo in comment.
3185
3186 * xdisp.c: (display_prop_string_p): Remove unused local declaration
3187 of `Qwhen'.
3188 (single_display_prop_string_p): Remove unused local declarations
3189 of `Qwhen' and `Qmargin'.
3190 (string_buffer_position): Remove unused variable `around'.
3191 (store_frame_title): Remove unused variable `width'.
3192
3193 * window.c: Don't define max.
3194 (coordinates_in_window): Remove unused variable `uy'.
3195
3196 * widget.c: Don't define max.
3197
3198 * process.c: Don't define max.
3199 (create_process): Remove unused variable `buffer'.
3200
3201 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3202
3203 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
3204
3205 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
3206
3207 * xfaces.c (Finternal_set_lisp_face_attribute)
3208 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
3209 frame is on a windowed display.
3210
3211 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3212
3213 * dispnew.c (sync_window_with_frame_matrix_rows):
3214 Fix handling of windows which aren't full-width, fix handling
3215 of marginal areas.
3216
3217 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
3218
3219 2001-10-23 Andreas Schwab <schwab@suse.de>
3220
3221 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
3222 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
3223
3224 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3225
3226 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
3227 REAL_END. Notice if cursor gets overwritten.
3228 (notice_overwritten_cursor): Take X positions as parameters.
3229 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
3230 around call to x_draw_glyphs.
3231
3232 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3233
3234 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
3235 instead of C) and usage.
3236
3237 * editfns.c (char-to-string): Fix argument names (use CHAR instead
3238 of C) and usage.
3239
3240 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
3241 `left', `max_width' and `max_height'.
3242
3243 2001-10-23 Gerd Moellmann <gerd@gnu.org>
3244
3245 * xdisp.c (display_line): For a tab continued to the next line,
3246 set row's ends_in_middle_of_char_p.
3247
3248 2001-10-22 Gerd Moellmann <gerd@gnu.org>
3249
3250 * xdisp.c (display_line): Fix computation of continuation lines
3251 width for TABs.
3252
3253 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3254
3255 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
3256 `Qlaplace'.
3257
3258 * fileio.c: Remove unused code.
3259
3260 2001-10-22 Miles Bader <miles@gnu.org>
3261
3262 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
3263 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
3264 Remove `DOC_STRINGS_IN_COMMENTS' cases.
3265
3266 2001-10-21 Jason Rumney <jasonr@gnu.org>
3267
3268 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
3269
3270 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3271
3272 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
3273 (Finsert_string): Avoid the multi-line string literals warning.
3274
3275 2001-10-22 Miles Bader <miles@gnu.org>
3276
3277 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
3278 (Fdocumentation): Don't use it.
3279 (syms_of_doc): Don't initialize it.
3280
3281 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
3282 * print.c (Fwith_output_to_temp_buffer): Likewise.
3283 * window.c (Fsave_window_excursion): Likewise.
3284 * editfns.c (Fsave_excursion, Fsave_current_buffer)
3285 (Fsave_restriction): Likewise.
3286 * eval.c (Frun_hooks, Frun_hook_with_args)
3287 (Frun_hook_with_args_until_failure)
3288 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
3289 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
3290 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
3291 (Funwind_protect, Fcondition_case): Likewise.
3292 * coding.c (Ffind_operation_coding_system): Likewise.
3293 * keyboard.c (Ftrack_mouse): Likewise.
3294
3295 2001-10-21 Miles Bader <miles@gnu.org>
3296
3297 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
3298 (Fmake_hash_table): Add usage: string to doc string.
3299 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
3300 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
3301 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
3302 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
3303 (Fml_prefix_argument_loop): Likewise.
3304
3305 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3306
3307 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
3308
3309 * sysdep.c (init_sys_modes): Change doc-string comments to `new
3310 style' [w/`doc:' keyword].
3311
3312 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
3313 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
3314 comments to `new style' [w/`doc:' keyword].
3315
3316 2001-10-21 Jason Rumney <jasonr@gnu.org>
3317
3318 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
3319
3320 * w32term.c (remember_mouse_glyph): New function.
3321 (w32_mouse_position): Use it.
3322 (note_mouse_movement): If the mouse moved off the glyph, remember
3323 its new position.
3324
3325 * w32term.h (struct w32_output): Correct spelling of x_compatible.
3326 (w32_display_info): Add mouse_face_overlay.
3327
3328 * w32term.c (notice_overwritten_cursor): Renamed from
3329 note_overwritten_text_cursor. Rewritten to take glyph widths into
3330 account.
3331 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3332 (fast_find_string_pos): New function.
3333 (fast_find_position): Return the correct vpos. Add parameter
3334 STOP. In the final row, stop before glyphs having STOP as object.
3335 Don't consider glyphs that are not from a buffer.
3336 (fast_find_position) [0]: Add a presumably more correct version
3337 for after 21.1.
3338 (expose_window_tree, expose_frame): Don't compute intersections here.
3339 (expose_window): Do it here instead.
3340 (expose_window_tree, expose_window, expose_line): Return 1 when
3341 overwriting mouse-face.
3342 (expose_window): If W is the window currently being updated, mark
3343 the frame garbaged.
3344 (expose_frame): If mouse-face was overwritten, redo it.
3345 (x_use_underline_position_properties): New variable.
3346 (syms_of_xterm): DEFVAR_BOOL it.
3347 (x_draw_glyph_string): Add comment to use it in future.
3348 (x_draw_glyph_string): Restore clipping after drawing box.
3349 Fix a computation of the underline position.
3350 (w32_get_glyph_string_clip_rect): Minor cleanup.
3351 (x_fill_stretch_glyph_string): Remove an assertion.
3352 (x_produce_glyphs): Don't convert multibyte characters
3353 to unibyte characters in unibyte buffers.
3354 (cursor_in_mouse_face_p): New function.
3355 (x_draw_stretch_glyph_string): Use it to choose a different GC
3356 when drawing a cursor within highlighted text. Don't draw
3357 background again if it has already been drawn.
3358 (x_draw_glyph_string_box): Don't draw a full-width
3359 box just because the glyph row's full_width_p flag is set.
3360 (x_draw_glyphs): Fix computation of rightmost x for
3361 full-width rows.
3362 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3363 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
3364 change bottom shadow accordingly. Some cleanup.
3365 (x_update_window_end): Handle overwritten mouse face
3366 also for tool bar windows.
3367 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3368 DRAW is DRAW_IMAGE_RAISED.
3369 (clear_mouse_face): Return 1 if text with mouse face was
3370 actually redrawn. Make the function static. Reset
3371 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
3372 optimize away highlighting if we pass over that same overlay again.
3373 (note_mouse_highlight): Call mouse_face_overlay_overlaps
3374 to detect a case where we have to highlight a different region
3375 despite not having left the currently highlighted region.
3376 Set mouse_face_overlay in the x_display_info. Avoid changing the
3377 mouse pointer shape when show_mouse_face has already done it, or
3378 there is no need. Handle mouse-face and help-echo in strings.
3379 (glyph_rect): New function.
3380 (w32_mouse_position): Use it to raise the threshold for mouse
3381 movement event generation.
3382 (w32_initialize_display_info): Initialize the x_display_info's
3383 mouse_face_overlay.
3384 (w32_set_vertical_scroll_bar): Don't clear a zero height
3385 or width area.
3386 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3387 a widget to zero height.
3388
3389 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
3390 Protect unibyte strings created by replacing their multibyte
3391 equivalents in menu_items.
3392 (w32_menu_show): Don't overwrite an item's name with its key
3393 description in case the description is a multibyte string.
3394 (single_submenu): Some cleanup.
3395
3396 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
3397 (postprocess_image): New function.
3398 (lookup_image): Call it for all image types except PostScript.
3399 (x_kill_gs_process): Call postprocess_image.
3400 (tiff_error_handler, tiff_warning_handler): New functions.
3401 (tiff_load): Install them as handlers.
3402 (x_kill_gs_process): Recognize if someone has cleared the image
3403 cache under us.
3404 (valid_image_p): Protect better against invalid image
3405 specifications. Previous code could signal an error.
3406 (Fx_hide_tip, Fshow_tip): Doc fix.
3407 (Fv_max_tooltip_size): New variable.
3408 (syns_of_xfns): DEFVAR_LISP it.
3409 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
3410 window buffer to *tip* right after creating the frame. Set frame's
3411 window_width. Use a maximum tooltip size specified by
3412 Vx_max_tooltip_size, if that has valid contents.
3413 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3414 Make sure the tooltip is completely visible.
3415 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3416 (Fx_create_frame): Adjust the frame's height for presence
3417 of the tool bar before calling x_figure_window_size.
3418 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
3419 when the window gets smaller.
3420 (x_set_foreground_color): Set frame's cursor_pixel.
3421 (x_set_foreground_color, x_set_background_color): Cleaned up.
3422 (x_set_font): Handle case of x_new_fontset returning the same name
3423 as before, although there was a change in fontsets.
3424
3425 2001-10-21 Miles Bader <miles@gnu.org>
3426
3427 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
3428 (Flogxor): Add usage: string to doc string.
3429 * charset.c (Fstring): Likewise.
3430 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
3431 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
3432
3433 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3434
3435 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
3436
3437 * alloc.c: Reindent DEFUNs with doc: keywords.
3438
3439 * abbrev.c (Finsert_abbrev_table_description): Reindent.
3440
3441 * frame.c: Change doc-string comments to `new style' [w/`doc:'
3442 keyword].
3443
3444 2001-10-20 Gerd Moellmann <gerd@gnu.org>
3445
3446 * (Version 21.1 released.)
3447
3448 2001-10-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3449
3450 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
3451
3452 * xdisp.c (invisible_text_between_p): Put prototype inside #if
3453 0 because unused.
3454
3455 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
3456 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
3457 Change doc-string comments to `new style' [w/`doc:' keyword].
3458
3459 2001-10-20 Miles Bader <miles@gnu.org>
3460
3461 The following changes remove the glyph_row `inverse_p' field,
3462 which is never set anymore, due to other changes:
3463
3464 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
3465 (reassert_line_highlight, change_line_highlight): Declarations removed.
3466 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
3467 (line_hash_code, row_equal_p, fake_current_matrices)
3468 (build_frame_matrix_from_leaf_window, update_frame_line)
3469 (update_frame_line, update_frame_line, update_frame_line):
3470 Don't use `inverse_p' field.
3471 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
3472 change_line_highlight_hook.
3473 (XTreassert_line_highlight, x_change_line_highlight):
3474 Functions removed.
3475 (x_fix_overlapping_area, x_write_glyphs, expose_area)
3476 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3477 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
3478 `inverse_p' field.
3479 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
3480 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3481 (w32_reassert_line_highlight, x_change_line_highlight):
3482 Functions removed.
3483 * w32console.c (reassert_line_highlight, change_line_highlight):
3484 Functions removed.
3485 (initialize_w32_display): Don't set reassert_line_highlight_hook
3486 or change_line_highlight_hook.
3487 (hl_mode): Function removed.
3488 (reset_terminal_modes, set_terminal_modes, update_begin)
3489 (update_end, w32_face_attributes, initialize_w32_display):
3490 (clear_frame, ins_del_lines): Don't call it.
3491 * termhooks.h (reassert_line_highlight_hook)
3492 (change_line_highlight_hook): Declarations removed.
3493 * term.c (reassert_line_highlight_hook)
3494 (change_line_highlight_hook): Variables removed.
3495 (reassert_line_highlight, change_line_highlight): Functions removed.
3496 * msdos.c (IT_reassert_line_highlight)
3497 (IT_change_line_highlight): Functions removed.
3498 (internal_terminal_init): Don't set reassert_line_highlight_hook
3499 or change_line_highlight_hook.
3500 (highlight): Variable removed.
3501 (IT_set_face, IT_update_begin, IT_update_end)
3502 (IT_set_terminal_modes): Don't set or use it.
3503
3504 The following changes remove inverse-video support for terminals
3505 that use a `magic cookie' standout mode. Due to changes in the
3506 way mode-lines are displayed, such support no longer works
3507 anyway, and it's probable that almost no one uses such terminals
3508 anymore:
3509
3510 * term.c (standout_requested): Variable removed.
3511 (update_end, highlight_if_desired): Don't use it.
3512 (chars_wasted, copybuf): Variables removed.
3513 (write_standout_marker): Function removed.
3514 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
3515 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
3516 Don't use `chars_wasted' or `copybuf'.
3517 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
3518 Set `costs_set' to true.
3519 (cursor_to, clear_end_of_line): Test `costs_set' instead of
3520 `chars_wasted'.
3521 (clear_end_of_line): Function removed.
3522 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
3523 (clear_to_end): Call `clear_end_of_line' instead of
3524 `clear_end_of_line_raw'.
3525 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
3526 (term_init): Don't set them.
3527 Turn off any standout/underline modes that require magic cookies.
3528 (ins_del_lines, highlight_if_desired, background_highlight)
3529 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
3530 Remove special processing for magic-cookie standout modes.
3531 (turn_off_face, turn_on_face): Remove special processing for
3532 underline magic-cookie glitch.
3533
3534 2001-10-19 Richard M. Stallman <rms@gnu.org>
3535
3536 * eval.c (syms_of_eval): Doc fixes.
3537
3538 2001-10-19 Gerd Moellmann <gerd@gnu.org>
3539
3540 * xdisp.c (redisplay_internal): Don't clear echo area if the
3541 mini-window is selected.
3542
3543 2001-10-19 Miles Bader <miles@gnu.org>
3544
3545 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
3546 doesn't take precedence if the affected property's value is nil.
3547
3548 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
3549
3550 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
3551 with fields and suggest using `forward-line' to avoid them.
3552 * editfns.c (Fline_beginning_position, Fline_end_position):
3553 Clarify documentation.
3554
3555 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
3556
3557 * keymap.c (current_minor_maps): `override' only shadows its
3558 correspondent in minor-mode-map-alist, not the whole tail.
3559
3560 2001-10-18 Andrew Innes <andrewi@gnu.org>
3561
3562 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
3563 optimization. The fontp->encoding array was not being initialized
3564 correctly when compiled with optimizations by MSVC.
3565
3566 2001-10-18 Gerd Moellmann <gerd@gnu.org>
3567
3568 * xdisp.c (display_line): Indicate empty lines in active mini-window.
3569
3570 2001-10-17 Andrew Innes <andrewi@gnu.org>
3571
3572 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
3573
3574 * w32fns.c (w32_load_system_font): Cache codepage for font, in
3575 font_info.charset field.
3576
3577 * w32term.c (w32_encode_char): Get cached codepage from font_info,
3578 rather than working it out by calling w32_codepage_for_font for
3579 every glyph.
3580
3581 2001-10-17 Andrew Innes <andrewi@gnu.org>
3582
3583 * w32term.c (w32_read_socket): Determine clipping rectangle for
3584 the entire frame, including areas covered by scrollbars and the
3585 menubar. This avoids internal arguments about whether a frame is
3586 fully obscured or not.
3587
3588 2001-10-17 Gerd Moellmann <gerd@gnu.org>
3589
3590 * xdisp.c (try_window_id): Undo last change. Give up if
3591 window ends in strings.
3592
3593 * xdisp.c (try_window_id): Don't display lines after the window
3594 end if the rest of the window after the window end was already blank.
3595
3596 * xdisp.c (try_window_id): Remove code that was only there
3597 for the release of 21.1.
3598
3599 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
3600
3601 2001-10-17 Miles Bader <miles@gnu.org>
3602
3603 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
3604 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
3605 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
3606 Change doc-string comments to `new style' [w/`doc:' keyword].
3607 (DOC_STRINGS_IN_COMMENTS): Macro removed.
3608 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
3609 out make-docfile.
3610
3611 2001-10-16 Miles Bader <miles@gnu.org>
3612
3613 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
3614
3615 2001-10-16 Gerd Moellmann <gerd@gnu.org>
3616
3617 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
3618 *scratch*.
3619
3620 2001-10-16 Ken Raeburn <raeburn@gnu.org>
3621
3622 Avoid the assumption that car and cdr slots of cons cells are
3623 addressable lvalues; this allows for easier experimentation with
3624 other lisp implementations that may not permit such accesses for
3625 various reasons. Not quite complete -- buffer.c still needs some
3626 work, and w32/mac files need rechecking -- so compile-time
3627 enforcement is left disabled for now.
3628
3629 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
3630 gcc with a union-based Lisp object rep. Redefine as no-op for now.
3631 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
3632 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
3633 (XSETCAR, XSETCDR): New macros.
3634 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
3635 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
3636 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
3637 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
3638 XSETCDR.
3639 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
3640 * buffer.c (record_buffer, Fbury_buffer)
3641 (swap_out_buffer_local_variables, recenter_overlay_lists)
3642 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
3643 fields of a cons cell respectively.
3644 * callint.c (quotify_args, Fcall_interactively): Likewise.
3645 * ccl.c (Fregister_code_conversion_map): Likewise.
3646 * coding.c (detect_coding_system): Likewise.
3647 * composite.c (get_composition_id, make_composition_value_copy):
3648 Likewise.
3649 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
3650 (swap_in_symval_forwarding, set_internal, Fset_default)
3651 (Fmake_variable_buffer_local, Fmake_local_variable)
3652 (Fmake_variable_frame_local): Likewise.
3653 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
3654 * keymap.c (Fset_keymap_parent, store_in_keymap)
3655 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
3656 * minibuf.c (get_minibuffer): Likewise.
3657 * search.c (Fmatch_data): Likewise.
3658 * textprop.c (extend_property_ranges): Likewise.
3659 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
3660 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
3661 Likewise.
3662 * w32term.c (x_delete_display): Likewise.
3663 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
3664 Likewise.
3665 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
3666 * doc.c (store_function_docstring): Use XSETCARFASTINT.
3667 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
3668 (Fread_file_name): Use XSETCAR.
3669 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
3670 CHECK_NUMBER_CDR.
3671 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
3672 * frame.c (Fmake_terminal_frame): Use XSETCDR.
3673 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
3674 CHECK_NUMBER_CDR.
3675 * keyboard.c (read_char): Alter list traversal to avoid taking the
3676 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
3677 (parse_menu_item): Use XSETCAR and XSETCDR.
3678 (reach_char_x_menu_prompt): Use XSETCAR.
3679 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
3680 (Fcommand_execute): Use XSETCDR.
3681 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
3682 (openp): Change list traversal to avoid using XCAR as lvalue.
3683 (read_list): Use XSETCDR.
3684 * process.c (wait_reading_process_input): Change wait_for_cell
3685 handling to avoid taking addresses of cons cell slots.
3686 * xselect.c (x_own_selection, x_handle_selection_clear)
3687 (x_clear_frame_selections): Use XSETCDR.
3688 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
3689 (x_handle_property_notify, x_get_foreign_selection)
3690 (x_handle_selection_notify): Use XSETCAR.
3691
3692 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3693
3694 * buffer.c: Put doc strings in comments.
3695
3696 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
3697
3698 2001-10-15 Sam Steingold <sds@gnu.org>
3699
3700 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
3701
3702 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3703
3704 * process.c (process-inherit-coding-system-flag)
3705 (get-buffer-process): Do not confuse make-docfile with doc strings
3706 in comment.
3707
3708 * editfns.c (Fchar_to_string): Make doc string consistent with
3709 arguments. Put doc strings in comments.
3710
3711 * abbrev.c, minibuf.c: Put doc strings in comments.
3712
3713 2001-10-15 Gerd Moellmann <gerd@gnu.org>
3714
3715 * window.c (window_loop): Don't check for Fother_buffer returning nil.
3716
3717 * window.c (select_window_1): Unfreeze window start. Remove a
3718 doubled test for WINDOW being live.
3719
3720 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3721
3722 * fns.c (Fmapconcat): Fix typo in a doc string.
3723
3724 * dispnew.c (Fsleep_for): Fix typo in a doc string.
3725
3726 2001-10-15 Gerd Moellmann <gerd@gnu.org>
3727
3728 * xterm.c (x_draw_glyph_string): Restore clipping after
3729 drawing box.
3730
3731 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3732
3733 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
3734
3735 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
3736
3737 * indent.c (skip_invisible): Use new retval of
3738 TEXT_PROP_MEANS_INVISIBLE.
3739
3740 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
3741 If a parent is reached and noinherit is set, exit immediately.
3742 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
3743
3744 * s/ms-w32.h (EXEC_SUFFIXES):
3745 * s/msdos.h (EXEC_SUFFIXES):
3746 * process.h (EXEC_SUFFIXES): Remove.
3747
3748 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
3749 (decode_suffixes): Remove.
3750
3751 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
3752 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
3753 (invisible_ellipsis_p): Remove.
3754
3755 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
3756 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
3757 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
3758 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
3759 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
3760
3761 2001-10-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3762
3763 * lisp.h (Ftop_level): Add prototype.
3764
3765 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
3766 (XTread_socket): Improve style of comments to follow other
3767 comments.
3768
3769 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
3770 is already prototyped in included lisp.h).
3771
3772 * frame.c (Fset_mouse_position): Improve style of comment to
3773 follow other comments.
3774 (Fset_mouse_pixel_position): Improve style of comment to follow
3775 other comments.
3776 (Fmake_frame_visible): Doc fix and typo in comment.
3777 (Fmake_frame_invisible): Doc fix and typo in comment.
3778 (Ficonify_frame): Fix typo in comment.
3779
3780 2001-10-14 Gerd Moellmann <gerd@gnu.org>
3781
3782 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
3783 * term.c, alloc.c: Put doc strings in comments.
3784
3785 2001-10-13 Gerd Moellmann <gerd@gnu.org>
3786
3787 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
3788 Provide definitions for doc strings in comments.
3789
3790 * fns.c: Put doc strings in comments.
3791
3792 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
3793
3794 * dired.c (file_name_completion): Ignore a candidate directory if
3795 it matches an element in completion-ignored-extensions that ends
3796 in a slash.
3797 (syms_of_dired) <completion-ignored-extensions>: Mention the above
3798 feature in the doc string.
3799 (Ffile_name_completion): Ditto.
3800
3801 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
3802
3803 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
3804
3805 * xfns.c (syms_of_xfns): Update calls to Fprovide.
3806
3807 * lisp.h (Fprovide): Update prototype.
3808 (Ffeaturep, invisible_p): Remove.
3809
3810 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
3811 (DOLIST, LOOP_PROPVAL): New macros.
3812 (invisible_p, invisible_ellipsis_p): Use them.
3813 (invisible_noellipsis_p): New function.
3814 (syms_of_xdisp): Use empty_string.
3815
3816 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
3817
3818 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
3819 (syms_of_lread) <Vafter_load_alist>: Update docstring.
3820
3821 * print.c (Fwith_output_to_temp_buffer): Align with
3822 internal_with_output_to_temp_buffer.
3823 (print_preprocess): Use traverse_intervals_noorder.
3824 (print_object): Update call to traverse_intervals.
3825
3826 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
3827 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
3828
3829 * intervals.c (traverse_intervals_noorder): New function.
3830 (search_for_interval, count_intervals): Use it.
3831 (traverse_intervals): Use less stack space and drop `depth' arg.
3832
3833 * fns.c (Ffeaturep): Add new `subfeature' arg.
3834 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
3835 (Qsubfeatures): New var.
3836 (syms_of_fns): Initialize it.
3837
3838 * keymap.c (Fkey_description): Use empty_string.
3839 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
3840 (syms_of_keymap): Setup inheritance between maps.
3841 Don't export Sdescribe_bindings_internal any more.
3842
3843 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
3844
3845 2001-10-12 Gerd Moellmann <gerd@gnu.org>
3846
3847 * xterm.c (notice_overwritten_cursor): Renamed from
3848 note_overwritten_text_cursor. Rewritten to take glyph widths into
3849 account.
3850
3851 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3852
3853 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
3854 multi-line strings without a trailing "\n\".
3855
3856 2001-10-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3857
3858 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
3859 defined.
3860
3861 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
3862
3863 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
3864
3865 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
3866 * w32proc.c (sys_spawnve):
3867 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
3868 * w32.c (check_windows_init_file):
3869 * sound.c (Fplay_sound):
3870 * emacs.c (init_cmdargs):
3871 * process.c (Fstart_process): Update calls to openp.
3872
3873 * callproc.c (Vexec_suffixes): New var.
3874 (Fcall_process): Update call to openp.
3875 (decode_suffixes): New function.
3876 (syms_of_callproc): Init exec-suffixes.
3877
3878 * lread.c (Vload_suffixes, default_suffixes): New vars.
3879 (openp): Take a lisp list of suffixes.
3880 Check for file-name-handlers even if the file was absolute already.
3881 (syms_of_lread): Declare load-suffixes.
3882 (Fload): Fix up call to openp.
3883 Don't bother checking for file-name-handler at the very beginning.
3884
3885 * keymap.h (Fcopy_keymap): Don't export.
3886
3887 * lisp.h (empty_string): Declare.
3888 (Vload_suffixes, Vexec_suffixes): Declare.
3889 (openp): Update prototype.
3890
3891 * emacs.c (empty_string): New var.
3892 (syms_of_emacs): Initialize it.
3893
3894 * search.c (wordify): Use it.
3895
3896 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
3897 selected window if it's not displayed there. Handle the case
3898 when the window is dedicated.
3899 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
3900
3901 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
3902
3903 * syntax.h (struct gl_state_s): Change the meaning of b_property.
3904 Remove left_ok and right_ok.
3905 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
3906 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
3907 new meaning of b_property.
3908
3909 * syntax.c (update_syntax_table): Simplify.
3910 (Fforward_comment): Don't skip quoted chars when going backward.
3911
3912 2001-10-11 Gerd Moellmann <gerd@gnu.org>
3913
3914 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
3915 in case I is of some unsigned type, in which case
3916 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
3917 comparison becomes bogus.
3918
3919 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
3920 (Fuser_full_name): Fix bug treating a float as a fixnum.
3921
3922 * data.c (Fstring_to_number): Use make_fixnum_or_float.
3923
3924 * lisp.h (make_fixnum_or_float): New macro.
3925
3926 * lisp.h (circular_list_error): Add prototype.
3927
3928 * data.c (Qcircular_list): New variable.
3929 (circular_list_error): New function.
3930 (syms_of_data): Initialize it Qcircular_list.
3931
3932 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
3933
3934 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
3935 * casefiddle.c, buffer.c: Include keymap.h.
3936
3937 2001-10-10 Gerd Moellmann <gerd@gnu.org>
3938
3939 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
3940 options. From Dave Love <d.love@dl.ac.uk>.
3941
3942 2001-10-09 Gerd Moellmann <gerd@gnu.org>
3943
3944 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
3945 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3946
3947 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
3948 unsigned char.
3949 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3950
3951 2001-10-08 Andrew Innes <andrewi@gnu.org>
3952
3953 * lisp.h [max]: Undef min and max before redefining them.
3954
3955 * w32gui.h: Do not undef min and max.
3956
3957 * w32heap.h: Do not undef min and max.
3958
3959 * s/ms-w32.h: Do not undef min and max.
3960
3961 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3962
3963 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
3964
3965 2001-10-08 Sam Steingold <sds@gnu.org>
3966
3967 * keymap.c (current-active-maps): Quote newlines (compilation error).
3968
3969 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3970
3971 * Makefile.in (lisp, shortlisp): Replace bindings.el with
3972 bindings.elc, since otherwise doc strings in bindings.el get wrong
3973 offsets in etc/DOC.
3974
3975 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3976
3977 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
3978
3979 * keyboard.h (map_prompt): Remove.
3980
3981 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
3982 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
3983
3984 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3985
3986 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3987
3988 * keyboard.c (map_prompt): Remove.
3989 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3990 Use Fkeymap_prompt.
3991
3992 * keymap.h: New file. Extracted from lisp.h.
3993
3994 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
3995 (accessible_keymaps_1): New function.
3996 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
3997 (Fwhere_is_internal): Use Fcurrent_active_maps.
3998 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
3999 Insert in current buffer rather than standard-output.
4000 Don't call `help-mode'. Export to elisp.
4001 (describe_buffer_bindings): New wrapper.
4002 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
4003 and Sdescribe_buffer_bindings.
4004
4005 2001-10-08 Gerd Moellmann <gerd@gnu.org>
4006
4007 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
4008 Remove code setting signal handler.
4009
4010 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
4011 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
4012
4013 2001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4014
4015 * keyboard.c: Don't define min/max.
4016
4017 2001-10-08 Gerd Moellmann <gerd@gnu.org>
4018
4019 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
4020 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
4021 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
4022 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
4023 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
4024 Don't define min/max.
4025
4026 * lisp.h (min, max): New macros.
4027
4028 * puresize.h (BASE_PURESIZE): Increase to 725000.
4029
4030 2001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4031
4032 * xfaces.c (free_frame_menubar): Add prototype.
4033
4034 * lisp.h (init_window): Add prototype.
4035
4036 * editfns.c: Include ctype.h.
4037
4038 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
4039 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
4040 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
4041 variable `sb'.
4042
4043 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
4044 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
4045 `popup_activated_flag' and `title'.
4046
4047 * doc.c (Fdocumentation_property): Fix typo in a doc string.
4048
4049 * emacs.c (main): Remove extra `;'.
4050
4051 * atimer.h (struct atimer): Fix typos in a comment.
4052
4053 * atimer.c: Fix typo.
4054
4055 * Makefile.in: Fix typo.
4056
4057 * README: Remove obsolete part mentioning removed VMS file.
4058
4059 2001-10-07 Miles Bader <miles@gnu.org>
4060
4061 * Makefile.in (lisp, shortlisp): Add `button.elc'.
4062
4063 2001-10-07 Ken Raeburn <raeburn@gnu.org>
4064
4065 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
4066 Lisp_Object.
4067
4068 * lisp.h (Ffield_end): Declare.
4069
4070 2001-10-07 Gerd Moellmann <gerd@gnu.org>
4071
4072 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
4073
4074 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
4075
4076 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
4077
4078 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
4079
4080 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
4081 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
4082
4083 * alloc.c (inhibit_garbage_collection): Simplify.
4084 (Fmemory_use_counts): Ditto.
4085
4086 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
4087 (syms_of_data): DEFVAR_INT most-positive-fixnum and
4088 most-negative-fixnum.
4089
4090 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
4091 (FIXNUM_OVERFLOW_P): New macros.
4092
4093 2001-10-06 Miles Bader <miles@gnu.org>
4094
4095 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
4096 scroll_bar_bottom_shadow_pixel fields.
4097 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
4098 for the shadows, and tell the toolkit about them if we succeed.
4099 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
4100 Free scroll-bar shadow colors.
4101 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
4102 Free scroll-bar shadow colors when the background color changes.
4103 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
4104 Initialize scroll-bar shadow-color fields.
4105
4106 2001-10-05 Gerd Moellmann <gerd@gnu.org>
4107
4108 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
4109
4110 2001-10-05 Miles Bader <miles@gnu.org>
4111
4112 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
4113 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
4114 New functions (were in simple.el).
4115 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
4116 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
4117 (syms_of_minibuf): Initialize them.
4118
4119 2001-10-05 Gerd Moellmann <gerd@gnu.org>
4120
4121 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
4122 (tiff_load): Install them as error and warning handler.
4123
4124 2001-10-04 Andrew Innes <andrewi@gnu.org>
4125
4126 * w32fns.c (x_to_w32_color): Fix argument to alloca.
4127 (w32_load_system_font): Don't believe what GetLanguageFontInfo
4128 says; query codepage info directly to determine if font is double byte.
4129 (x_to_w32_charset): Handle private format for unknown charsets.
4130 Handle wildcards in charset spec, by ignoring them.
4131 (w32_codepage_for_font): Fix argument to alloca. Don't remove
4132 "*-" prefix from charset.
4133 (x_to_w32_font): Enlarge remainder array for safety. Specifically
4134 handle the truncated font spec form constructed by font_list_1, so
4135 that we correctly identify the charset fields. Don't remove "*-"
4136 prefix from charset.
4137 (w32_list_synthesized_fonts): Fix argument to alloca.
4138
4139 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
4140
4141 * window.h (MINI_WINDOW_P): Use NILP.
4142
4143 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
4144
4145 * termhooks.h (struct input_event): Use proper type for `kind'.
4146
4147 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4148
4149 This handles unknown keysyms better than before. For example,
4150 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
4151 Emacs formerly completely ignored F5. With the change, it derives
4152 a key symbol from the name of the X keysym, `ccaron' in this case.
4153 Reported by Martin Buchholz.
4154
4155 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
4156 unknown keysyms.
4157
4158 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
4159 that EVENT->code isn't a function key, use the keysym's name.
4160
4161 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4162
4163 FOREACH is a macro that should make it easier to loop over Lisp
4164 lists with checks for cycles and proper lists.
4165
4166 * lisp.h (LIST_END_P, FOREACH): New macros.
4167
4168 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4169
4170 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
4171 called for a lost connection. Prevent dumping core in this case.
4172 Instead print the X error, and exit. On user request.
4173
4174 * xterm.c (error_msg): New variable.
4175 (x_fatal_error_signal): New function.
4176 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
4177 as fatal_error_signal_hook around the call to XtCloseDisplay.
4178
4179 * emacs.c (fatal_error_signal_hook): New variable.
4180 (fatal_error_signal): Call that function.
4181
4182 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4183
4184 With this, Emacs prints how much pure storage it will
4185 approximately need in case pure storage overflows while dumping.
4186
4187 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
4188 New variables.
4189 (init_alloc_once): Initialize new variables.
4190 (PURE_POINTER_P): Use new variables.
4191 (pure_alloc): If pure storage overflows, allocate from the heap.
4192 (check_pure_size): New function.
4193 (Fgarbage_collect): Don't GC if pure storage has overflowed.
4194
4195 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
4196 (check_pure_size): Add prototype.
4197
4198 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
4199
4200 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4201
4202 This adds a post-gc-hook that's run with GC inhibited.
4203 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
4204
4205 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
4206 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
4207 (Fgarbage_collect): Run post-gc-hook.
4208
4209 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4210
4211 This adds `defvaralias' and `indirect-variable'. Changes not
4212 directly related to this feature are there to gain the same
4213 performance again as before variable aliases.
4214
4215 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
4216 code to get and set symbol values, to take defvaralias into account.
4217
4218 (Note: the new `constant' bit-flag in symbols would make it
4219 possible to define arbitrary read-only variables, e.g. with
4220 `defconst'.)
4221
4222 Documentation is in lispref/variables.texi. Added to NEWS.
4223
4224 * lisp.h (enum symbol_interned): New enumeration.
4225 (struct Lisp_Symbol): Remove member `obarray', add
4226 `indirect_variable', `constant', and `interned'.
4227 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
4228 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
4229 (indirect_variable): Add prototype.
4230
4231 * print.c (print_preprocess, print_object): Test internedness of
4232 symbols differently.
4233
4234 * lread.c (Fintern, Funintern): Set symbol's interned and constant
4235 bit-fields.
4236 (init_obarray): Likewise for t and nil.
4237
4238 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
4239 (Fdefvaralias): New function.
4240 (specbind): Simplify the test if symbol is a constant.
4241 (syms_of_eval): Defsubr Fdefvaralias.
4242
4243 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
4244 (Qcyclic_variable_indirection): New variable.
4245 (Fkeywordp): Check for internedness differently.
4246 (Fmakunbound): Simplify the test if symbol is a constant.
4247 (indirect_variable, Findirect_variable): New functions.
4248 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
4249 aliased symbol.
4250 (let_shadows_buffer_binding_p): Check for variable aliases.
4251 (set_internal): Simplify the test if SYMBOL is a constant.
4252 If SYMBOL has a buffer-local value and is an alias, use the aliased
4253 symbol instead.
4254 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
4255 Sindirect_variable.
4256
4257 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
4258 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
4259 set directly.
4260
4261 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
4262
4263 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
4264 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
4265 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
4266
4267 2001-10-04 Gerd Moellmann <gerd@gnu.org>
4268
4269 * Branch for 21.1.
4270
4271 2001-10-03 Miles Bader <miles@gnu.org>
4272
4273 * callproc.c (syms_of_callproc): Explicitly state in the
4274 documentation for `process-environment' that earlier entries take
4275 precedence over later ones.
4276
4277 2001-10-02 Miles Bader <miles@gnu.org>
4278
4279 * textprop.c (Fnext_char_property_change)
4280 (Fprevious_char_property_change): Remove reference to non-existant
4281 argument OBJECT from doc-string.
4282
4283 2001-10-01 Gerd Moellmann <gerd@gnu.org>
4284
4285 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
4286 (try_window_id): Skip back over lines ending in a newline from a
4287 string.
4288
4289 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
4290 New bit flag
4291
4292 2001-10-01 Richard M. Stallman <rms@gnu.org>
4293
4294 * search.c (Freplace_match): Doc fix.
4295
4296 2001-09-28 Andrew Innes <andrewi@gnu.org>
4297
4298 * w32menu.c (set_frame_menubar): Take into account that
4299 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4300 <raeburn@gnu.org>.
4301
4302 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
4303
4304 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
4305
4306 2001-09-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4307
4308 * s/gnu-linux.h: Fix a typo in comment.
4309
4310 2001-09-28 Andreas Schwab <schwab@suse.de>
4311
4312 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
4313 nocombreloc, in case -z combreloc is the default.
4314
4315 2001-09-28 Gerd Moellmann <gerd@gnu.org>
4316
4317 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
4318 really going on here.
4319
4320 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
4321
4322 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
4323
4324 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
4325
4326 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
4327 utf-8, menu-bar, and latin-N.
4328 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
4329 unconditionally now.
4330 (lisp): Add latin-N, since they are preloaded.
4331
4332 2001-09-27 Gerd Moellmann <gerd@gnu.org>
4333
4334 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
4335 to the left. Some cleanup.
4336
4337 * xdisp.c (display_mode_element): One more case where a string's
4338 multibyteness should be used for display.
4339
4340 2001-09-26 Gerd Moellmann <gerd@gnu.org>
4341
4342 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
4343 reading at EOF.
4344
4345 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
4346 of the only temporarily set echoing flag for deciding when
4347 the cancel echoing.
4348
4349 * keyboard.c (echo_kboard): Make externally visible.
4350
4351 * lisp.h (echo_kboard): Declare extern.
4352
4353 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
4354 fonts_changed_p if we need larger matrices due to vscrolling.
4355 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
4356 this round of redisplay if make_cursor_line_fully_visible fails.
4357 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
4358 (try_cursor_movement, try_scrolling): Use them instead of integers.
4359
4360 * dispextern.h (required_matrix_width, required_matrix_height):
4361 Add prototypes.
4362
4363 * dispnew.c (required_matrix_width, required_matrix_height):
4364 New functions.
4365 (allocate_matrices_for_window_redisplay)
4366 (allocate_matrices_for_frame_redisplay: Use them.
4367 Remove parameters CH_DIM.
4368
4369 * xdisp.c (display_mode_lines): Temporarily set selected_frame
4370 and selected_window to the frame of the window whose mode-lines
4371 are displayed, and to the window itself.
4372 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
4373 here.
4374
4375 2001-09-25 Gerd Moellmann <gerd@gnu.org>
4376
4377 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
4378 the image cache under us.
4379
4380 * xdisp.c (display_mode_element): If the mode element is a symbol
4381 with a string value, use that string's multibyteness for displaying.
4382
4383 * keyboard.c (read_char): Don't clear a message for a switch-frame
4384 event. From Stefan Monnier <monnier@cs.yale.edu>.
4385
4386 * xterm.c (fast_find_position) [0]: Add a presumably more correct
4387 version for after 21.1.
4388
4389 * xdisp.c (row_containing_pos): Make externally visible.
4390
4391 * dispextern.h (row_containing_pos): Add prototype.
4392
4393 * process.c (send_process): Disable composition if from_byte < 0.
4394 From Kenichi Handa <handa@etl.go.jp>.
4395
4396 2001-09-24 Gerd Moellmann <gerd@gnu.org>
4397
4398 * xterm.c (refreshicon): Function removed.
4399
4400 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
4401
4402 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
4403
4404 * xterm.c (toplevel): Remove includes in #if 0.
4405
4406 * process.c (sigchld_handler) [LINUX]: Don't return from
4407 the signal handler at the end of the loop.
4408
4409 2001-09-21 Gerd Moellmann <gerd@gnu.org>
4410
4411 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
4412 Terminate only if kill returns -1, and errno is ESRCH.
4413
4414 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
4415
4416 * Makefile.in (shortlisp): Add ../lisp/env.elc.
4417
4418 2001-09-20 Gerd Moellmann <gerd@gnu.org>
4419
4420 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
4421 since this function can be called during GC.
4422
4423 * callproc.c (Fcall_process): Handle errors from pipe(2).
4424 (child_setup): Delete code in #ifdef vipc.
4425
4426 2001-09-19 Gerd Moellmann <gerd@gnu.org>
4427
4428 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
4429 (display_mode_element): Display the string from decode_mode_spec
4430 depending on its multibyteness.
4431
4432 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
4433
4434 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
4435
4436 2001-09-18 Gerd Moellmann <gerd@gnu.org>
4437
4438 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
4439 recursive_edit_unwind.
4440 (recursive_edit_unwind): Set kboard state according to
4441 SINGLE-KBOARD.
4442
4443 * buffer.c (modify_overlay): Don't do nothing if START == END;
4444 This can still be a modification, for example when an overlay has
4445 a before-string or after-string.
4446 (Fdelete_overlay): Prevent redisplay optimizations when deleting
4447 an overlay with before-string or after-string.
4448
4449 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
4450 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
4451
4452 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
4453 first_unchanged_at_end_row is in front of
4454 last_unchanged_at_beg_row. This code should be removed after the
4455 release of 21.1.
4456
4457 2001-09-17 Gerd Moellmann <gerd@gnu.org>
4458
4459 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
4460 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
4461
4462 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
4463 versions >= 2.95.
4464
4465 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
4466
4467 * dired.c (Ffile_attributes): Doc fix.
4468
4469 2001-09-14 Gerd Moellmann <gerd@gnu.org>
4470
4471 * fileio.c (Ffile_symlink_p): Fix last change.
4472
4473 * filelock.c (current_lock_owner): Fix last change.
4474
4475 2001-09-13 Gerd Moellmann <gerd@gnu.org>
4476
4477 * filelock.c (current_lock_owner): If readlink returns ERANGE,
4478 take that to mean that the buffer is too small.
4479
4480 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
4481 that to mean that the buffer is too small.
4482
4483 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
4484 current buffer's multibyteness when discarding the iterator's
4485 stack.
4486
4487 * xfns.c (Fx_window_property): Handle case that property gets
4488 deleted between the two calls to XGetWindowProperty.
4489
4490 2001-09-11 Gerd Moellmann <gerd@gnu.org>
4491
4492 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
4493
4494 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
4495 in addition to read-only.
4496
4497 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
4498 to t in addition to read-only.
4499
4500 * lisp.h (Qinhibit_modification_hooks): Declare.
4501
4502 * insdel.c (Qinhibit_modification_hooks): New variable.
4503 (syms_of_insdel): Initialize and staticpro it.
4504
4505 * textprop.c (verify_interval_modification): Don't run
4506 modification-hooks if inhibit_modification_hooks.
4507
4508 * dispnew.c (set_window_cursor_after_update): Fix code
4509 finding glyph row containing cursor when cursor_in_echo_area
4510 is >= 0.
4511
4512 * xdisp.c (init_from_display_pos): Put some code in #if 0.
4513 (add_to_log): Use bcopy instead of strcpy.
4514 (init_from_display_pos): Use an explicit loop over bytes in
4515 overlay strings instead of calling index.
4516
4517 2001-09-10 Gerd Moellmann <gerd@gnu.org>
4518
4519 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
4520
4521 * dispnew.c (direct_output_for_insert): Don't change IT's
4522 stop_charpos to something in front of its current position.
4523
4524 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
4525 `format'.
4526
4527 2001-09-10 Richard M. Stallman <rms@gnu.org>
4528
4529 * frame.c (Fmouse_position): Doc fix.
4530
4531 2001-09-07 Gerd Moellmann <gerd@gnu.org>
4532
4533 * xdisp.c (init_from_display_pos): Don't compare the result
4534 of calling index with NULL.
4535
4536 2001-09-06 Gerd Moellmann <gerd@gnu.org>
4537
4538 * xfns.c (x_set_background_color): Don't change the colors
4539 of the X window of scroll bar widgets.
4540
4541 2001-09-05 Andrew Innes <andrewi@gnu.org>
4542
4543 * w32fns.c (w32_createwindow): Undo last change.
4544
4545 2001-09-05 Gerd Moellmann <gerd@gnu.org>
4546
4547 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
4548
4549 * xdisp.c (string_buffer_position): Use *single_char_property*
4550 functions instead of the *single_property* functions.
4551
4552 2001-09-04 Andrew Innes <andrewi@gnu.org>
4553
4554 * w32term.c (w32_read_socket): Add more information to debugging
4555 output.
4556
4557 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
4558 from Emacs frames, so that calls to GetClipBox in w32term.c
4559 correctly report when part of a frame is visible (including
4560 scrollbars, etc). This prevents repeated redrawing of frames when
4561 only a scrollbar is visible.
4562 (w32_wnd_proc): Add more frame information to debugging output.
4563
4564 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
4565
4566 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
4567
4568 2001-09-03 Gerd Moellmann <gerd@gnu.org>
4569
4570 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
4571 help-echo for a string which doesn't have help-echo itself, use
4572 get-char-property to obtain the help-echo from the string's buffer
4573 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
4574 have mouse-face, look ``under'' the string for mouse-face from an
4575 overlay.
4576 (fast_find_position): Add parameter STOP. In the final row, stop
4577 before glyphs having STOP as object. Don't consider glyphs that
4578 are not from a buffer.
4579
4580 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
4581
4582 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
4583
4584 * fns.c (Fmd5): Doc fix.
4585
4586 2001-08-31 Gerd Moellmann <gerd@gnu.org>
4587
4588 * composite.c (update_compositions): Do nothing if
4589 inhibit-modification-hooks is set.
4590
4591 2001-08-30 Gerd Moellmann <gerd@gnu.org>
4592
4593 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
4594 and check_message_stack if terminating abnormally. We want
4595 glyph matrices etc. in a core dump.
4596
4597 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
4598 (syms_of_xdisp): Initialize them.
4599 (handle_single_display_prop): Don't change point, bind `object',
4600 `position', and `buffer-position' instead to the object having the
4601 `display' property, position in the object and position in the buffer.
4602
4603 * fileio.c (Finsert_file_contents): Don't change the multibyteness
4604 of the buffer if REPLACE is non-nil.
4605
4606 2001-08-29 Gerd Moellmann <gerd@gnu.org>
4607
4608 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
4609
4610 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
4611
4612 * w32term.c (x_set_glyph_string_background_width)
4613 (show_mouse_face): Track the last changes in xterm.c.
4614
4615 2001-08-28 Gerd Moellmann <gerd@gnu.org>
4616
4617 * xterm.c (x_set_glyph_string_background_width): Set the glyph
4618 string's background width so that multi-line mouse-face is drawn
4619 to the right edge of the window.
4620 (show_mouse_face): Set the row's mouse_face_p flag after drawing
4621 glyphs.
4622
4623 * dispnew.c (direct_output_for_insert): Set updated_area
4624 before inserting/writing glyphs.
4625
4626 * xdisp.c (display_mode_element): Use string_byte_to_char to
4627 determine character positions in strings, use chars_in_text
4628 instead of strwidth.
4629 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
4630 a matrix as parameter; this is easier to use from GDB.
4631
4632 2001-08-28 Miles Bader <miles@gnu.org>
4633
4634 * textprop.c (Fprevious_single_char_property_change)
4635 (Fnext_single_char_property_change): Doc fixes.
4636
4637 2001-08-27 Gerd Moellmann <gerd@gnu.org>
4638
4639 * fileio.c (Finsert_file_contents): Allocate, restore, and
4640 free composition data in the case of REPLACE not being nil.
4641
4642 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
4643 there exist overlay strings with newlines at POS.
4644 (text_outside_line_unchanged_p): Return 0 if changes start at
4645 START and overlays exist at START. Likewise for END.
4646 (try_window_id): Give up if init_to_row_end returns 0.
4647
4648 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
4649 unconditionally.
4650
4651 2001-08-24 Gerd Moellmann <gerd@gnu.org>
4652
4653 * keymap.c (access_keymap): Return the cdr of the binding of
4654 a generic character instead of its definition (KEY . BINDING).
4655
4656 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
4657 to 0 also in the REPLACE case.
4658
4659 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
4660
4661 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
4662 open to determine whether file is readable (as for DOS_NT).
4663
4664 2001-08-23 Gerd Moellmann <gerd@gnu.org>
4665
4666 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
4667 coding.type is coding_type_no_conversion or coding_type_raw_text,
4668 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
4669 non-nil instead of just setting enable_multibyte_characters in the
4670 buffer to nil.
4671
4672 2001-08-22 Gerd Moellmann <gerd@gnu.org>
4673
4674 * dispextern.h (struct face_cache): Add member
4675 menu_face_changed_p.
4676
4677 * xfaces.c (menu_face_changed_default): New variable.
4678 (menu_face_changed_count): Variable removed.
4679 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
4680 the menu_face_changed_default flag, otherwise set the FRAME's
4681 menu_face_changed_p flag if the `menu' face has been changed.
4682 Prevent calling set_font_frame_param if FRAME is t.
4683 (make_face_cache): Initialize cache's menu_face_changed_p
4684 from menu_face_changed_default.
4685 (realize_basic_faces): Look into the frame's face cache to
4686 determine if the menu appearance needs updating.
4687
4688 * keymap.c (access_keymap): Fix last change to not consider
4689 IDX when it has modifiers.
4690
4691 2001-08-21 Gerd Moellmann <gerd@gnu.org>
4692
4693 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
4694 . BINDING) exists, where GENERIC-CHAR is the generic character of
4695 the charset of IDX, return BINDING unless there exists a binding
4696 for IDX itself.
4697
4698 2001-08-16 Gerd Moellmann <gerd@gnu.org>
4699
4700 * xrdb.c (SYSV): Don't define on Solaris 2.
4701 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4702
4703 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
4704 of the screen line, not text line, containing IT's current position.
4705
4706 2001-08-15 Gerd Moellmann <gerd@gnu.org>
4707
4708 * window.c (window_scroll_pixel_based): Don't recenter if
4709 PT is partially visible in the window.
4710
4711 * xterm.c (expose_window_tree, expose_window, expose_line):
4712 Return 1 when overwriting mouse-face.
4713 (expose_frame): If mouse-face was overwritten, redo it.
4714
4715 * xfaces.c (x_update_menu_appearance): Don't call
4716 set_frame_menubar, let the next redisplay do it.
4717
4718 2001-08-14 Andrew Innes <andrewi@gnu.org>
4719
4720 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
4721 drawing glyph string.
4722
4723 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
4724
4725 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
4726 running HI-UX/MPP.
4727
4728 2001-08-14 Gerd Moellmann <gerd@gnu.org>
4729
4730 * xfaces.c (x_update_menu_appearance): Save and restore value of
4731 interrupt_input_blocked.
4732
4733 2001-08-13 Gerd Moellmann <gerd@gnu.org>
4734
4735 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
4736 a line start, move back to the line start.
4737
4738 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
4739 exactly when a mini-buffer is active.
4740
4741 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
4742 in units of 1/8 character on non window-system frames.
4743 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
4744
4745 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4746
4747 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
4748 a doc string.
4749
4750 2001-08-09 Gerd Moellmann <gerd@gnu.org>
4751
4752 * keyboard.c (Vpre_help_message): New variable.
4753 (syms_of_keyboard): Initialize and staticpro it.
4754 (show_help_echo): Record current message before displaying a
4755 help-echo, and restore that message when clearing the help.
4756
4757 * xfns.c (x_create_im): Remove prototype.
4758
4759 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
4760
4761 * dispnew.c (adjust_glyph_matrix): Undo last change.
4762
4763 2001-08-08 Gerd Moellmann <gerd@gnu.org>
4764
4765 * dispnew.c (adjust_glyph_matrix): In the optimization for
4766 windows whose height has changed, disable partially visible lines.
4767
4768 2001-08-07 Gerd Moellmann <gerd@gnu.org>
4769
4770 * window.c (Frecenter): If ARG < 0, and on a window system
4771 frame, count in some empty lines when we can't move -ARG lines down.
4772
4773 * xdisp.c (start_display): Don't try to determine the continuation
4774 lines width if lines are truncated. It's superfluous and leads to
4775 incorrect results if POS is not visible in the window after
4776 reseating the iterator at the previous line start.
4777
4778 2001-08-06 Gerd Moellmann <gerd@gnu.org>
4779
4780 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
4781
4782 2001-08-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4783
4784 * alloc.c (init_stack): Remove declaration.
4785
4786 2001-08-03 Gerd Moellmann <gerd@gnu.org>
4787
4788 * keyboard.c (read_key_sequence): Check that key is an integer
4789 before comparing it with quit_char.
4790 (add_command_key): Use larger_vector.
4791 (read_char_x_menu_prompt): Instead of converting symbol and
4792 integer events into conses (EVENT . nil), use (EVENT . disabled)
4793 which cannot be confused with valid events.
4794 (read_char): When reading from Vunread_command_events, check for
4795 events of the form (EVENT . disabled) instead of
4796 (EVENT . nil).
4797
4798 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
4799 a float, determine the max height from the frame's height.
4800
4801 2001-08-02 Gerd Moellmann <gerd@gnu.org>
4802
4803 * xdisp.c (redisplay_internal): Take message_cleared_p into
4804 account only if minibuf_level == 0.
4805
4806 2001-08-01 Gerd Moellmann <gerd@gnu.org>
4807
4808 * xdisp.c (redisplay_internal): Add a check for the last
4809 displayed message.
4810
4811 * xdisp.c (message_cleared_p): New variable.
4812 (clear_message): Set message_cleared_p when clearing the current
4813 message.
4814 (redisplay_internal): Look at message_cleared_p to capture
4815 the case that the echo area should be cleared.
4816
4817 * keyboard.c (command_loop_1): Fix spelling of
4818 resize_echo_area_exactly.
4819
4820 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
4821
4822 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
4823
4824 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
4825 current matrix when the window gets smaller.
4826
4827 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
4828
4829 * print.c (strout): Cast the character passed to insert_char to
4830 unsigned char, to avoid sign extension when it is promoted to int.
4831
4832 2001-07-31 Gerd Moellmann <gerd@gnu.org>
4833
4834 * fileio.c (Finsert_file_contents): Don't treat a return value
4835 of 0 from emacs_read as an IO error.
4836
4837 2001-07-30 Gerd Moellmann <gerd@gnu.org>
4838
4839 * keyboard.c (abs): New macro.
4840 (double_click_fuzz): New variable.
4841 (make_lispy_event): Use it to determine what makes a double-click.
4842 (syms_of_keyboard): DEFVAR_INT it.
4843
4844 * xmenu.c (set_frame_menubar): Take into account that
4845 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4846 <raeburn@gnu.org>.
4847
4848 2001-07-27 Gerd Moellmann <gerd@gnu.org>
4849
4850 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
4851
4852 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
4853 of row's visible height.
4854
4855 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
4856 deal with the first overlay string having an image `display' property.
4857 (try_window_reusing_current_matrix, compute_line_metrics):
4858 Fix computation of row's visible height for the case that part of the
4859 row is invisible above and part of the row is at the same time
4860 invisible below the window.
4861
4862 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4863
4864 * xfns.c (x-show-tip): Doc fix.
4865
4866 * xfns.c (Vx_max_tooltip_size): New variable.
4867 (syms_of_xfns): DEFVAR_LISP it.
4868 (Fx_show_tip): Set frame's window_width to the width of the
4869 window. Use a maximum tooltip size specified by
4870 Vx_max_tooltip_size, if that has valid contents.
4871 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
4872
4873 2001-07-26 Andrew Innes <andrewi@gnu.org>
4874
4875 * w32term.c (x_display_list): New variable.
4876 (w32_term_init): Set it.
4877
4878 * w32term.h (x_display_list): New extern.
4879
4880 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4881
4882 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
4883 is non-nil, instead of when redisplaying_p is non-zero.
4884 See comment there.
4885 (mark_window_display_accurate_1): Add an assertion.
4886
4887 2001-07-25 Gerd Moellmann <gerd@gnu.org>
4888
4889 * dispextern.h (struct it): Increase size of ctl_chars to 16.
4890
4891 * xfns.c (Fx_file_dialog): Block/unblock input while processing
4892 events so that we get a chance of processing expose events.
4893
4894 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
4895
4896 2001-07-24 Gerd Moellmann <gerd@gnu.org>
4897
4898 * xfns.c (valid_image_p): Protect better against invalid image
4899 specifications. Previous code could signal an error.
4900
4901 2001-07-23 Gerd Moellmann <gerd@gnu.org>
4902
4903 * indent.c (current_column): Fix column computation in the
4904 presence of display table entries.
4905 (current_column_1, Fmove_to_column, compute_motion): Likewise.
4906
4907 * dispnew.c (adjust_glyph_matrix): In the optimization for
4908 windows whose height has changed, use the new window height
4909 to compute which rows to invalidate.
4910
4911 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4912 (MAX_10_EXP): New macro.
4913 (Fformat): Use it.
4914
4915 * coding.c (code_convert_region): Handle the multibyte case if
4916 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
4917
4918 2001-07-20 Gerd Moellmann <gerd@gnu.org>
4919
4920 * dispextern.h (struct face): Change type of `stipple' to
4921 int; it's an ID.
4922
4923 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
4924
4925 2001-07-19 Gerd Moellmann <gerd@gnu.org>
4926
4927 * dispnew.c (update_window): Don't set the cursor at the end
4928 of the update if display update has been paused.
4929
4930 * composite.h (syms_of_composite): Renamed from syms_of_composition.
4931
4932 2001-07-18 Ken Raeburn <raeburn@gnu.org>
4933
4934 * fns.c (Fset_char_table_default): Check that a charset is defined
4935 before checking its dimension.
4936
4937 2001-07-17 Ken Raeburn <raeburn@gnu.org>
4938
4939 * coding.c (setup_coding_system): Don't do any designation based
4940 on reg_bits if charset is not yet defined.
4941
4942 * lisp.h (XVECTOR): Verify correct object type before returning a
4943 pointer, using eassert.
4944
4945 2001-07-17 Gerd Moellmann <gerd@gnu.org>
4946
4947 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
4948 Increase to 4096 because of paste problems reported on GNU/Linux.
4949
4950 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
4951
4952 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
4953
4954 2001-07-16 Gerd Moellmann <gerd@gnu.org>
4955
4956 * fileio.c (unwind_read): Function removed.
4957 (read_non_regular, read_non_regular_quit): New functions.
4958 (Finsert_file_contents): When reading from non-regular files,
4959 arrange to catch a `quit' and terminate the loop. Rearrange
4960 code so that a `quit' when reading from a regular file doesn't
4961 insert text in the buffer.
4962
4963 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
4964 Clear faces afterwards.
4965 (clear_font_table): Take a x_display_info parameter. Don't free
4966 fonts being the default font of any frame on the given display.
4967
4968 2001-07-13 Gerd Moellmann <gerd@gnu.org>
4969
4970 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
4971 instead of CHAR_STRING which can signal an error.
4972
4973 * charset.c (char_to_string_1): Extracted from char_to_string.
4974 Return -1 instead of signaling an error.
4975 (char_to_string): Use it.
4976
4977 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
4978
4979 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
4980
4981 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
4982 is t, don't try to append anything to it.
4983
4984 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
4985
4986 * dired.c (file_name_completion): Pass dp->d_name to
4987 Fstring_match, not elt, which is always nil here.
4988
4989 2001-07-12 Gerd Moellmann <gerd@gnu.org>
4990
4991 * xselect.c (x_decline_selection_request): Handle errors
4992 caused by receivers that have vanished.
4993
4994 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
4995 ignoring events on foreign windows in #if 0. Always dispatch
4996 the event after checking it with x_handle_property_notify.
4997
4998 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
4999 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
5000 TRACE macros to facilitate debugging. Add additional trace statements.
5001 (toplevel): Add prototypes for file-local functions.
5002 (x_atom_to_symbol): Remove DPYINFO parameter.
5003
5004 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
5005
5006 * w32menu.c (menubar_selection_callback, w32_menu_show):
5007 Initialize `entry' to nil.
5008 (w32_dialog_show): Remove unused `save_wv' variable.
5009 (name_is_separator): Recognize "--:foo" and "--foo-bar".
5010
5011 2001-07-11 Gerd Moellmann <gerd@gnu.org>
5012
5013 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
5014
5015 * fileio.c (unwind_read): Print a message when discarding inserted
5016 text or switching the buffer to unibyte. Change parameter.
5017 (Finsert_file_contents): Don't pass VISIT to unwind_read.
5018
5019 * fileio.c (unwind_read): New function.
5020 (Finsert_file_contents): Record it as unwind-function for
5021 the case that reading is interrupted by C-g.
5022
5023 2001-07-10 Gerd Moellmann <gerd@gnu.org>
5024
5025 * dispnew.c (update_window): Don't skip the header-line
5026 update when scrolling_window returns 0.
5027
5028 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
5029
5030 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
5031 for the case that x_decode_color signals an error.
5032
5033 * xdisp.c (add_to_log): Do nothing if called asynchronously.
5034
5035 2001-07-09 Gerd Moellmann <gerd@gnu.org>
5036
5037 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
5038 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
5039 around ioctls.
5040
5041 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
5042
5043 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
5044 doc string line for dos-timezone-offset.
5045
5046 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
5047 inline assembly, to avoid compiler warnings.
5048 (syms_of_msdos): Add \n\ at the end of a line in the doc string
5049 line for dos-unsupported-char-glyph.
5050
5051 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
5052
5053 2001-07-05 Gerd Moellmann <gerd@gnu.org>
5054
5055 * sound.c: Include Emacs' header files with #include "...".
5056
5057 * eval.c (specbind): Additionally record the buffer that was
5058 current when a buffer-local or frame-local variable was bound.
5059
5060 2001-07-04 Gerd Moellmann <gerd@gnu.org>
5061
5062 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
5063 to unibyte characters in unibyte buffers.
5064
5065 2001-07-03 Gerd Moellmann <gerd@gnu.org>
5066
5067 * eval.c (specbind): If SYMBOL has a frame-local binding, record
5068 the frame on the binding stack. Change format of entries for
5069 local bindings on the binding stack to '(SYMBOL . WHERE)'.
5070 (unbind_to): Handle unbinding a frame-local variable.
5071
5072 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
5073 glyphs and truncation glyphs at the end of a row from its pixel width.
5074 (dump_glyph_row): Print row's continuation_lines_width.
5075 (try_window_id): Take the shortcut if ZV is visible in the
5076 window, but there are actually no changes at ZV.
5077
5078 2001-07-02 Gerd Moellmann <gerd@gnu.org>
5079
5080 * xterm.h (x_free_dpy_colors): Add prototype.
5081
5082 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
5083 right number of arguments.
5084
5085 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
5086 ($(lwlibdir)TAGS): New target.
5087 (TAGS): Fix dependency list.
5088
5089 * xterm.c (x_list_fonts): Make sure XFreeFont is called
5090 with input blocked.
5091
5092 2001-06-30 Gerd Moellmann <gerd@gnu.org>
5093
5094 * emacs.c (main): Remove extern declaration for sys_nerr, which
5095 isn't used and causes a compilation error with GCC 3.0 on
5096 FreeBSD 4.3.
5097
5098 2001-06-27 Gerd Moellmann <gerd@gnu.org>
5099
5100 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
5101 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
5102 (toplevel): Include <signal.h> and syssignal.h.
5103
5104 * sound.c (vox_configure, vox_close): Turn off atimers
5105 around ioctls.
5106
5107 2001-06-26 Gerd Moellmann <gerd@gnu.org>
5108
5109 * keyboard.c (read_char) <non_reread>: Record the previous idle
5110 start time before calling timer_stop_idle.
5111 (read_char) <reread_first>: After processing a help-echo event,
5112 restore the previous idle start time.
5113
5114 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
5115 the start of invisible text.
5116 (setup_for_ellipsis): New function.
5117 (next_overlay_string): After all overlay strings have been
5118 processed, display an ellipsis if necessary.
5119 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
5120 (push_it): Initialize display_ellipsis_p on the iterator's stack.
5121
5122 * dispextern.h (struct iterator_stack_entry): Add member
5123 display_ellipsis_p.
5124
5125 2001-06-25 Gerd Moellmann <gerd@gnu.org>
5126
5127 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
5128 on the value of the wait-for-wm frame parameter.
5129
5130 * xterm.h (struct x_output): Add member wait_for_wm.
5131
5132 * xfns.c (Qwait_for_wm): New variable.
5133 (x_frame_parms): Add entry for `wait-for-wm".
5134 (x_set_wait_for_wm): New function.
5135 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
5136 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
5137
5138 * xdisp.c (try_window_id) <all changes below window end>: Don't
5139 take this shortcut if ZV is visible in the window.
5140 (try_window_id): When checking for window start being in changed
5141 text, don't check that the buffer's size has changed.
5142
5143 2001-06-23 Richard M. Stallman <rms@gnu.org>
5144
5145 * minibuf.c (Fcompleting_read): Doc fix.
5146
5147 2001-06-19 Gerd Moellmann <gerd@gnu.org>
5148
5149 * composite.c (Ffind_composition_internal): Accept ZV
5150 and a string's end position as POS.
5151
5152 2001-06-18 Gerd Moellmann <gerd@gnu.org>
5153
5154 * composite.c (Ffind_composition_internal): Check POS
5155 for validity.
5156
5157 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
5158
5159 * editfns.c (Fmessage_box): If the frame is not under a window
5160 system, output the message in the echo area.
5161
5162 2001-06-14 Richard M. Stallman <rms@gnu.org>
5163
5164 * xdisp.c (try_window_id): When EOB is visible, don't treat
5165 insertion at EOB as if it were "off the bottom of the screen."
5166
5167 2001-06-11 Andrew Innes <andrewi@gnu.org>
5168
5169 * w32proc.c (create_child): Add new parameter is_gui_app.
5170 (w32_executable_type): Add new parameter is_gui_app.
5171 (sys_spawnve): Use it.
5172 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
5173 SIGQUIT. This matches better how the signals are interpreted by
5174 MSVC compiled programs.
5175 (syms_of_ntproc): Update docstring.
5176
5177 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
5178
5179 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
5180 well otherwise note_mouse_highlight might optimize away highlighting
5181 if we pass over that same overlay again.
5182
5183 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
5184
5185 * lread.c (Fload): Document that the argument is run via
5186 substitute-in-file-name.
5187
5188 2001-05-31 Gerd Moellmann <gerd@gnu.org>
5189
5190 * Makefile.in (bootstrap-doc): New target.
5191 (bootstrap-emacs): Depend on it.
5192
5193 * fileio.c (Fdo_auto_save): Don't try to create the directory of
5194 auto-save-list-file-name when shutting down Emacs, because
5195 creating the directory might signal an error, and leaves
5196 Emacs in a strange state.
5197
5198 * term.c: (tty_cursor_hidden): New variable.
5199 (update_begin): Don't call tty_hide_cursor. Clean up.
5200 (update_end, set_terminal_window, set_scroll_region): Clean up.
5201 (ring_bell, reset_terminal_modes): Clean up.
5202 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
5203 on tty_cursor_hidden.
5204 (write_glyphs): Call tty_hide_cursor.
5205
5206 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
5207
5208 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
5209
5210 2001-05-30 Gerd Moellmann <gerd@gnu.org>
5211
5212 * xfns.c (enum image_value_type): New enumerator
5213 IMAGE_STRING_OR_NIL_VALUE.
5214 (parse_image_spec): Handle it.
5215 (xbm_format, pbm_format): Use it for :foreground and :background.
5216 (xbm_load, pbm_load): Check for nil color names.
5217
5218 * xterm.c (note_mouse_highlight): If an overlapping overlay
5219 exists, but we find that we highlight the same overlay as before,
5220 don't do the highlighting again.
5221
5222 2001-05-29 Gerd Moellmann <gerd@gnu.org>
5223
5224 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
5225 Protect unibyte strings created by replacing their multibyte
5226 equivalents in menu_items.
5227
5228 * keymap.c (Fsingle_key_description): NUL-terminate the string
5229 buffer before calling build_string.
5230
5231 * callproc.c (Fcall_process): Deal with decode_coding returning
5232 CODING_FINISH_INCONSISTENT_EOL.
5233
5234 2001-05-28 Gerd Moellmann <gerd@gnu.org>
5235
5236 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
5237 an item's name with its key description in case the description
5238 is a multibyte string.
5239
5240 * keymap.c (Fsingle_key_description): Create a multibyte string
5241 only if necessary.
5242
5243 * macros.c (Fstart_kbd_macro): Doc fix.
5244
5245 * xterm.c (cursor_in_mouse_face_p): New function.
5246 (x_draw_stretch_glyph_string): Use it to choose a different GC
5247 when drawing a cursor within highlighted text.
5248
5249 * editfns.c (char_property_eq): Put in #if 0.
5250
5251 * indent.c (string_display_width): Put in #if 0.
5252
5253 * lread.c (Fload): Remove unused label.
5254
5255 * termcap.c (speeds): Put in #if 0.
5256
5257 2001-05-18 Gerd Moellmann <gerd@gnu.org>
5258
5259 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
5260
5261 * xfaces.c (xlfd_point_size): Don't divide pixel size from
5262 transformation matrix by 10.
5263
5264 2001-05-16 Gerd Moellmann <gerd@gnu.org>
5265
5266 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
5267 only if it's equal to the former foreground pixel color.
5268 (x_set_foreground_color, x_set_background_color)
5269 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
5270
5271 2001-05-16 Dave Love <fx@gnu.org>
5272
5273 * insdel.c (signal_before_change, signal_after_change): Consider a
5274 local change hook which changes the buffer.
5275
5276 * process.c (read_process_output): Don't call signal_after_change
5277 and update_compositions after insert_from_string_before_markers.
5278
5279 2001-05-16 Gerd Moellmann <gerd@gnu.org>
5280
5281 * xfaces.c (split_font_name): Use the right field when
5282 checking for `[...]' syntax.
5283
5284 * buffer.c (copy_overlays): New function.
5285 (clone_per_buffer_values): Use it.
5286
5287 * buffer.h (OVERLAY_PLIST): New macro.
5288
5289 * keymap.c (Fsingle_key_description): Replace a build_string with
5290 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
5291
5292 * fontset.c (Ffontset_info): Check that face is non-null
5293 before accessing its fields.
5294
5295 2001-05-15 Gerd Moellmann <gerd@gnu.org>
5296
5297 * keyboard.c (read_key_sequence): Prevent generating a fake
5298 prefix key twice.
5299
5300 * xfaces.c (split_font_name): Handle `[...]' for the right
5301 font name fields.
5302
5303 * ccl.c (ccl_driver): Don't copy remaining bytes in case
5304 of CCL_STAT_INVALID_CMD.
5305
5306 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
5307
5308 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
5309 in <var> has no default value yet.
5310
5311 * xfaces.c (try_alternative_families): First try the FAMILY.
5312 And if nothing is found in the end, try again with scalable fonts.
5313 (try_font_list): Let try_alternative_families do a bit more of
5314 the work. Only use FAMILY if it is not nil.
5315 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
5316
5317 2001-05-14 Gerd Moellmann <gerd@gnu.org>
5318
5319 * xterm.c (note_mouse_highlight): Avoid changing the mouse
5320 pointer shape when show_mouse_face has already done it.
5321
5322 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
5323 full-width rows.
5324
5325 * xfaces.c (split_font_name): Make sure to leave the loop
5326 with the right value of `i'.
5327
5328 * xfaces.c (split_font_name): Handle matrix transformations
5329 in the pixel and point size fields of XLFD font names.
5330 (xlfd_point_size): Likewise.
5331
5332 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
5333
5334 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
5335 (x_to_w32_font): Add prototype.
5336
5337 * regex.c (malloc, realloc, free) [emacs]: Undefine before
5338 redefining, to avoid compiler warnings.
5339
5340 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
5341
5342 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
5343 (w32_get_bdf_glyph): Cast between unsigned char and char when
5344 passing arguments to subroutines, to shut up compiler warnings.
5345 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
5346 GET_HEX_VAL.
5347
5348 * xfaces.c: Include keyboard.h before frame.h, not after it.
5349
5350 * widget.c: Include keyboard.h before frame.h.
5351
5352 * w32term.h (struct image, struct face): Forward declaration, to
5353 avoid compiler warnings.
5354
5355 2001-05-11 Gerd Moellmann <gerd@gnu.org>
5356
5357 * keyboard.c (read_key_sequence): Don't modify events when
5358 generating fake prefix keys (mode-line, scroll-bar, ...) since
5359 this prevents proper processing of such events when pushed back
5360 into unread-command-events.
5361
5362 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
5363 actually redrawn. Make the function static.
5364 (note_mouse_highlight): Fix a case where the mouse cursor
5365 was changed back to the text cursor.
5366
5367 * xterm.h (clear_mouse_face): Remove prototype.
5368
5369 * xdisp.c (try_window_id): Fix the fix and set the right
5370 window_end_vpos.
5371
5372 * xdisp.c (try_window_id): Fix computation of window end in the
5373 case that lines were deleted at the end of the window. Add some
5374 more debug_method_adds.
5375
5376 * xfaces.c (try_alternative_families): New function.
5377 (try_font_list): Use it. If ATTRS specifies a family, check
5378 fonts from that family first.
5379 (choose_face_font): Remove code setting the family part of
5380 the pattern to nil.
5381
5382 2001-05-10 Gerd Moellmann <gerd@gnu.org>
5383
5384 * xdisp.c (try_window_id): Fix case of all changes before
5385 the window start.
5386
5387 * xdisp.c (try_window_id): Add some xasserts.
5388
5389 2001-05-09 Gerd Moellmann <gerd@gnu.org>
5390
5391 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
5392
5393 2001-05-09 Dave Love <fx@gnu.org>
5394
5395 * xdisp.c (GIVE_UP): Fix for K&R C.
5396
5397 2001-05-09 Gerd Moellmann <gerd@gnu.org>
5398
5399 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
5400
5401 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
5402 back to the text cursor shape without need.
5403
5404 2001-05-07 Gerd Moellmann <gerd@gnu.org>
5405
5406 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
5407
5408 * dispextern.h (inverse_video): Declare extern.
5409
5410 * keyboard.c (delete_kboard): Handle the case that selected_frame
5411 has been deleted in the course of x_connection_closed.
5412
5413 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
5414
5415 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
5416 Fix the change from 2001-04-30.
5417
5418 2001-05-03 Gerd Moellmann <gerd@gnu.org>
5419
5420 * xfns.c (file_dialog_unmap_cb): New function.
5421 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
5422 where a dialog is closed via the window manager.
5423
5424 * xdisp.c (try_window_id): Cases of changes all in front of
5425 the window start or all below the window end mostly rewritten.
5426 (redisplay_window): Move the tests if try_window_id is
5427 applicable to try_window_id.
5428 (GIVE_UP): New macro.
5429
5430 2001-05-02 Gerd Moellmann <gerd@gnu.org>
5431
5432 * xterm.c (expose_window): Return int. If W is the window
5433 currently being updated, mark the frame garbaged.
5434 Fix computation of rows intersecting the exposed rectangle.
5435 (expose_window_tree): Stop when expose_window returns 0.
5436
5437 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
5438 again if it has already been drawn.
5439
5440 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
5441
5442 * syntax.c (update_syntax_table): Check that oldi has the same
5443 properties as old_prop before deciding not to invalidate.
5444
5445 2001-04-30 Gerd Moellmann <gerd@gnu.org>
5446
5447 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
5448 read-only text that is so because of text properties.
5449
5450 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
5451 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
5452 windows that are components of a Lucid menu bar.
5453
5454 2001-04-27 Gerd Moellmann <gerd@gnu.org>
5455
5456 * term.c (turn_on_face): Fix reverse video handling on terminals
5457 that don't support colors.
5458
5459 2001-04-26 Gerd Moellmann <gerd@gnu.org>
5460
5461 * editfns.c (save_excursion_restore): Don't use XBUFFER on
5462 a non-buffer.
5463
5464 2001-04-25 Gerd Moellmann <gerd@gnu.org>
5465
5466 * term.c (toggle_highlight): New function.
5467 (turn_on_face): Change handling of reverse video.
5468
5469 * process.c (wait_reading_process_input):
5470 Call record_asynch_buffer_change only if a timer really changed buffers.
5471
5472 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
5473 of the number of overlays to check.
5474
5475 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
5476
5477 * xdisp.c (try_window_id): Fix a case where window_end_pos
5478 and window_end_bytepos were not adjusted.
5479
5480 2001-04-23 Gerd Moellmann <gerd@gnu.org>
5481
5482 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
5483 zero instead of -1.
5484
5485 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
5486
5487 * process.c (wait_reading_process_input) [!subprocesses]:
5488 Don't reference waiting_for_user_input_p, it's not defined in the
5489 branch without async subprocesses support.
5490
5491 2001-04-19 Gerd Moellmann <gerd@gnu.org>
5492
5493 * keyboard.c (delete_kboard): Prevent a dangling reference
5494 from current_kboard to KB, which is freed.
5495
5496 * process.c (wait_reading_process_input):
5497 Call record_asynch_buffer_change after running timers, to make
5498 read_key_sequence aware of buffer changes from under it.
5499
5500 2001-04-18 Gerd Moellmann <gerd@gnu.org>
5501
5502 * xfaces.c (Qscalable_fonts_allowed): New variable.
5503 (realizing_basic_faces_p): Removed.
5504 (x_face_list_fonts): Special handling for realizing_basic_faces_p
5505 removed.
5506 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
5507 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
5508 for scalable-fonts-allowed to t.
5509
5510 * fileio.c (Finsert_file_contents): If the file size returned from
5511 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
5512 read from files on a procfs whose contents are generated dynamically.
5513
5514 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
5515
5516 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
5517 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
5518 (__memalign_hook): Make the two prototypes consistent.
5519
5520 2001-04-17 Gerd Moellmann <gerd@gnu.org>
5521
5522 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
5523 matrix of mini-windows.
5524
5525 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
5526
5527 * intervals.c (find_interval): Don't rebalance during signal handling.
5528
5529 2001-04-11 Gerd Moellmann <gerd@gnu.org>
5530
5531 * fns.c: Include blockinput.h.
5532
5533 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
5534
5535 2001-04-10 Gerd Moellmann <gerd@gnu.org>
5536
5537 * fns.c (Fcompare_strings): Fix return values.
5538
5539 * window.c (window_scroll): Change the meaning of N to mean
5540 N screen-fulls or N lines.
5541 (window_scroll_pixel_based, window_scroll_line_based)
5542 (scroll_command, Fscroll_other_window): Change accordingly.
5543
5544 * window.c (window_scroll_pixel_based, Frecenter):
5545 Call window_box_height instead of using it.last_visible_y for the
5546 height of the window.
5547
5548 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
5549 instead of using it.last_visible_y for the height of the window.
5550
5551 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
5552 From Dan Holmsand <dan@eyebee.com>.
5553
5554 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
5555 able to write to hidden and system files. From Dan Holmsand
5556 <dan@eyebee.com>.
5557
5558 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
5559 Holmsand <dan@eyebee.com>.
5560
5561 2001-04-09 Gerd Moellmann <gerd@gnu.org>
5562
5563 * fns.c (Fplist_get, Fplist_put): Add QUITs.
5564
5565 * window.c (window_internal_height): Return 1 less if the
5566 window has a header line.
5567
5568 * xdisp.c (try_window_id): When scrolling on a terminal, take
5569 the change of window_internal_height into account.
5570
5571 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
5572
5573 * gmalloc.c (align): If the argument SIZE would overflow
5574 __malloc_ptrdiff_t, fail right away.
5575
5576 2001-04-06 Gerd Moellmann <gerd@gnu.org>
5577
5578 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
5579 Make sure the tooltip is completely visible.
5580 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
5581
5582 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
5583
5584 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
5585
5586 2001-04-06 Dave Love <fx@gnu.org>
5587
5588 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
5589 Fix test of `from'.
5590
5591 2001-04-06 Gerd Moellmann <gerd@gnu.org>
5592
5593 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
5594
5595 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
5596
5597 2001-04-05 Gerd Moellmann <gerd@gnu.org>
5598
5599 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
5600
5601 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
5602
5603 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
5604 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
5605
5606 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
5607 shell widget's position only if it is non-null.
5608
5609 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
5610 Set f->output_data.x->widget to null after destroying it.
5611
5612 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
5613 FILENAME to bring it in synch with the documentation.
5614
5615 * xfaces.c (realizing_basic_faces_p): Renamed from
5616 realize_default_face_p.
5617 (realize_basic_faces): Set/clear realizing_basic_faces_p.
5618 (realize_default_face): Don't set the flag.
5619
5620 2001-04-04 Gerd Moellmann <gerd@gnu.org>
5621
5622 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
5623
5624 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
5625
5626 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
5627 the buffer that was used for echoing.
5628
5629 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
5630 (first_font_matching): Removed unused function.
5631 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
5632 (may_use_scalable_font_p): Remove parameter FONT; rename
5633 parameter NAME to FONT.
5634 (x_face_list_fonts): Fix missing bounds check.
5635 (realizing_default_face_p): New variable.
5636 (realize_default_face): Set and clear that flag.
5637 (x_face_list_fonts): When called during the realization of the
5638 default face, and no matching fonts are found when ignoring
5639 scalable fonts and fonts matching a regexp from
5640 face-ignored-fonts, try without ignoring fonts.
5641
5642 2001-04-03 Gerd Moellmann <gerd@gnu.org>
5643
5644 * xfns.c (postprocess_image): New function.
5645 (lookup_image): Call it for all image types except PostScript.
5646 (x_kill_gs_process): Call postprocess_image.
5647
5648 * xterm.c (x_use_underline_position_properties): New variable.
5649 (x_draw_glyph_string): Use it.
5650 (syms_of_xterm): DEFVAR_BOOL it.
5651
5652 2001-04-02 Gerd Moellmann <gerd@gnu.org>
5653
5654 * xterm.c (x_alloc_nearest_color_1): New function.
5655 (x_alloc_nearest_color): Use it.
5656 (x_color_cells): Take a Display as argument, instead of a frame.
5657 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
5658 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
5659 (x_initialize): Register cvt_string_to_pixel as resource converter
5660 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
5661
5662 2001-03-30 Gerd Moellmann <gerd@gnu.org>
5663
5664 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
5665 (set_iterator_to_next): If a string from a display property ends,
5666 consider the case that this might also be the end of an
5667 overlay string having the display property.
5668
5669 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
5670
5671 * xdisp.c (reseat_to_string): Undo last change.
5672
5673 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
5674 matrix of a window when the header line changes, when
5675 new rows are allocated, or when the width changes.
5676
5677 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
5678
5679 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
5680
5681 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
5682
5683 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
5684 deprecated.
5685
5686 2001-03-29 Gerd Moellmann <gerd@gnu.org>
5687
5688 * data.c (Fsubr_interactive_form): New function.
5689 (syms_of_data): Defsubr it.
5690
5691 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
5692 (live_float_p, live_misc_p): Return 1 only if the offset of the
5693 pointer in its block is >= 0.
5694
5695 2001-03-28 Paul Eggert <eggert@twinsun.com>
5696
5697 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
5698 microseconds calcuation. Avoid double-rounding problem.
5699 In doc string, warn that the result is approximate.
5700
5701 2001-03-28 Gerd Moellmann <gerd@gnu.org>
5702
5703 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
5704 bind `inhibit-eval-during-redisplay' to t.
5705
5706 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
5707
5708 * xdisp.c (inhibit_eval_during_redisplay)
5709 (Qinhibit_eval_during_redisplay): New variables.
5710 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
5711 don't eval, return nil instead.
5712 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
5713 Initialize Qinhibit_eval_during_redisplay.
5714
5715 * xdisp.c (reseat_to_string): If STRING is multibyte, set
5716 the iterator's multibyte_p flag.
5717
5718 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
5719 instead of setting it to zero; it's incremented for each frame
5720 where the menu face is changed.
5721
5722 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
5723 change bottom shadow accordingly.
5724
5725 * xterm.c (expose_window_tree, expose_frame): Don't compute
5726 intersections here.
5727 (expose_window): Do it here instead.
5728 (x_draw_glyph_string): Fix a computation of the underline position.
5729
5730 * bytecode.c (BYTE_CODE_QUIT): New macro.
5731 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
5732
5733 2001-03-27 Gerd Moellmann <gerd@gnu.org>
5734
5735 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
5736 Give up if matrix starts in an ellipsis.
5737 (init_from_display_pos): Do nothing if POS doesn't specify
5738 a dpvec_index but the iterator has such a position.
5739
5740 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
5741
5742 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
5743 x/y position is (0, 0) after destroying the menu bar, restore
5744 its original position.
5745
5746 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
5747 (init_from_display_pos): Use it.
5748 (try_window_reusing_current_matrix): Don't use cursor_row_p.
5749
5750 2001-03-26 Gerd Moellmann <gerd@gnu.org>
5751
5752 * xdisp.c (try_window_id): Undo last change.
5753
5754 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
5755
5756 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
5757
5758 * buffer.c (syms_of_buffer): Doc fix.
5759
5760 2001-03-26 Gerd Moellmann <gerd@gnu.org>
5761
5762 * xfaces.c (x_update_menu_appearance): Use local variable
5763 popup_path for setting font resources.
5764
5765 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
5766
5767 * frame.c (Fframe_list): Don't reference tip_frame if
5768 HAVE_WINDOW_SYSTEM is not defined.
5769
5770 * emacs.c (main): Update the copyright year. From Werner LEMBERG
5771 <wl@gnu.org>.
5772
5773 2001-03-25 Gerd Moellmann <gerd@gnu.org>
5774
5775 * xdisp.c (init_from_display_pos): Test invisible property
5776 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
5777
5778 * xdisp.c (redisplay_internal) <update one window>: Make sure
5779 last_arrow_position and last_arrow_string are set.
5780
5781 * frame.c (Fframe_list): Don't return a tooltip frame.
5782
5783 2001-03-23 Gerd Moellmann <gerd@gnu.org>
5784
5785 * xdisp.c (mark_window_display_accurate_1): New function,
5786 extracted from mark_window_display_accurate.
5787 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
5788 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
5789 (mark_window_display_accurate): Use it.
5790 (redisplay_internal): Use it for the selected window.
5791 (redisplay_internal): Avoid duplicate mark_window_display_accurate
5792 for the selected frame.
5793
5794 * xdisp.c Use make_number, for readability.
5795 (try_window_id): Disable rows below the window end.
5796 (try_window_reusing_current_matrix): Use cursor_row_p.
5797 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
5798 of rows.
5799 (init_from_display_pos): If POS specifies a position in a display
5800 vector, maybe get the iterator set up for that ellipsis.
5801
5802 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
5803
5804 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
5805
5806 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
5807
5808 2001-03-23 Gerd Moellmann <gerd@gnu.org>
5809
5810 * xfaces.c (x_update_menu_appearance): Use a different path
5811 for Lucid popup menus.
5812
5813 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
5814
5815 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
5816
5817 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
5818 (string_buffer_position): Use `make_number'.
5819
5820 2001-03-22 Gerd Moellmann <gerd@gnu.org>
5821
5822 * xfaces.c (x_update_menu_appearance): Renamed from
5823 x_set_menu_face_resources. Use different resources for popups.
5824
5825 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
5826 (GC_CHECK_STRING_BYTES): Don't define.
5827
5828 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
5829 Removed, together with subroutines.
5830 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
5831 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
5832
5833 * dispextern.h (x_set_menu_resources_from_menu_face):
5834 Remove prototype.
5835
5836 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
5837 Remove calls to x_set_menu_resources_from_menu_face.
5838
5839 * xfaces.c (xm_set_menu_resources_from_menu_face):
5840 Remove #ifndef LESSTIF_VERSION.
5841
5842 * xmenu.c: Include widget.h.
5843 (single_submenu): Return int. Some cleanup.
5844 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
5845
5846 2001-03-21 Gerd Moellmann <gerd@gnu.org>
5847
5848 * xterm.c (x_update_window_end): Handle overwritten mouse face
5849 also for tool bar windows.
5850 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
5851 DRAW is DRAW_IMAGE_RAISED.
5852
5853 2001-03-20 Gerd Moellmann <gerd@gnu.org>
5854
5855 * print.c (syms_of_print): Doc fixes.
5856
5857 * fns.c (Fmd5): Doc fix.
5858
5859 2001-03-19 Gerd Moellmann <gerd@gnu.org>
5860
5861 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5862 Clear area of the frame not occupied by the scroll bar.
5863
5864 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
5865 tip frame's root window buffer to *tip* right after creating
5866 the frame.
5867
5868 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
5869 is an integer don't have to be for space characters.
5870
5871 2001-03-16 Gerd Moellmann <gerd@gnu.org>
5872
5873 * indent.c (current_column, current_column_1, Fmove_to_column)
5874 (compute_motion): Handle characters from display vectors differently.
5875
5876 2001-03-15 Kenichi Handa <handa@etl.go.jp>
5877
5878 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
5879 drawing glyph string.
5880
5881 2001-03-15 Gerd Moellmann <gerd@gnu.org>
5882
5883 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
5884 (command_loop_1): Undo last change.
5885
5886 * xterm.c (fast_find_position): Return the correct vpos.
5887
5888 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
5889 non-null, set a per-buffer value in BUF instead of the current buffer.
5890 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
5891 Call store_symval_forwarding with BUF null.
5892 (set_internal): Call store_symval_forwarding with the BUF
5893 parameter passed to set_internal. Formerly, the value was always
5894 set in the current buffer; the buffer recorded in specbind for
5895 this case wasn't used.
5896 (arith_driver): Reindent.
5897
5898 * buffer.c (swap_out_buffer_local_variables):
5899 Call store_symval_forwarding with BUF null.
5900
5901 * lisp.h (store_symval_forwarding): Change prototype.
5902
5903 * eval.c (specbind): Call store_symval_forwarding with BUF null.
5904
5905 2001-03-14 Gerd Moellmann <gerd@gnu.org>
5906
5907 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
5908 FOR_DELETION. Avoid resizing the mini-window of the selected
5909 frame if FOR_DELETION is set.
5910 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
5911 (Fmake_frame_invisible): Change calls to do_switch_frame for new
5912 signature.
5913
5914 * window.c (Fset_window_configuration): Change call to
5915 do_switch_frame to new format.
5916
5917 * keyboard.c (quit_throw_to_read_char): Change call to
5918 do_switch_frame to new format.
5919
5920 * lisp.h (do_switch_frame): Change prototype.
5921
5922 * frame.c (Fframe_parameters): In the `buffer-list' frame
5923 parameter, store the buffer list of FRAME, not the list of the
5924 selected frame.
5925
5926 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
5927 box just because the glyph row's full_width_p flag is set.
5928
5929 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
5930
5931 * xdisp.c (highlight_trailing_whitespace): On character terminals,
5932 skip the padding blanks inserted in extend_face_to_end_of_line,
5933 before checking for trailing whitespace.
5934
5935 2001-03-13 Gerd Moellmann <gerd@gnu.org>
5936
5937 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
5938 Remove special handling for LessTif/Motif.
5939 (toplevel): Don't include Xm/Xm.h.
5940
5941 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
5942 Remove workaround code for LessTif; it doesn't work anymore.
5943
5944 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
5945 Xm/ScrollBarP.h.
5946
5947 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
5948 Don't access private scroll bar data; it's no longer necessary with
5949 contemporary LessTif.
5950
5951 * xfaces.c (xm_set_menu_resources_from_menu_face):
5952 Change #if 0 to #ifndef LESSTIF_VERSION.
5953
5954 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
5955 removing button grabs.
5956
5957 2001-03-13 Kenichi Handa <handa@etl.go.jp>
5958
5959 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
5960 and clip-large-size-font as obsolete.
5961
5962 * lread.c (read_multibyte): Check the validity of multibyte
5963 sequence. If invalid, return the first byte.
5964
5965 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5966
5967 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
5968 before running the command; timer functions or process
5969 filters may have set it.
5970
5971 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
5972
5973 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
5974 Doc fix.
5975
5976 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5977
5978 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
5979 to sprintf.
5980
5981 2001-03-09 Gerd Moellmann <gerd@gnu.org>
5982
5983 * dispextern.h (string_buffer_position): Add prototype.
5984
5985 * xdisp.c (string_buffer_position, display_prop_string_p)
5986 (single_display_prop_string_p): New functions.
5987
5988 * xterm.c (note_mouse_highlight): If there's no help-echo on
5989 a string, look at the buffer text ``under'' it.
5990
5991 * keyboard.c (make_lispy_event): Add string info to the event,
5992 analogous to what's done on mode lines.
5993 (read_key_sequence): For a click on a string, consider `local-map'
5994 and `keymap' of that string.
5995
5996 * keyboard.c (make_lispy_event, make_lispy_movement):
5997 Adjust calls to buffer_posn_from_coords to new format.
5998
5999 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
6000
6001 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
6002 POS; return void.
6003
6004 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
6005 flags argument to emacs_open; it seems to conflict with O_EXCL.
6006
6007 2001-03-09 Kenichi Handa <handa@etl.go.jp>
6008
6009 * composite.h (struct composition): Change types of members;
6010 glyph_len to unsigned, width to unsigned short.
6011
6012 2001-03-08 Andrew Innes <andrewi@gnu.org>
6013
6014 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
6015 menu titles.
6016
6017 2001-03-08 Gerd Moellmann <gerd@gnu.org>
6018
6019 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
6020 instead of nil.
6021
6022 * xterm.c (note_mouse_highlight): Handle mouse-face and
6023 help-echo in strings.
6024 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
6025 (fast_find_string_pos): New function.
6026
6027 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
6028 (display_string): Call face_at_string_position with new parameter.
6029
6030 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
6031 Handle `mouse-face'.
6032
6033 * dispextern.h (face_at_string_position): Change prototype.
6034
6035 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
6036
6037 * keyboard.c (make_lispy_event): Avoid generating drag events
6038 if the mouse hasn't actually moved to another buffer position.
6039
6040 2001-03-08 Dave Love <fx@gnu.org>
6041
6042 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
6043
6044 2001-03-08 Gerd Moellmann <gerd@gnu.org>
6045
6046 * process.c (Fset_process_window_size): Fix a typo.
6047
6048 2001-03-08 Kenichi Handa <handa@etl.go.jp>
6049
6050 * coding.c (detect_coding_sjis): Do more rigid check.
6051 (detect_coding_big5): Likewise.
6052 (decode_coding_sjis_big5): Likewise.
6053 (Fdetect_coding_region): Call detect_coding_system with tailing
6054 anchor byte `\0' for more rigid detection.
6055 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
6056 (Fdetect_coding_string): Likewise.
6057
6058 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
6059
6060 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
6061 a string before extracting its data.
6062
6063 2001-03-07 Gerd Moellmann <gerd@gnu.org>
6064
6065 * window.c (Frecenter): Rewrite code handling negative values
6066 of ARG on graphical frames.
6067
6068 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
6069
6070 * window.c (displayed_window_lines): If W->start is outside the
6071 accessible portion of the buffer, call start_display with BEGV or
6072 ZV instead of W->start.
6073
6074 2001-03-07 Gerd Moellmann <gerd@gnu.org>
6075
6076 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
6077
6078 * process.c (Fset_process_filter): Don't crash if the input
6079 file descriptor of PROCESS is closed.
6080 (Fset_process_window_size): Likewise.
6081
6082 2001-03-06 Kenichi Handa <handa@etl.go.jp>
6083
6084 * xterm.c (XTflash): Make the timeout of select shorter, and call
6085 select repeatedly until the desired time expires.
6086
6087 2001-03-06 Gerd Moellmann <gerd@gnu.org>
6088
6089 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
6090
6091 * xfns.c (Fx_create_frame): Clear Vwindow_list.
6092
6093 * lisp.h (Vwindow_list): Declare extern.
6094
6095 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
6096
6097 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
6098
6099 2001-03-06 Gerd Moellmann <gerd@gnu.org>
6100
6101 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
6102 to detect a case where we have to highlight a different region
6103 despite not having left the currently highlighted region.
6104 Set mouse_face_overlay in the x_display_info.
6105 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
6106
6107 * xterm.h (struct x_display_info): Add mouse_face_overlay.
6108
6109 * buffer.c (mouse_face_overlay_overlaps): New function.
6110
6111 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
6112 (Qmouse_face): Declare extern.
6113
6114 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
6115 if face_change_count is non-zero.
6116
6117 2001-03-06 Kenichi Handa <handa@etl.go.jp>
6118
6119 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
6120 that the source is unibyte.
6121
6122 2001-03-05 Dave Love <fx@gnu.org>
6123
6124 * xterm.c (XTmouse_position): Fix typo.
6125
6126 2001-03-05 Gerd Moellmann <gerd@gnu.org>
6127
6128 * minibuf.c (read_minibuf): Clean up the binding stack if
6129 called noninteractively.
6130
6131 2001-03-05 Kenichi Handa <handa@etl.go.jp>
6132
6133 * coding.c (syms_of_coding): Docstring modified.
6134
6135 2001-03-05 Kenichi Handa <handa@etl.go.jp>
6136
6137 * charset.c (char_to_string): If a single byte char has modifier
6138 bits that can't be reflected to the character code, ignore them
6139 instead of signaling an error.
6140
6141 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
6142
6143 * s/msdos.h: Update copyright notice.
6144
6145 * dosfns.h: Update copyright notice.
6146
6147 * dosfns.c: Update copyright notice.
6148
6149 * msdos.c: Update copyright notice.
6150
6151 2001-03-02 Gerd Moellmann <gerd@gnu.org>
6152
6153 * xterm.c (glyph_rect): New function.
6154 (XTmouse_position): Use it to raise the threshold for mouse
6155 movement event generation.
6156
6157 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
6158
6159 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
6160 specifies (reverse . t), reverse the initial screen colors.
6161 (IT_set_frame_parameters): If the property is foreground-color,
6162 but we are reversing the colors, set bg_set, not fg_set.
6163 Likewise for setting background-color and reversing: set fg_set.
6164 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
6165 in effect.
6166
6167 * xfaces.c (Finternal_set_lisp_face_attribute)
6168 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
6169 parameters alist.
6170
6171 2001-03-02 Gerd Moellmann <gerd@gnu.org>
6172
6173 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
6174 to a single slash in the middle of file names.
6175
6176 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
6177 Accept only alphanumeric time zone names.
6178
6179 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
6180 or width area.
6181 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
6182 a widget to zero height.
6183
6184 2001-03-01 Gerd Moellmann <gerd@gnu.org>
6185
6186 * window.c (Fwindow_end): Call move_it_past_eol only if
6187 ending up on a partially visible line.
6188
6189 2001-03-01 Dave Love <fx@gnu.org>
6190
6191 * ccl.c (Fccl_execute): Doc fix.
6192
6193 2001-03-01 Gerd Moellmann <gerd@gnu.org>
6194
6195 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
6196 of the tool bar before calling x_figure_window_size.
6197
6198 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
6199 NULL after destroying it, otherwise XTread_socket can access a
6200 destroyed widget when input is unblocked.
6201
6202 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
6203
6204 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
6205 same name as before, although there was a change in fontsets.
6206
6207 2001-02-28 Ken Raeburn <raeburn@gnu.org>
6208
6209 * lisp.h (Fframe_parameter): Declare.
6210
6211 * window.c (set_window_buffer): Field vscroll is an int, not a
6212 Lisp_Object.
6213
6214 2001-02-28 Gerd Moellmann <gerd@gnu.org>
6215
6216 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
6217 NULL instead.
6218
6219 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
6220 NULL instead.
6221
6222 * alloc.c (toplevel): Include process.h.
6223 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
6224 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
6225 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
6226 (allocate_vector, allocate_hash_table, allocate_window)
6227 (allocate_frame, allocate_process, allocate_other_vector):
6228 New functions.
6229 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
6230 (mark_maybe_pointer): New function.
6231 (mark_memory): Also mark Lisp data to which only pointers
6232 remain and not Lisp_Objects.
6233 (min_heap_address, max_heap_address): New variables.
6234 (mem_find): Return MEM_NIL if START is below min_heap_address or
6235 above max_heap_address.
6236 (mem_insert): Compute min_heap_address and max_heap_address.
6237
6238 * process.c (make_process): Use allocate_process.
6239
6240 * frame.c (make_frame): Use allocate_frame.
6241
6242 * window.c (make_window, make_dummy_parent): Use allocate_window.
6243 (Fcurrent_window_configuration): Use allocate_other_vector.
6244
6245 * lisp.h (allocate_vectorlike): Remove prototype.
6246 (allocate_vector, allocate_other_vector, allocate_frame)
6247 (allocate_window, allocate_process, allocate_hash_table):
6248 Add prototypes.
6249
6250 * fns.c (Fdelete, larger_vector): Use allocate_vector.
6251 (make_hash_table, copy_hash_table): Use allocate_hash_table.
6252
6253 2001-02-27 Kenichi Handa <handa@etl.go.jp>
6254
6255 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
6256 treat the produced bytes as a valid multibyte sequence.
6257
6258 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
6259 (ccl_driver) <CCL_WriteMultibyteChar2>:
6260 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
6261 <ccl_finish>: Set ccl->eight_bit_control properly.
6262
6263 * ccl.h (struct ccl_program): New member eight_bit_control.
6264
6265 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
6266
6267 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
6268 accessible_keymaps_char_table.
6269 (accessible_keymaps_char_table): Obey `is_metized'.
6270 (where_is_internal, Fwhere_is_internal): Don't confuse int and
6271 Lisp_Object.
6272
6273 2001-02-26 Gerd Moellmann <gerd@gnu.org>
6274
6275 * dispnew.c: Check HAVE_TERM_H before including term.h.
6276
6277 2001-02-24 Andrew Innes <andrewi@gnu.org>
6278
6279 * makefile.w32-in: Update copyright notice.
6280
6281 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
6282
6283 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
6284
6285 2001-02-24 Kenichi Handa <handa@etl.go.jp>
6286
6287 * Makefile.in (lisp): Add international/utf-8.elc.
6288
6289 * fontset.c (Fnew_fontset): Fix handling of the case that an
6290 element of FONTLIST is a cons of family and registry.
6291
6292 2001-02-23 Jason Rumney <jasonr@gnu.org>
6293
6294 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
6295 to height unconditionally.
6296
6297 * w32term.c (x_set_glyph_string_background_width): Extend the
6298 background face to the end of the drawing area in the text area, only.
6299 (x_insert_glyphs): Call window_box_left to obtain the left
6300 x-coordinate of the area to shift.
6301
6302 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
6303 safe_run_hooks.
6304
6305 2001-02-22 Andrew Innes <andrewi@gnu.org>
6306
6307 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
6308 ($(BLD)\dispnew.obj):
6309 ($(BLD)\editfns.obj):
6310 ($(BLD)\fileio.obj):
6311 ($(BLD)\filelock.obj):
6312 ($(BLD)\keyboard.obj):
6313 ($(BLD)\w32proc.obj):
6314 ($(BLD)\process.obj):
6315 ($(BLD)\sysdep.obj): Ditto.
6316
6317 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
6318 header files.
6319 ($(BLD)/dispnew.$(O)):
6320 ($(BLD)/editfns.$(O)):
6321 ($(BLD)/fileio.$(O)):
6322 ($(BLD)/filelock.$(O)):
6323 ($(BLD)/keyboard.$(O)):
6324 ($(BLD)/w32proc.$(O)):
6325 ($(BLD)/process.$(O)):
6326 ($(BLD)/sysdep.$(O)): Ditto.
6327
6328 2001-02-22 Gerd Moellmann <gerd@gnu.org>
6329
6330 * xdisp.c (forward_to_next_line_start): When taking the shortcut
6331 at the start of the function, check that the \n in it->c is
6332 from the iterator's current position.
6333
6334 * xdisp.c (handle_single_display_prop): Add parameter
6335 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
6336 properties which replace the display of text with something else.
6337 (handle_display_prop): Call handle_single_display_prop with
6338 additional argument saying if we already replaced text display
6339 with something else. Use AREF.
6340 (with_echo_area_buffer_unwind_data, display_menu_bar)
6341 (decode_mode_spec_coding): Use AREF and ASIZE.
6342
6343 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
6344 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
6345 * vmstime.h: Files removed.
6346
6347 * unexencap.c, unexfx2800.c: Files removed.
6348
6349 * dispnew.c (direct_output_for_insert): Give up if we are showing
6350 a message or just cleared the message because we might need to
6351 resize the echo area window or display an empty echo area.
6352
6353 2001-02-21 Gerd Moellmann <gerd@gnu.org>
6354
6355 * xdisp.c (redisplay_internal): Do the
6356 mark_window_display_accurate after all windows have been
6357 redisplayed because this call resets flags in buffers which are
6358 needed for proper redisplay.
6359
6360 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
6361 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
6362 the old names.
6363
6364 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
6365 busy_window to hourglass_window, busy_p to hourglass_p.
6366
6367 * msdos.h (struct x_output): Rename busy_window to
6368 hourglass_window, busy_p to hourglass_p.
6369
6370 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
6371 busy_window to hourglass_window, busy_p to hourglass_p.
6372
6373 * xfns.c: Rename everything containing *busy_cursor* and similar
6374 to *hourglass*.
6375 (syms_of_w32fns): Rename x-busy-pointer-shape to
6376 x-hourglass-pointer-shape, display-busy-cursor to
6377 display-hourglass, busy-cursor-delay to hourglass-delay.
6378
6379 * w32fns.c: Rename everything containing *busy_cursor* and similar
6380 to *hourglass*.
6381 (syms_of_w32fns): Rename x-busy-pointer-shape to
6382 x-hourglass-pointer-shape, display-busy-cursor to
6383 display-hourglass, busy-cursor-delay to hourglass-delay.
6384
6385 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
6386 of its busy_p flag.
6387
6388 * dispextern.h (start_hourglass, cancel_hourglass)
6389 (display_hourglass_p): Renamed from *busy_cursor*.
6390
6391 2001-02-20 Gerd Moellmann <gerd@gnu.org>
6392
6393 * keyboard.c (read_char): When an event from unread-command-events
6394 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
6395
6396 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
6397 equal to the current buffer.
6398
6399 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
6400 nil, otherwise we're left with truncate_lines t when a message
6401 is printed with message-truncate-lines bound to t.
6402
6403 2001-02-19 Gerd Moellmann <gerd@gnu.org>
6404
6405 * window.c (Fmove_to_window_line): Undo last change.
6406 (displayed_window_lines): Call line_bottom_y to determine
6407 the line's bottom position.
6408
6409 * dispextern.h (line_bottom_y): Add prototype.
6410
6411 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
6412 (pos_visible_p): Use it.
6413
6414 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
6415 set redisplaying_p to 0 here instead of in Frecursive_edit.
6416 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
6417 set redisplaying_p.
6418
6419 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
6420 New variables.
6421 (syms_of_xdisp): Initialize new variables.
6422 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
6423 Specbind `inhibit-menubar-update' when updating the menu bar.
6424
6425 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
6426 safe_run_hooks.
6427
6428 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
6429 safe_run_hooks.
6430
6431 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
6432 is null.
6433
6434 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
6435 to the start of the file.
6436
6437 2001-02-16 Gerd Moellmann <gerd@gnu.org>
6438
6439 * window.c (set_window_buffer): Fix last change.
6440
6441 * window.c (set_window_buffer): Set window's vscroll to 0.
6442
6443 * window.c (coordinates_in_window): Increase width of area
6444 where the vertical line can be dragged.
6445
6446 * xterm.c (x_set_glyph_string_background_width): Extend the
6447 background face to the end of the drawing area in the text
6448 area, only.
6449
6450 * xdisp.c (handle_single_display_prop): Set iterator's position
6451 to where the `display' property starts, like for images.
6452 (dump_glyph): New function.
6453 (dump_glyph_row): Use it. Dump info about marginal areas.
6454
6455 * dispnew.c (direct_output_for_insert): Recognize more cases where
6456 glyphs can be written instead of being inserted.
6457
6458 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
6459 the left x-coordinate of the area to shift.
6460
6461 * dired.c (directory_files_internal): Set result list to nil
6462 before retrying.
6463
6464 2001-02-15 Kenichi Handa <handa@etl.go.jp>
6465
6466 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
6467 invalid multibyte sequence, treat *SRC as a character of
6468 eight-bit-graphic.
6469
6470 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
6471
6472 * textprop.c (Fset_text_properties): Doc fix.
6473
6474 2001-02-15 Gerd Moellmann <gerd@gnu.org>
6475
6476 * dispnew.c (update_text_area): Undo change of 2001-01-12.
6477
6478 2001-02-14 Dave Love <fx@gnu.org>
6479
6480 * coding.c: Doc and message fixes.
6481
6482 2001-02-14 Andrew Innes <andrewi@gnu.org>
6483
6484 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
6485 Emacs frame above the screen size.
6486
6487 2001-02-14 Gerd Moellmann <gerd@gnu.org>
6488
6489 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
6490
6491 2001-02-13 Gerd Moellmann <gerd@gnu.org>
6492
6493 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
6494 case that TO ends up beyond ZV after running before-change-functions.
6495
6496 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
6497 the selected window if it is showing the buffer in question.
6498
6499 * dired.c (directory_files_internal): Initialize errno.
6500 (toplevel): Include errno.h.
6501
6502 2001-02-13 Kenichi Handa <handa@etl.go.jp>
6503
6504 * xfaces.c (best_matching_font): New parameter width_ratio.
6505 Multiply avgwidth by width_ratio.
6506 (choose_face_font): Call best_matching_font with width_ratio
6507 calculated from the column width of C.
6508
6509 2001-02-12 Andrew Innes <andrewi@gnu.org>
6510
6511 The following changes are to draw box lines inside characters area
6512 if line-width is negative.
6513
6514 * w32term.c (x_produce_image_glyph): Pay attention to the case that
6515 face->box_line_width is negative.
6516 (x_produce_stretch_glyph): Likewise.
6517 (x_produce_glyphs): Likewise.
6518 (x_estimate_mode_line_height): Likewise.
6519 (x_draw_glyph_string_background): Likewise.
6520 (x_draw_glyph_string_foreground): Likewise.
6521 (x_draw_composite_glyph_string_foreground): Likewise.
6522 (x_draw_glyph_string_box): Likewise.
6523 (x_draw_image_foreground): Likewise.
6524 (x_draw_image_relief): Likewise.
6525 (x_draw_image_foreground_1): Likewise.
6526 (x_draw_image_glyph_string): Likewise.
6527
6528 2001-02-09 Kenichi Handa <handa@etl.go.jp>
6529
6530 The following changes are to draw box lines inside characters area
6531 if line-width is negative.
6532
6533 * xterm.c (x_produce_image_glyph): Pay attention to the case that
6534 face->box_line_width is negative.
6535 (x_produce_stretch_glyph): Likewise.
6536 (x_produce_glyphs): Likewise.
6537 (x_estimate_mode_line_height): Likewise.
6538 (x_draw_glyph_string_background): Likewise.
6539 (x_draw_glyph_string_foreground): Likewise.
6540 (x_draw_composite_glyph_string_foreground): Likewise.
6541 (x_draw_glyph_string_box): Likewise.
6542 (x_draw_image_foreground): Likewise.
6543 (x_draw_image_relief): Likewise.
6544 (x_draw_image_foreground_1): Likewise.
6545 (x_draw_image_glyph_string): Likewise.
6546
6547 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
6548 and :line-width can be negative.
6549 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
6550
6551 2001-02-09 Jason Rumney <jasonr@gnu.org>
6552
6553 * w32term.c (w32_encode_char): Treat eight bit graphic and control
6554 characters the same as ASCII and latin-1.
6555 (x_display_and_set_cursor): Check for the focus frame's selected
6556 window instead of selected_window.
6557 (x_after_update_window_line): Don't clear if frame's internal
6558 border width is zero.
6559 (x_new_font): Don't change a tooltip's size.
6560 (w32_initialize): Set char_ins_del_ok to 1.
6561
6562 * w32fns.c (Fx_show_tip): Fix calls to make_number.
6563 (x_set_font): If font hasn't changed, avoid recomputing
6564 faces and other things.
6565 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
6566 (Fx_create_frame): Add the tool bar height to the frame height.
6567 (x_create_tip_frame): Prevent changing the tooltip's
6568 background color by specifying a color for the default font
6569 in .Xdefaults.
6570 (Qcancel_timer): New variable.
6571 (syms_of_w32fns): Initialize and staticpro it.
6572 (Fx_hide_tip, Fx_show_tip): Use it.
6573 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6574 the timer.
6575 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
6576
6577 * w32.c (init_environment): Duplicate local string before putenv.
6578
6579 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
6580
6581 * charset.c (Fstring): A typo.
6582
6583 2001-02-09 Kenichi Handa <handa@etl.go.jp>
6584
6585 * charset.c (Fstring): If all arguments are less than 256, return
6586 a unibyte string.
6587
6588 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
6589 return a unibyte string.
6590
6591 * coding.c (code_convert_region): After detecting a coding, if
6592 nothing found, set coding->composing to COMPOSITION_NO.
6593 (decode_coding_string): Likewise.
6594
6595 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
6596
6597 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
6598 to avoid overflow.
6599
6600 2001-02-07 Kenichi Handa <handa@etl.go.jp>
6601
6602 * charset.c (parse_str_to_multibyte): New function.
6603
6604 * charset.h (parse_str_to_multibyte): Extern it.
6605
6606 * print.c (print_string): If we are going to print a unibyte
6607 string into a multibyte buffer, convert the string to multibyte by
6608 str_to_multibyte.
6609
6610 2001-02-06 Andrew Innes <andrewi@gnu.org>
6611
6612 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
6613 been created. It seems we can get sent window messages such as
6614 WM_ERASEBKGND before we properly update a frame.
6615
6616 2001-02-06 Gerd Moellmann <gerd@gnu.org>
6617
6618 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
6619 Avoid some unnecessary cursor positioning.
6620
6621 2001-02-05 Gerd Moellmann <gerd@gnu.org>
6622
6623 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
6624 (LFACE_AVGWIDTH): New macro.
6625 (LFACEP): Use AREF.
6626 (check_lface_attrs): Check LFACE_AVGWIDTH.
6627 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6628 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
6629 (merge_face_vectors): Check LFACE_AVGWIDTH.
6630 (Finternal_make_lisp_face): Use AREF.
6631 (xm_set_menu_resources_from_menu_face)
6632 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
6633 (Finternal_lisp_face_empty_p): Use AREF.
6634 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
6635 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
6636 Compare average widths..
6637 (best_matching_font): Arrange for comparing average widths.
6638
6639 * dispextern.h (enum lface_attribute_index):
6640 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
6641
6642 2001-02-05 Dave Love <fx@gnu.org>
6643
6644 * puresize.h: Revert last change following loadup.el change.
6645
6646 2001-02-05 Andrew Innes <andrewi@gnu.org>
6647
6648 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
6649 invocation of temacs, to work with Windows 2000.
6650 (bootstrap-emacs): Ditto.
6651
6652 2001-02-05 Gerd Moellmann <gerd@gnu.org>
6653
6654 * xterm.c (x_display_and_set_cursor): Check for the focus
6655 frame's selected window instead of selected_window.
6656
6657 * xdisp.c (try_scrolling): If point is in the line below the
6658 window, make sure to move the iterator at least a canonical
6659 char height down.
6660
6661 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
6662
6663 2001-02-05 Kenichi Handa <handa@etl.go.jp>
6664
6665 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
6666 If invalid, execute CCL_INVALID_CMD.
6667 (ccl_driver): If the CCL program is terminated because of
6668 CCL_STAT_INVALID_CMD, copy the remaining source data to the
6669 destination instead of throwing them away.
6670
6671 2001-02-02 Gerd Moellmann <gerd@gnu.org>
6672
6673 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
6674 faces and other things.
6675
6676 * xdisp.c (get_next_display_element): Fix case of empty
6677 display table entry.
6678
6679 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
6680
6681 * editfns.c (Fconstrain_to_field): Doc fix.
6682
6683 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
6684 into `thoroughly', to make it consistent with the doc string.
6685
6686 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
6687
6688 2001-02-01 Gerd Moellmann <gerd@gnu.org>
6689
6690 * search.c (search_buffer): Call set_search_regs with a byte
6691 position, not a character position.
6692
6693 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
6694 minibuffer-only,
6695
6696 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
6697
6698 * frame.c (Fmodify_frame_parameters): Doc fix.
6699
6700 2001-01-31 Gerd Moellmann <gerd@gnu.org>
6701
6702 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
6703 identifier which is not reserved by Standard C.
6704
6705 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
6706
6707 * window.c (enum window_part): New enumeration.
6708 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
6709 Qright_bitmap_area.
6710 (coordinates_in_window): Return an enumerator from enum
6711 window_part. Fix handling of right scroll bar.
6712 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
6713 `right-fringe' instead of `left-bitmap-area' and
6714 `right-bitmap-area'. Use enumerators from enum window_part
6715 instead of hard-coded integers.
6716 (check_window_containing, window_from_coordinates):
6717 Use enumerators from enum window_part instead of hard-coded integers.
6718 (syms_of_window): Replace Qleft_bitmap_area and
6719 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
6720
6721 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
6722
6723 * editfns.c (Fformat_time_string): Doc fix.
6724
6725 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
6726
6727 * keymap.c (Fwhere_is_internal): Use the first valid binding
6728 if no ascii binding is found (when firstonly is t).
6729
6730 2001-01-31 Gerd Moellmann <gerd@gnu.org>
6731
6732 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
6733 instead of Finteractive_p.
6734
6735 * lisp.h (interactive_p): Add prototype.
6736
6737 * eval.c (interactive_p): New function.
6738 (Finteractive_p): Use it.
6739
6740 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
6741
6742 2001-01-31 Dave Love <fx@gnu.org>
6743
6744 * .gdbinit (hook-run): Define to run xreload.
6745
6746 * textprop.c (Fset_text_properties): Fix newline in doc string.
6747
6748 2001-01-30 Gerd Moellmann <gerd@gnu.org>
6749
6750 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
6751 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
6752
6753 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
6754 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
6755 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
6756
6757 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
6758 height.
6759
6760 2001-01-30 Dave Love <fx@gnu.org>
6761
6762 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
6763 AFTER_POTENTIAL_GC.
6764
6765 2001-01-29 Gerd Moellmann <gerd@gnu.org>
6766
6767 * bytecode.c (Fbyte_code) <Bcurrent_column>:
6768 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
6769
6770 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
6771
6772 * textprop.c (Fset_text_properties): Doc fix.
6773
6774 2001-01-29 Gerd Moellmann <gerd@gnu.org>
6775
6776 * xdisp.c (forward_to_next_line_start): Remove xassert.
6777
6778 2001-01-29 Jason Rumney <jasonr@gnu.org>
6779
6780 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
6781 returning without releasing it.
6782
6783 2001-01-29 Kenichi Handa <handa@etl.go.jp>
6784
6785 * w32fns.c (w32_font_match): Allocate three more bytes to regex
6786 for '^', '$', and '\0'.
6787
6788 2001-01-28 Andrew Choi <akochoi@i-cable.com>
6789
6790 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
6791 regex for '^', '$', and '\0'.
6792
6793 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
6794 only if current_sblock has been initialized.
6795
6796 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
6797 terminal frame even if it is the only visible frame.
6798
6799 2001-01-28 Kenichi Handa <handa@etl.go.jp>
6800
6801 * fontset.c (font_family_registry): Even if FONTNAME conform to
6802 XLFD, if it specifies other fields than family and registry,
6803 return FONTANME. New argument FORCE if nonzero cancel that feature.
6804 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
6805 a signle byte character. Don't set FAMILY part to nil here.
6806 It is handled by the caller choose_face_font.
6807 (Fnew_fontset): Call font_family_registry with FORCE 0.
6808 (Fset_fontset_font): Likewise.
6809
6810 2001-01-27 Gerd Moellmann <gerd@gnu.org>
6811
6812 * xdisp.c (display_line): Don't treat a newline as fitting
6813 on the line.
6814
6815 2001-01-26 Gerd Moellmann <gerd@gnu.org>
6816
6817 * window.c (size_window): Set the window's orig_top to nil when
6818 changing heights, so that a future shrink_mini_window won't
6819 restore a bogus height.
6820
6821 * frame.c (do_switch_frame): If selected frame has a mini-window,
6822 resize that to exact size.
6823
6824 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
6825
6826 * xdisp.c (display_line): Simplify check for glyphs fitting
6827 entirely in the line.
6828
6829 * xfns.c (xic_style): New variable.
6830 (create_frame_xic): Move static variable to global scope for
6831 the case that `static' gets defined away.
6832
6833 2001-01-26 Kenichi Handa <handa@etl.go.jp>
6834
6835 * coding.c (decode_coding): Set a flag for inhibiting
6836 inconsistent eol.
6837 (code_convert_region): Always set saved_coding_symbol.
6838 (decode_coding_string): Likewise. Update coding->symbol when we
6839 encounter a inconsistent eol by the same way as code_convert_region.
6840
6841 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6842
6843 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
6844 XClearArea.
6845
6846 * xterm.c (x_after_update_window_line): Don't clear if frame's
6847 internal border width is zero.
6848 (x_clear_area): New function.
6849 (x_after_update_window_line, x_clear_end_of_line)
6850 (x_scroll_bar_create, x_scroll_bar_set_handle)
6851 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
6852 instead of XClearArea.
6853
6854 * xterm.h (x_clear_area): Add prototype.
6855
6856 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
6857 which doesn't seem necessary anymore with Lesstif 0.92.
6858
6859 2001-01-25 Dave Love <fx@gnu.org>
6860
6861 * puresize.h (BASE_PURESIZE): Up to 720000.
6862
6863 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
6864
6865 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6866
6867 * xdisp.c (echo_area_display): Don't call redisplay_internal
6868 when Emacs is shutting down. We can't run hooks etc. that
6869 would be necessary to do a redisplay.
6870
6871 * lread.c (read_integer): Use type EMACS_INT instead of int.
6872
6873 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
6874
6875 * ccl.c (ccl_driver): Fix last change.
6876
6877 2001-01-25 Kenichi Handa <handa@etl.go.jp>
6878
6879 * ccl.h (sturct ccl_program): New member suppress_error.
6880
6881 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
6882 insert error message to the output.
6883 (setup_ccl_program): Initialize ccl->suppress_error to 0.
6884
6885 * coding.h (struct coding_system): New member suppress_error.
6886
6887 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
6888 (Fset_terminal_coding_system_internal): Set the member
6889 suppress_error to 1.
6890 (Fset_safe_terminal_coding_system_internal): Likewise.
6891
6892 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
6893
6894 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
6895 as if it was a `charset'.
6896
6897 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6898
6899 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
6900 value in where_is_cache; the next lookup in the cache returns
6901 something bogus if we do.
6902
6903 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
6904
6905 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
6906 if HAVE_WINDOW_SYSTEM isn't defined.
6907
6908 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6909
6910 * fns.c (sweep_weak_table): Fix code taking items out of
6911 the hash collision chain. Some cleanup.
6912
6913 * xterm.c (x_new_font): Don't change a tooltip's size.
6914
6915 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
6916 background color by specifying a color for the default font
6917 in .Xdefaults.
6918
6919 2001-01-24 Kenichi Handa <handa@etl.go.jp>
6920
6921 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
6922 a workaround for SunOS 4's cc.
6923 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
6924 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
6925 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
6926 statement.
6927
6928 2001-01-23 Gerd Moellmann <gerd@gnu.org>
6929
6930 * xterm.c (x_set_window_size_1): New function extracted from
6931 x_set_window_size.
6932 (x_set_window_size): Use it.
6933 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
6934 doesn't have a widget, like tooltips.
6935
6936 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
6937
6938 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
6939
6940 2001-01-23 Kenichi Handa <handa@etl.go.jp>
6941
6942 * fns.c (Fset_char_table_default): Fix to make sub char-table
6943 correctly.
6944
6945 2001-01-22 Gerd Moellmann <gerd@gnu.org>
6946
6947 * xdisp.c (build_desired_tool_bar_string): Make sure we have
6948 a desired tool bar string, even if there are no tool bar items.
6949
6950 * xdisp.c (Ftool_bar_lines_needed): New function.
6951 (syms_of_xdisp): Defsubr it.
6952
6953 * editfns.c (Fformat): Don't extend text properties from arguments
6954 to padding chars in the result.
6955
6956 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
6957
6958 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
6959
6960 2001-01-20 Andrew Innes <andrewi@gnu.org>
6961
6962 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
6963 (w32_initialize): Don't set term hooks that aren't actually needed
6964 in windowed mode.
6965
6966 * xfaces.c (realize_default_face):
6967 (realize_face):
6968 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
6969
6970 * xdisp.c (handle_single_display_prop): Remove references to
6971 FRAME_W32_CONSOLE_P.
6972
6973 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
6974
6975 * frame.h (output_method): Remove output_w32_console method.
6976 (FRAME_W32_CONSOLE_P): Remove macro.
6977
6978 * frame.c (Qw32_console): Remove variable.
6979 (Fframep): Remove references to it.
6980 (syms_of_frame): Ditto.
6981 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
6982
6983 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
6984 redefinition.
6985
6986 2001-01-20 Kenichi Handa <handa@etl.go.jp>
6987
6988 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
6989
6990 2001-01-19 Andrew Innes <andrewi@gnu.org>
6991
6992 * w32.c (init_environment): Add a version-independent site-lisp
6993 directory to EMACSLOADPATH, after the version dependent one.
6994
6995 2001-01-19 Gerd Moellmann <gerd@gnu.org>
6996
6997 * editfns.c (Fbuffer_substring): Doc fix.
6998
6999 * xdisp.c (message_dolog, message2, message2_nolog):
7000 Rename parameter LEN to NBYTES.
7001
7002 2001-01-19 Kenichi Handa <handa@etl.go.jp>
7003
7004 * charset.c (strwidth): Use c_string_width.
7005 (c_string_width): New function.
7006 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
7007 Caller changed.
7008
7009 * charset.h (c_string_width, lisp_string_width): Extern them.
7010
7011 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
7012
7013 * indent.c (check_composition): Check validity of composition.
7014
7015 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
7016 characters by calling c_string_width.
7017 (x_consider_frame_title): Get byte length of frame tile string
7018 correctly.
7019 (display_mode_element): Pay attention to width of non-ASCII
7020 characters by calling strwidth.
7021
7022 2001-01-18 Gerd Moellmann <gerd@gnu.org>
7023
7024 * xfns.c (Qcancel_timer): New variable.
7025 (syms_of_xfns): Initialize and staticpro it.
7026 (Fx_hide_tip, Fx_show_tip): Use it.
7027 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
7028 the timer.
7029 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
7030
7031 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
7032
7033 * window.h (WINDOW_LIVE_P): New macro.
7034
7035 * window.c (window_size_fixed): New variable.
7036 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
7037 the doc string.
7038
7039 * eval.c (specbind): If binding a per-buffer variable which
7040 doesn't have a buffer-local value in the current buffer, change
7041 the global value by changing the value of the symbol bound in all
7042 buffers not having their own value, to make it consistent with
7043 what happens with other buffer-local variables.
7044
7045 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
7046
7047 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
7048 when searching for a newline.
7049
7050 2001-01-18 Kenichi Handa <handa@etl.go.jp>
7051
7052 * xdisp.c (display_string): Fix previous change.
7053
7054 2001-01-18 Jason Rumney <jasonr@gnu.org>
7055
7056 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
7057 GLYPH_DEBUG is defined.
7058 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
7059 true for images with `:ascent 100'.
7060 (x_set_mouse_face_gc): If the last used mouse face has gone in the
7061 meantime, use face MOUSE_FACE_ID.
7062 If first glyph isn't a character glyph, use the ASCII NUL
7063 character to determine the face.
7064 (expose_area): Do not treat left margin specially.
7065 (note_mode_line_highlight): If no local_map, check global keymap.
7066 (note_mouse_highlight): Initialize overlay.
7067 (clear_mouse_face): Don't return if tip_frame is non-nil.
7068 (show_scroll_bars): Remove unused function.
7069 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
7070 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
7071 Clip to row.
7072 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
7073 (x_free_frame_resources): Unload relief colors.
7074
7075 2001-01-17 Gerd Moellmann <gerd@gnu.org>
7076
7077 * xdisp.c (forward_to_next_line_start): Avoid calling
7078 get_next_display_element when the newline is already found.
7079 This may change the iterator's position, when its current position is
7080 equal to the iterator's stop_charpos.
7081
7082 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
7083 zero, use this method only at the end of a line.
7084
7085 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
7086 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
7087 if SCALABLE_FONTS_P is set.
7088
7089 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
7090 so that scalable fonts are included.
7091
7092 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
7093 In the cache, use a key containing the information if scalable
7094 fonts are included.
7095 (x_load_font): Adapt to change of keys in the font cache.
7096
7097 2001-01-17 Kim F. Storm <storm@filanet.dk>
7098
7099 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
7100 XListFonts to take advantage of font caching.
7101
7102 * xterm.c (x_list_fonts): Ensure caching font information when
7103 called for a null frame, which is the case frequently when Emacs
7104 starts.
7105
7106 2001-01-17 Gerd Moellmann <gerd@gnu.org>
7107
7108 * xfns.c (QCconversion): Replaces QCalgorithm.
7109
7110 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
7111
7112 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
7113 of :algorithm.
7114
7115 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
7116 not everything could be displayed.
7117
7118 * line.h, x-list-font.c: Files removed because unused.
7119
7120 2001-01-17 Andrew Innes <andrewi@gnu.org>
7121
7122 * dired.c (directory_files_internal): Convert result from readdir
7123 to a unibyte string initially, to avoid possible misinterpretation
7124 of some bytes as the internal form of Emacs characters.
7125
7126 2001-01-17 Kenichi Handa <handa@etl.go.jp>
7127
7128 * fns.c (concat): Be sure to avoid putting the same `composition'
7129 property on the adjacent regions.
7130
7131 2001-01-16 Gerd Moellmann <gerd@gnu.org>
7132
7133 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
7134 (Fscroll_right, Fscroll_left): Set it here instead, if called
7135 interactively.
7136
7137 * buffer.c (Fset_buffer_modified_p): Set buffer's
7138 prevent_redisplay_optimizations_p flag.
7139
7140 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
7141 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
7142 with additional arg.
7143
7144 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
7145 Change prototype.
7146
7147 * xdisp.c (redisplay_preserve_echo_area): Add parameter
7148 FROM_WHERE, for debugging.
7149
7150 2001-01-16 Kenichi Handa <handa@etl.go.jp>
7151
7152 * ccl.c (Fregister_ccl_program): Handle the return value of
7153 resolve_symbol_ccl_program correctly.
7154 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
7155
7156 2001-01-15 Gerd Moellmann <gerd@gnu.org>
7157
7158 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
7159 has gone in the meantime, use face MOUSE_FACE_ID.
7160
7161 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
7162 If x_display_info_for_display returns null, don't try to close
7163 the display; we didn't open it.
7164
7165 * dispnew.c (save_or_restore_current_matrices): Function removed.
7166 (save_current_matrix, restore_current_matrix): New functions.
7167 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
7168 restore the frame's current matrix. Due to the glyph pointer
7169 setup done in adjust_glyph_matrix, there is no easy way to make
7170 saving the current matrix in the desired matrix generally correct,
7171 so don't try it.
7172
7173 2001-01-15 Kenichi Handa <handa@etl.go.jp>
7174
7175 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
7176 truncation glyphs.
7177 (display_line): Optimize for wide characters.
7178 (display_string): Don't try to display a multi-column character
7179 partially. On ttys, produce more than one truncation glyph for
7180 multi-column characters that don't fit on the line.
7181
7182 2001-01-13 Kenichi Handa <handa@etl.go.jp>
7183
7184 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
7185 Define it instead of WORDS_BIGENDIAN. Caller changed.
7186
7187 2001-01-13 Jason Rumney <jasonr@gnu.org>
7188
7189 * w32fns.c (Fimage_size, image_ascent, lookup_image)
7190 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
7191 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7192 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
7193
7194 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
7195 (x_draw_image_relief, x_draw_image_foreground_1)
7196 (x_draw_image_glyph_string): Adapt to change of image margins.
7197
7198 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
7199 variables.
7200
7201 * w32bdf.c (search_file_line, get_cached_font_char)
7202 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
7203
7204 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
7205
7206 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
7207 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
7208 (Fw32_send_sys_command): Remove unused variables.
7209 (w32_msg_pump): Add parentheses.
7210
7211 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
7212 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
7213 Add parentheses.
7214
7215 2001-01-12 Gerd Moellmann <gerd@gnu.org>
7216
7217 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
7218 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
7219 being a pair of margins.
7220 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
7221 to DEFVAR_LISP. Extend doc.
7222
7223 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
7224 margins.
7225 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
7226 pair of integers `(X . Y)', use X for the horizontal and Y for the
7227 vertical margin.
7228 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
7229 (parse_image_spec): Check it.
7230 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7231 (tiff_format, gif_format, gs_format):
7232 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
7233
7234 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
7235 (x_draw_image_relief, x_draw_image_foreground_1)
7236 (x_draw_image_glyph_string): Adapt to the change of image margins.
7237
7238 * dispextern.h (struct image): Replace member `margin' with
7239 `hmargin' and `vmargin'.
7240
7241 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
7242 and GLYPHS.
7243
7244 * dispnew.c (update_text_area): Put code which decrements the
7245 stop position when the row's face extends to the end of the
7246 line in #if 0.
7247
7248 * xfns.c (x_set_mouse_color): Fix color allocation.
7249
7250 * keyboard.c: Call get_local_map with new argument list.
7251
7252 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
7253
7254 * intervals.h (enum map_property): Removed.
7255 (get_local_map): Change prototype.
7256
7257 * keymap.c: Call get_local_map with new argument list.
7258 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
7259
7260 2001-01-11 Gerd Moellmann <gerd@gnu.org>
7261
7262 * xdisp.c (build_desired_tool_bar_string): Correct the computation
7263 of the size needed for the tool bar string. For the last image,
7264 use a `display' property that reaches to the end of the string.
7265
7266 * xselect.c (selection_request_dpyinfo): New variable.
7267 (x_handle_selection_request): Set it.
7268 (x_selection_request_lisp_error): Don't call
7269 x_decline_selection_request if selection request's display has
7270 been closed.
7271
7272 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
7273 Do the unregister_colors before calling XFreeColors.
7274
7275 2001-01-10 Dave Love <fx@gnu.org>
7276
7277 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
7278 ${SOME_MACHINE_LISP}, not ${lisp}.
7279
7280 2001-01-10 Gerd Moellmann <gerd@gnu.org>
7281
7282 * xdisp.c (display_line): On ttys, produce more than one truncation
7283 glyph for multi-column characters that don't fit on the line.
7284
7285 * xselect.c (x_reply_selection_request): Add a comment.
7286
7287 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
7288 XkbGetNames instead of XkbGetKeyboard.
7289
7290 2001-01-10 Dave Love <fx@gnu.org>
7291
7292 * sysdep.c (random): Revert the declaration.
7293
7294 2001-01-09 Gerd Moellmann <gerd@gnu.org>
7295
7296 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
7297 Call function string_bytes.
7298 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
7299
7300 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
7301 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
7302 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
7303 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
7304 the current sblock.
7305 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
7306 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
7307 after sweeping strings, and at the end.
7308 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
7309
7310 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
7311 ensure that pop_message is called.
7312
7313 * keyboard.c (Fexecute_extended_command): Use a
7314 record_unwind_protect to ensure that pop_message is called.
7315
7316 * lisp.h (push_message_unwind): Add prototype.
7317
7318 * xdisp.c (push_message_unwind): New function.
7319
7320 * fileio.c (do_auto_save_unwind): Do the pop_message here
7321 instead of in Fdo_auto_save.
7322 (Fdo_auto_save): Don't call pop_message.
7323
7324 2001-01-08 Ken Raeburn <raeburn@gnu.org>
7325
7326 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
7327 in inner block.
7328
7329 2001-01-08 Gerd Moellmann <gerd@gnu.org>
7330
7331 * window.c (window_scroll_pixel_based): Adjust glyph matrices
7332 when increasing window's vscroll.
7333
7334 * macros.c (Qkbd_macro_termination_hook): New variable.
7335 (syms_of_macros): Initialize and staticpro it.
7336 (pop_kbd_macro): Run kbd-macro-termination-hook.
7337
7338 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
7339
7340 2001-01-07 Dave Love <fx@gnu.org>
7341
7342 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
7343 arglist, for documentation's sake.
7344
7345 2001-01-06 Andrew Innes <andrewi@gnu.org>
7346
7347 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
7348 of *.pdb.
7349
7350 2001-01-05 Andrew Innes <andrewi@gnu.org>
7351
7352 * term.c (update_end): Don't check updating_frame; for some reason
7353 this can be 0 sometimes, such as after dismissing a popup menu,
7354 and isn't necessary given the explicit frame argument.
7355
7356 2001-01-05 Gerd Moellmann <gerd@gnu.org>
7357
7358 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
7359 on some systems, and an unsigned long on others, like FreeBSD 4.1.
7360
7361 2001-01-04 Gerd Moellmann <gerd@gnu.org>
7362
7363 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
7364
7365 * xfns.c (x_create_tip_frame): Preserve the value of
7366 face_change_count around the creation of the tip frame.
7367
7368 * xfns.c (last_show_tip_args): New variable.
7369 (compute_tip_xy): New function.
7370 (Fx_show_tip): Reuse an existing tip frame, if possible.
7371 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
7372
7373 2001-01-04 Dave Love <fx@gnu.org>
7374
7375 * editfns.c (Fformat): Doc fix.
7376
7377 * systime.h (set_file_times): Prototype.
7378
7379 * widget.h (EmacsFrameSetCharSize_): Prototype.
7380
7381 * sysdep.c (random, srandom): Declare explicitly.
7382
7383 * dispextern.h (move_it_vertically_backward): Declare.
7384
7385 2001-01-04 Gerd Moellmann <gerd@gnu.org>
7386
7387 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
7388 like in Fx_create_frame.
7389
7390 * xfaces.c (set_font_frame_param): Don't do anything for
7391 non-graphical frames.
7392
7393 * window.c (Fdelete_other_windows): Set window's window_end_valid
7394 to nil when changing the window's start. Don't change the
7395 window's start when its top position hasn't changed. If we do,
7396 this will set the window's optional_new_start, which act's like a
7397 force_start during redisplay with C-x 1 M-> under particular
7398 circumstances (see report from Per Starback to emacs-pretest-bug
7399 from 2000-12-13.).
7400
7401 2001-01-03 Gerd Moellmann <gerd@gnu.org>
7402
7403 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
7404 short cut at the start of the function. Add an assertion.
7405 (reseat_at_next_visible_line_start): Add an assertion.
7406
7407 * window.c (Frecenter): When changing the window start, set the
7408 window's window_end_valid to nil.
7409 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
7410
7411 * dispextern.h (move_it_past_eol): Add prototype.
7412
7413 * xdisp.c (move_it_past_eol): New function.
7414
7415 * window.c (Fwindow_end): Doc fix.
7416
7417 2001-01-03 Dave Love <fx@gnu.org>
7418
7419 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
7420
7421 2001-01-03 Gerd Moellmann <gerd@gnu.org>
7422
7423 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
7424 the enabled_p flag of the glyph row at window_end_vpos to 0.
7425 (handle_single_display_prop): Fix last change.
7426
7427 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7428
7429 * window.c (Frecenter): Doc fix.
7430
7431 2001-01-02 Andrew Innes <andrewi@gnu.org>
7432
7433 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
7434
7435 * frame.h (output_method): Add output_w32_console method.
7436 (FRAME_W32_CONSOLE_P): New macro.
7437
7438 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
7439 use output_w32_console method.
7440 (Qw32_console): New Lisp_Object.
7441 (Fframep): Return it.
7442 (syms_of_frame): Init it.
7443 (Fframe_parameters): Report w32console as font for w32_console frames.
7444
7445 * xfaces.c (realize_default_face): Set face foreground and
7446 background to unspecified for w32_console frames.
7447 (realize_face): Realize face cache for w32_console frames.
7448 (realize_tty_face): Accept w32_console frames.
7449
7450 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
7451 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
7452 necessary, even if running interactively.
7453
7454 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
7455 w32_console frames.
7456
7457 * w32term.c (x_update_begin):
7458 (x_update_end):
7459 (x_clear_frame):
7460 (x_ins_del_lines):
7461 (x_change_line_highlight):
7462 (x_delete_glyphs):
7463 (w32_ring_bell):
7464 (x_update_begin):
7465 (x_update_end):
7466 (w32_reassert_line_highlight):
7467 (w32_frame_rehighlight):
7468 (w32_frame_raise_lower): Do nothing if not w32 frame.
7469
7470 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
7471
7472 * w32fns.c (Fx_display_color_cells): Determine correct value, when
7473 system doesn't tell us directly.
7474 (Fx_display_visual_class): Implement properly.
7475
7476 2001-01-02 Gerd Moellmann <gerd@gnu.org>
7477
7478 * window.c (Frecenter): Handle centering in graphical frames
7479 specially. Centering on the basis of line counts doesn't work
7480 reliably with variable-height lines.
7481
7482 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7483
7484 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
7485 and al[].
7486
7487 * composite.c (run_composition_function): Remove unused var `val'.
7488 (update_compositions): Remove unused variable `hook'.
7489
7490 * intervals.c (get_local_map): Remove unused variable `tem'.
7491
7492 * doprnt.c (doprnt1): Remove unused variable `size'.
7493
7494 * fns.c (Flength): Remove unused variable `tail'.
7495 (Fdelete): Remove unused variable `size'.
7496
7497 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
7498 and `gcpro2'.
7499
7500 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
7501
7502 * data.c (find_symbol_value): Remove extra 3rd argument in the
7503 call to swap_in_symval_forwarding.
7504
7505 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
7506
7507 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
7508 (trivial_regexp_p): Remove unused variable `c'.
7509 (boyer_moore): Remove unused variable `k'.
7510
7511 * indent.c (current_column): Remove unused variable `stopchar'.
7512 (Fcompute_motion): Remove unused variable `contin'.
7513
7514 * casefiddle.c (casify_object): Remove unused variable `tolen'.
7515
7516 * dired.c (directory_files_internal): Fix a typo in a comment.
7517 Remove an unused variable `handler'.
7518 (file_name_completion): Remove unused function-scope variable `dp'.
7519 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
7520 on BSD4_2.
7521
7522 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
7523
7524 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
7525 and `buf'.
7526 (Fmarker_insertion_type): Remove unused variable `buf'.
7527
7528 * insdel.c (make_gap): Remove unused variable `result'.
7529
7530 * keyboard.c (record_char): Remove unused function-scope var `help'.
7531 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
7532 (menu_bar_items): Remove unused function-scope variable `tem'.
7533
7534 * fontset.c (fontset_ref): Remove unused variable `i'.
7535 (fontset_set): Remove unused variables `j' and `tmp'.
7536 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
7537 (make_fontset_for_ascii_face): Remove unused variable `name'.
7538 (fs_load_font): Remove unused variable `font_idx'.
7539 (fs_query_fontset): Remove unused function-local variable `fontset'.
7540 (list_fontsets): Remove unused variable `tail'.
7541 (Fnew_fontset): Remove unused variables `family' and `registry'.
7542 (accumulate_font_info): Remove unused variable `tmp'.
7543 (Ffontset_font): Remove unused variable `id'.
7544 (syms_of_fontset): Remove unused variable `i'.
7545
7546 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
7547 to x_term_init.
7548 (lookup_image): Remove unused variable `file'.
7549 (xbm_load): Remove unused variables `bitmap_data', `height', and
7550 `width'. Remove function-local variable `i', leave the
7551 block-local one.
7552 (gif_load): Remove unused variable `inc'.
7553
7554 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
7555 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
7556 leave only the one in the inner block.
7557
7558 * xfaces.c (face_fontset, realize_default_face): Remove unused
7559 variable `fontset'.
7560 (face_at_buffer_position): Remove unused variable `multibyte_p'.
7561
7562 * term.c (encode_terminal_code): Remove unused variable `c'.
7563
7564 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
7565 char *' instead of `char *'.
7566
7567 * category.c (Fcategory_docstring): Remove unused variable `doc'.
7568 (Fget_unused_category): Remove unused variable `docstring_vector'.
7569 (Fchar_category_set): Remove unused variables `val', `charset',
7570 `c1' and `c2'.
7571
7572 * coding.c (detect_coding_iso2022, setup_coding_system):
7573 Remove unused variable `i'.
7574 (detect_coding_mask): Remove unused variable `idx'.
7575 (detect_coding): Remove unused variable `i'.
7576 (ccl_coding_driver): Remove unused variable `result'.
7577 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
7578 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
7579 (encode_coding_string): Remove unused variables `gcpro1' and
7580 `saved_coding_symbol'.
7581 (Ffind_coding_systems_region_internal): Remove function-local
7582 variable args[], leave only the block-local one.
7583 (code_convert_region1): Remove unused variable `len'.
7584
7585 * charset.c (char_printable_p): Remove unused variable `chars'.
7586 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
7587 (str_to_multibyte): Remove unused variable `c'.
7588
7589 * window.c (size_window): Remove block-local variable `min_size'.
7590
7591 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
7592 `header_line_height'.
7593 (append_space, extend_face_to_end_of_line): Declare `saved_what'
7594 enum display_element_type.
7595
7596 2001-01-02 Gerd Moellmann <gerd@gnu.org>
7597
7598 * xterm.c (x_connection_closed): Catch X errors around all
7599 statements that call X. Save away the error message in a local copy.
7600
7601 * xterm.c (x_connection_closed): Set handling_signal to 0 at
7602 the start.
7603
7604 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
7605 in or at the start of invisible text.
7606
7607 * dispnew.c (update_window): Don't check_current_matrix_flags.
7608
7609 2001-01-01 Jason Rumney <jasonr@gnu.org>
7610
7611 * w32fns.c (x_figure_window_size): Do not allow new_height and
7612 new_width of frame to override specified values.
7613
7614 2000-12-30 Kenichi Handa <handa@etl.go.jp>
7615
7616 * composite.c (find_composition): Fix a code for searching backward.
7617
7618 2000-12-29 Gerd Moellmann <gerd@gnu.org>
7619
7620 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
7621 (update_window) [GLYPH_DEBUG]: Call it.
7622 (scrolling_window): Prevent including current rows which are below
7623 what's displayed in the window.
7624
7625 * xdisp.c (try_window_reusing_current_matrix)
7626 <new start <= old start>: Disable rows in the current matrix
7627 which are below the window after scrolling.
7628
7629 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
7630 is zero. It's not worth the complexity.
7631 (invisible_text_between_p): Put in #if 0 because unused.
7632
7633 2000-12-28 Gerd Moellmann <gerd@gnu.org>
7634
7635 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
7636 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
7637
7638 * keyboard.c (echo_char): If C is an integer, always call
7639 push_key_description. Former code could signal an invalid
7640 character error.
7641
7642 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
7643 If set, print multibyte text.
7644 (Fsingle_key_description): Call push_key_description with
7645 FORCE_MULTIBYTE set.
7646 (describe_buffer_bindings): Likewise.
7647
7648 * lisp.h (push_key_description): Add prototype.
7649
7650 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
7651 around the call to redisplay_internal.
7652
7653 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7654
7655 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7656
7657 2000-12-28 Kenichi Handa <handa@etl.go.jp>
7658
7659 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
7660 (ccl_driver): New local variable `extra_bytes'.
7661
7662 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
7663
7664 * coding.c (setup_coding_system):
7665 Initialize coding->spec.ccl.eight_bit_carryover.
7666 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
7667
7668 2000-12-28 Kenichi Handa <handa@etl.go.jp>
7669
7670 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
7671 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
7672 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
7673 (decode_composition_emacs_mule): New function.
7674 (decode_coding_emacs_mule): Decode composition sequence by calling
7675 decode_composition_emacs_mule.
7676 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
7677 (encode_coding_emacs_mule): Changed from macro to function.
7678 If a text contains compositions, encode them correctly.
7679 (setup_coding_system): Set coding->commong_flags for emacs-mule so
7680 that decoding and encoding are required.
7681
7682 2000-12-27 Gerd Moellmann <gerd@gnu.org>
7683
7684 * xfaces.c (PT_PER_INCH): New macro.
7685 (xlfd_point_size): Compute real point size from font's pixel size.
7686 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
7687 instead of 72.
7688
7689 * .gdbinit: Comment out the line pointing to the Lesstif source
7690 directory.
7691
7692 * window.c (Frecenter): Use displayed_window_lines instead
7693 of window_internal_height.
7694
7695 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7696 instead of x-toolkit-scroll-bars-p.
7697 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7698
7699 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7700 instead of x-toolkit-scroll-bars-p.
7701 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7702
7703 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
7704 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
7705 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
7706 New variables.
7707 (add_window_display_history, add_frame_display_history)
7708 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
7709 (build_frame_matrix_from_leaf_window): Remove unused code.
7710 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
7711 redisplay history.
7712 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
7713 (update_window) [GLYPH_DEBUG]: Likewise.
7714 (syms_of_display): Defsubr dump-redisplay-history.
7715
7716 2000-12-23 Gerd Moellmann <gerd@gnu.org>
7717
7718 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
7719 the end of the prompt. Set echo_after_prompt to the offset
7720 of echoptr in echobuf.
7721
7722 * xdisp.c (init_from_display_pos): Pop until the iterator's
7723 stack is empty; there may be frames for stretch or images
7724 on the stack.
7725
7726 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
7727 (save_or_restore_current_matrix): New function for the same
7728 purpose, but more efficient.
7729 (adjust_frame_glyphs_for_frame_redisplay): Use it.
7730
7731 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
7732
7733 * xdisp.c (syms_of_xdisp): Fix last change.
7734
7735 2000-12-23 Gerd Moellmann <gerd@gnu.org>
7736
7737 * xdisp.c (syms_of_xdisp): Doc fix.
7738
7739 * xdisp.c (redisplay_window): Remove label restore_buffers;
7740 use finish_scroll_bars instead to make sure that scroll bars
7741 are redeemed. If we don't do this, flickering can result from
7742 scroll bars being destroyed and recreated.
7743
7744 2000-12-22 Jason Rumney <jasonr@gnu.org>
7745
7746 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
7747 in the wrong colors when the foreground is not black.
7748 (expose_window): Don't redraw the window that's currently being
7749 updated.
7750
7751 2000-12-22 Gerd Moellmann <gerd@gnu.org>
7752
7753 * window.c (size_window): When setting the window's too_small_ok
7754 flag, compare old size with minimum size depending on WIDTH_P,
7755 don't compare with window_min_width.
7756
7757 * window.c (delete_window): Simplify somewhat.
7758 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
7759 freeing window matrices. The flag windows_or_buffers_changed is
7760 set, so the next redisplay will consider all windows; this should
7761 suffice.
7762
7763 2000-12-22 Kenichi Handa <handa@etl.go.jp>
7764
7765 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
7766
7767 * ccl.h (struct ccl_program): New member cr_consumed.
7768
7769 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
7770 (CCL_READ_CHAR): Handle EOL conversion here.
7771 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
7772
7773 2000-12-21 Gerd Moellmann <gerd@gnu.org>
7774
7775 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
7776
7777 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
7778 otherwise tabs of different size compare equal.
7779
7780 * callint.c (Fcall_interactively): Prevent a compiler warning.
7781
7782 * print.c (print_unwind): Return nil.
7783 (PRINTDECLARE): Initialize all local variables.
7784 (print_preprocess): Add a default case.
7785
7786 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
7787
7788 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
7789
7790 * window.c (delete_window, Fsplit_window)
7791 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
7792
7793 * dispextern.h (ensure_frame_matrix): Function declaration removed.
7794
7795 * dispnew.c (ensure_frame_matrix): Removed.
7796 (save_frame_matrix, restore_frame_matrix): New functions.
7797 (adjust_frame_glyphs_for_frame_redisplay): Use them.
7798
7799 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
7800 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
7801
7802 2000-12-21 Andrew Innes <andrewi@gnu.org>
7803
7804 * w32term.c (x_update_begin): Regenerate the palette here, rather
7805 than for each window.
7806
7807 * w32xfns.c (select_palette): Avoid calling SelectPalette if
7808 palette is NULL, since this corrupts memory! Also get
7809 display_info reference from frame.
7810
7811 2000-12-21 Jason Rumney <jasonr@gnu.org>
7812
7813 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
7814
7815 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
7816 to avoid returning without releasing it.
7817
7818 2000-12-21 Kenichi Handa <handa@etl.go.jp>
7819
7820 * keymap.c (push_key_description): Don't convert eight-bit-control
7821 and eight-bit-graphic to multibyte character.
7822
7823 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
7824 generic character and CODE1 is nil, return the smallest character
7825 in CHARSET.
7826
7827 2000-12-20 Dave Love <fx@gnu.org>
7828
7829 * s/osf5-0.h (NSIG): Don't redefine.
7830
7831 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
7832
7833 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
7834 excluding menu-bar and tool-bar.
7835 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
7836 (menu_item_p): Remove.
7837 (where_is_internal_1): Don't ignore menu-items.
7838
7839 2000-12-20 Gerd Moellmann <gerd@gnu.org>
7840
7841 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
7842 into account.
7843
7844 * window.c (make_window): Initialize window's min_hscroll.
7845 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
7846 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
7847 to zero.
7848 (struct saved_window): New member min_hscroll.
7849 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
7850 (Fset_window_configuration): Set window's min_hscroll.
7851 (save_window_save): Save window's min_hscroll.
7852 (compare_window_configurations): Compare min_hscroll values.
7853
7854 * window.h (struct window): New member min_hscroll.
7855
7856 * keyboard.c (echo_prompt): Prevent a compiler warning.
7857
7858 * xdisp.c (try_cursor_movement): Fix last change. The real
7859 condition is that PT is at the end of the row, and should
7860 be displayed at the start of the next row.
7861
7862 * xdisp.c (try_cursor_movement): If we end on a partially
7863 visible line, end we already decided to scroll, return -1.
7864
7865 * dispextern.h (ensure_frame_matrix): Add prototype.
7866
7867 * window.c (delete_window, Fsplit_window)
7868 (Fset_window_configuration): Call ensure_frame_matrix.
7869
7870 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
7871 New functions.
7872 (adjust_frame_glyphs_for_frame_redisplay): If display has been
7873 completed, call fake_current_matrices instead of marking frame
7874 garbaged.
7875
7876 2000-12-20 Jason Rumney <jasonr@gnu.org>
7877
7878 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
7879
7880 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
7881
7882 * fns.c (Frequire): Doc fix.
7883
7884 2000-12-19 Gerd Moellmann <gerd@gnu.org>
7885
7886 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
7887
7888 * dispnew.c (direct_output_for_insert): Fix check for mini-window
7889 currently displaying a message.
7890
7891 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
7892 xterm.h.
7893 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
7894
7895 2000-12-18 Andrew Innes <andrewi@gnu.org>
7896
7897 * w32.c (w32_strerror): New function.
7898
7899 * w32.h (w32_strerror): New extern.
7900
7901 * w32fns.c (Fw32_shell_execute): Use it.
7902
7903 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7904
7905 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
7906
7907 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7908
7909 * msdos.c (IT_set_face): Obey inverse_video.
7910
7911 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7912
7913 * dired.c (directory_files_internal): Always return decoded filenames.
7914
7915 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7916
7917 * xterm.c (x_connection_closed): Prevent being called recursively
7918 because of an error condition in XtCloseDisplay.
7919
7920 * xdisp.c (init_iterator): If noninteractive, and the frame's
7921 face cache is null, make one.
7922
7923 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
7924
7925 * process.c (wait_reading_process_input): Check for pending
7926 input when running timers.
7927
7928 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7929
7930 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
7931
7932 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7933
7934 * process.c (read_process_output): Don't run a filter if the code
7935 decoder produces nothing but carryover.
7936
7937 2000-12-17 Andrew Innes <andrewi@gnu.org>
7938
7939 * w32.c (sys_rename): Only check errno against EEXIST, and not
7940 EACCES, when determining whether rename failed because the target
7941 exists. This was resulting in indefinite looping on Windows 9x if
7942 the source file was locked by another process.
7943
7944 * w32fns.c (Ffile_system_info): New function.
7945 (syms_of_w32fns): Defsubr it.
7946
7947 2000-12-17 Gerd Moellmann <gerd@gnu.org>
7948
7949 * window.c (coordinates_in_window): Fix computation for
7950 position on vertical line between mode lines.
7951
7952 * xfns.c (unwind_create_frame): Return t if frame was deleted.
7953 Don't alter tip_frame or tip_window.
7954 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7955 was deleted.
7956
7957 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
7958 Don't alter tip_frame or tip_window.
7959 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7960 was deleted.
7961
7962 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
7963
7964 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
7965 be consistent with the doc string. Reported by NAKAJIMA Mikio
7966 <minakaji@osaka.email.ne.jp>.
7967
7968 2000-12-16 Kenichi Handa <handa@etl.go.jp>
7969
7970 * xfaces.c (Vface_ignored_fonts): New variable.
7971 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
7972 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
7973
7974 2000-12-15 Gerd Moellmann <gerd@gnu.org>
7975
7976 * dispnew.c (update_window): Detect pending input every nth line
7977 updated, i.e. do it depending on real work done, and not on the
7978 vpos of the line.
7979
7980 * xterm.c (expose_window): Don't redraw the window that's
7981 currently being updated.
7982
7983 * window.c (Fset_window_point): Remove test for
7984 cursor_in_non_selected_windows.
7985
7986 * lread.c (read1): Recognize end of file after `\\'.
7987
7988 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
7989 not unwind_create_frame.
7990
7991 2000-12-15 Dave Love <fx@gnu.org>
7992
7993 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
7994 bcopy & al.
7995
7996 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
7997
7998 2000-12-15 Kenichi Handa <handa@etl.go.jp>
7999
8000 * coding.c (setup_coding_system): Clear all members of the struct
8001 coding_system at first.
8002 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
8003 argument.
8004 (code_convert_region): Don't override coding->src_multibyte and
8005 coding->dst_multibyte.
8006
8007 * fns.c (Fmd5): Docstring improved.
8008
8009 2000-12-15 Miles Bader <miles@gnu.org>
8010
8011 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
8012 are actually marked as mode-lines; otherwise use
8013 estimate_mode_line_height.
8014
8015 2000-12-14 Gerd Moellmann <gerd@gnu.org>
8016
8017 * editfns.c (Fformat): Prevent a buffer overrun when the format
8018 specifies a precision.
8019
8020 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
8021
8022 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
8023 argument is outside the range [2..3].
8024
8025 2000-12-14 Andrew Innes <andrewi@gnu.org>
8026
8027 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
8028 nothing to do. Bind inhibit-quit.
8029 (tip_frame): Make it a Lisp_Object.
8030 (x_create_tip_frame): Set tip_frame after it has been added to
8031 Vframe_list.
8032 (Fx_show_tip): Don't set tip_frame here.
8033 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
8034 (unwind_create_frame, unwind_create_tip_frame): New functions.
8035 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
8036 while a frame is only partially constructed.
8037
8038 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
8039 (x_free_frame_resources): New function.
8040 (x_destroy_window): Use it.
8041
8042 2000-12-14 Gerd Moellmann <gerd@gnu.org>
8043
8044 * xfns.c (Fx_backspace_delete_keys_p): New function.
8045 (syms_of_xfns): Defsubr it.
8046
8047 * config.in (HAVE_XKBGETKEYBOARD): Add.
8048
8049 2000-12-14 Kenichi Handa <handa@etl.go.jp>
8050
8051 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
8052 Always store string in multibyte representation in echobuf.
8053 (echo_char): Always store string in multibyte representation in
8054 echobuf.
8055 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
8056 (read_key_sequence): Adjusted for the change of echo_prompt.
8057
8058 * fns.c (Fmd5): Docstring improved.
8059
8060 * lisp.h (detect_coding_system): Prototype adjusted.
8061
8062 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
8063 (detect_coding_emacs_mule, detect_coding_iso2022,)
8064 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8065 (detect_coding_utf_16, detect_coding_ccl): Make them static.
8066 New argument MULTIBYTEP. Callers changed.
8067 (detect_coding_mask, detect_coding_system): New argument
8068 MULTIBYTEP. Callers changed.
8069 (decode_coding_string): Set coding->src_multibyte and
8070 coding->dst_multibyte before calling detect_coding and detect_eol.
8071 Update them after some coding system is detected.
8072
8073 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
8074
8075 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
8076
8077 * keyboard.c (menu_bar_items, tool_bar_items):
8078 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
8079
8080 2000-12-13 Gerd Moellmann <gerd@gnu.org>
8081
8082 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
8083 New variables.
8084 (unwind_create_frame, unwind_create_tip_frame): New functions.
8085 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
8086 while a frame is only partially constructed.
8087
8088 * xterm.h (x_free_frame_resources): Declare.
8089
8090 * xterm.c (x_free_frame_resources): New function.
8091 (x_destroy_window): Use it.
8092
8093 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
8094 don't interrupt the update for pending input initially, i.e.
8095 update at least some lines.
8096
8097 * keyboard.c (do_mouse_tracking): Make externally visible.
8098
8099 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
8100
8101 * xfns.c (gray_bitmap_bits): Declare `char *'.
8102
8103 2000-12-12 Gerd Moellmann <gerd@gnu.org>
8104
8105 * xdisp.c (display_tool_bar_line): Make sure that tool bar
8106 lines start with a relief line.
8107
8108 2000-12-12 Dave Love <fx@gnu.org>
8109
8110 * window.c (Fdisplay_buffer): Doc fix.
8111 (Fwindow_list): Remove unused var.
8112
8113 * buffer.h (mmap_set_vars): Declare.
8114
8115 * window.h (Fset_window_point): Declare.
8116
8117 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
8118
8119 * msdos.c (fast_find_position): Don't overstep the last window row.
8120 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
8121 variable `area'. When looking for a row under (X,Y), give up if some
8122 of the previous rows is not enabled.
8123
8124 2000-12-12 Gerd Moellmann <gerd@gnu.org>
8125
8126 * window.c (Fset_window_point): If displaying cursors in windows
8127 other than the selected window, make sure redisplay updates
8128 other windows to show the new value of point in the window.
8129
8130 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
8131
8132 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
8133 the buffer is the sole visible buffer when in the mini-buffer.
8134
8135 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
8136 Bind `inhibit-read-only' to t.
8137 (unwind_with_echo_area_buffer): Use AREF.
8138
8139 * xfns.c (Fx_hide_tip): Simplified.
8140
8141 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
8142 instead of `1'.
8143
8144 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
8145
8146 2000-12-11 Gerd Moellmann <gerd@gnu.org>
8147
8148 * xfns.c (Fx_hide_tip): Fix last change.
8149
8150 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
8151 nothing to do. Bind inhibit-quit.
8152 (tip_frame): Make it a Lisp_Object.
8153 (x_create_tip_frame): Set tip_frame after it has been added to
8154 Vframe_list.
8155 (Fx_show_tip): Don't set tip_frame here.
8156
8157 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
8158
8159 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
8160 Lisp_Object.
8161
8162 * dispextern.h: Change external declaration of tip_frame.
8163
8164 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
8165 return an empty string.
8166
8167 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
8168 of the window's update_mode_line flag, since the former is set by
8169 force-mode-line-update, not the latter. This makes
8170 column-number-mode slightly faster.
8171
8172 * xdisp.c (try_window_id) <all changes above window start>:
8173 Set the cursor.
8174
8175 2000-12-11 Paul Eggert <eggert@twinsun.com>
8176
8177 * config.in (HAVE_FTELLO): Remove.
8178 (HAVE_FSEEKO): Add.
8179 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
8180 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
8181 HAVE_FTELLO.
8182 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
8183 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
8184
8185 2000-12-11 Miles Bader <miles@gnu.org>
8186
8187 * window.c (displayed_window_lines): Don't round up when
8188 converting empty space at bottom to lines.
8189 Handle non-newline-terminated final lines properly.
8190 (Fwindow_text_height): New function (used to be in lisp).
8191 (syms_of_window): Initialize it.
8192
8193 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
8194
8195 * syntax.c (scan_lists): Check that the right quote char has the
8196 right Sstring syntax when jumping over strings.
8197 (init_syntax_once): Use Smax rather than 13.
8198
8199 2000-12-09 Miles Bader <miles@gnu.org>
8200
8201 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
8202 with PARTIALLY, inverting the sense.
8203 (window_scroll_pixel_based): Scroll partially visible lines into
8204 place if we hit the beginning or end of the buffer.
8205 (displayed_window_lines): Don't include partially visible lines.
8206 (Fmove_to_window_line): Skip past any partially visible first line.
8207
8208 2000-12-08 Gerd Moellmann <gerd@gnu.org>
8209
8210 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
8211
8212 * tparam.c (tparam1): Change the way buffers are reallocated to be
8213 portable and less obfuscated.
8214
8215 * termcap.c (tgetent): Change the way buffers are reallocated to
8216 be portable and less obfuscated.
8217
8218 * macros.c (store_kbd_macro_char): Change the way buffers are
8219 reallocated to be portable and less obfuscated.
8220
8221 * lread.c (read1): Change the way buffers are reallocated to be
8222 portable and less obfuscated.
8223
8224 * doc.c (Fsubstitute_command_keys): Change the way buffers
8225 are reallocated so that it is portable.
8226
8227 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
8228
8229 * dosfns.c (Ffile_system_info): New function.
8230 (syms_of_dosfns): Defsubr it.
8231
8232 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
8233
8234 * alloc.c (gc_sweep): Add comment.
8235
8236 2000-12-07 Gerd Moellmann <gerd@gnu.org>
8237
8238 * sound.c (vox_configure): Change order of ioctls.
8239 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
8240 Ignore errors when changing volume.
8241 (vox_close): Don't reset the device.
8242
8243 * process.c (read_process_output): Make sure the process marker's
8244 position is valid when the process buffer is changed in
8245 after-change functions. W3 does that.
8246
8247 * xfns.c (x_free_gcs): New function.
8248
8249 * xterm.h (x_free_gcs): Add prototype.
8250
8251 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
8252 freeing GCs here.
8253
8254 * xterm.c (x_destroy_window): Call x_free_gcs so that
8255 resources of non-toolkit X windows will be freed.
8256
8257 2000-12-07 Andrew Innes <andrewi@gnu.org>
8258
8259 * w32fns.c (xlfd_charset_of_font): Fix last change.
8260
8261 2000-12-06 Dave Love <fx@gnu.org>
8262
8263 * md5.h (__P): Don't define -- it comes from config.h.
8264
8265 * strftime.c: Change some #if foo to #ifdef foo.
8266
8267 2000-12-06 Andrew Innes <andrewi@gnu.org>
8268
8269 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
8270
8271 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
8272 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
8273 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
8274
8275 2000-12-06 Gerd Moellmann <gerd@gnu.org>
8276
8277 * alloc.c (gc_sweep): Prevent symbols read during loadup
8278 from being freed.
8279
8280 * xdisp.c (underlying_face_id): New function.
8281 (handle_face_prop, face_before_or_after_it_pos): Use it
8282 to determine the face ``under'' a string. Let strings inherit
8283 the face of the buffer under them.
8284
8285 * xfaces.c (face_at_string_position): Update function comment.
8286
8287 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
8288 matrix if the window's left position has changed; we need to
8289 redraw it in this case.
8290
8291 * dispextern.h (struct glyph_matrix): Add member window_left_x.
8292
8293 * window.c (coordinates_in_window): Check mouse on mode-line or
8294 header-line first.
8295
8296 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
8297 advertized by the function documentation.
8298
8299 * window.c (syms_of_window): Doc fix.
8300
8301 * sound.c (vox_configure): Set volume for left and right channel.
8302 (sound_cleanup): Return nil.
8303
8304 * xdisp.c (move_it_by_lines): Fix paren typo.
8305
8306 * xterm.c (x_load_font): Don't use the font's max_bounds for
8307 computing the height of the font. If max_bounds' ascent or
8308 descent are greater than the font's ascent or descent, this means
8309 glyphs overlap, which should be handled now by redisplay.
8310
8311 * window.c (Veven_window_heights): New variable.
8312 (syms_of_window): DEFVAR_LISP it.
8313 (Fdisplay_buffer): Check Veven_window_heights before evening the
8314 window heights.
8315
8316 2000-12-06 Miles Bader <miles@gnu.org>
8317
8318 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
8319 update `default-frame-alist' instead of setting no frame parameters.
8320
8321 2000-12-06 Kenichi Handa <handa@etl.go.jp>
8322
8323 * composite.c (update_compositions): Fix typo (use the correct
8324 variable).
8325
8326 2000-12-05 Jason Rumney <jasonr@gnu.org>
8327
8328 * md5.h: Remove underscores from function declarations.
8329 (__attribute__, __alignof__) [!__GNUC__]: Define.
8330
8331 * md5.c: Delay include of md5.h until after namespace cleaning.
8332
8333 * makefile.w32-in (fns.o): Depend on md5.h
8334 (md5.o): New target.
8335 (sunfns.o): Remove.
8336
8337 * makefile.nt: Likewise.
8338
8339 2000-12-05 Jason Rumney <jasonr@altavista.net>
8340
8341 * w32term.c (expose_area): Complete last change.
8342
8343 2000-12-05 Ken Raeburn <raeburn@gnu.org>
8344
8345 * minibuf.c: Include intervals.h.
8346
8347 2000-12-05 Jason Rumney <jasonr@gnu.org>
8348
8349 * w32term.c (x_produce_glyphs): If a font for a component of
8350 a composition is not found, use 1 pixel dot ascent and 0 dot
8351 descent value to avoid displaying terribly tall empty boxes.
8352 (expose_area): Pass x-coordinate relative to the exposed
8353 area to x_draw_glyphs instead of a window-relative coordinate.
8354
8355 2000-12-05 Gerd Moellmann <gerd@gnu.org>
8356
8357 * xdisp.c (next_element_from_ellipsis): Save face before selective
8358 display in saved_face_id, and set face_before_selective_p.
8359 (reseat_1): Reset face_before_selective_p.
8360 (append_space, extend_face_to_end_of_line): If iterator's
8361 face_before_selective_p is set, use the face from saved_face_id.
8362 (extend_face_to_end_of_line): For tty frames, make sure to
8363 use the right face id when producing spaces at the end of
8364 the line.
8365
8366 * dispextern.h (struct it): Add face_before_selective_p.
8367
8368 * keyboard.c (record_char): Don't record identical help-echo
8369 events in recent_keys.
8370
8371 * xterm.c [USE_X_TOOLKIT]: Close the display.
8372 (xim_close_dpy): Handle case that the display has been closed.
8373
8374 * xterm.c (x_destroy_window): Reset the frame's X window after
8375 destroying it.
8376
8377 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
8378 variable window_width.
8379 (line_draw_cost): Fix code skipping over spaces at the end of the
8380 line when must_write_spaces is not set.
8381 (scrolling_window): Fix code inserting runs in list of all runs.
8382
8383 2000-12-05 Kenichi Handa <handa@etl.go.jp>
8384
8385 * coding.c (setup_coding_system): Be sure to initialize
8386 coding->category_idx.
8387
8388 2000-12-04 Gerd Moellmann <gerd@gnu.org>
8389
8390 * xterm.c (PER_CHAR_METRIC): Removed because not used.
8391
8392 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
8393 area to x_draw_glyphs instead of a window-relative coordinate.
8394
8395 * fileio.c (auto_save_error): Add parameter ERROR. Show the
8396 error in the message.
8397
8398 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
8399 timer after having read a key. It's not good for code reading
8400 several keys in a loop, like an input method.
8401
8402 * fileio.c (Finsert_file_contents): When VISIT is t, don't
8403 record undo information for format-decode.
8404
8405 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
8406 current buffer is read-only, not if it isn't.
8407
8408 * keyboard.c (record_char): Record `help-echo' input events
8409 in recent_keys only if they display some help. Don't record
8410 `help-echo' events as macro char.
8411
8412 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
8413
8414 * editfns.c (save_excursion_restore): Don't move point
8415 in another window if it is showing the wrong buffer.
8416 Avoid the call to Fwindow_live_p, for speed.
8417
8418 2000-12-04 Kenichi Handa <handa@etl.go.jp>
8419
8420 * xfaces.c (struct font_name): New member registry_priority.
8421 (split_font_name): Initialize the above member to zero.
8422 (concat_font_list): New function.
8423 (font_list): Include fonts of all alternative registries.
8424 (FONT_POINT_SIZE_QUANTUM): New macro.
8425 (better_font_p): Ignore point size difference less than
8426 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
8427
8428 * xterm.c (x_produce_glyphs): If a font for a component of
8429 a composition is not found, use 1 pixel dot ascent and 0 dot
8430 descent value to avoid displaying terribly tall empty boxes.
8431
8432 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
8433
8434 2000-12-03 Ken Raeburn <raeburn@gnu.org>
8435
8436 * coding.h (code_convert_string1): Declare.
8437
8438 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
8439
8440 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
8441
8442 2000-12-02 Jason Rumney <jasonr@gnu.org>
8443
8444 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
8445 correctly for single byte character case.
8446 (w32_per_char_metric): Do not try to make any assumptions about
8447 the metrics of BDF fonts.
8448 (x_estimate_mode_line_height): If `mode-line' face
8449 hasn't a font, use that of the frame, as drawing glyphs does.
8450 (note_mouse_highlight): Change the cursor shape on the vertical
8451 border between windows [not enabled].
8452
8453 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
8454
8455 * w32fns.c (Fx_create_frame): Reintroduce the call to
8456 face-set-after-frame-defaults.
8457 (Vx_window_horizontal_drag_shape): New variable.
8458 (syms_of_xfns): DEFVAR_LISP it.
8459 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
8460 enabled].
8461
8462 2000-12-02 Simon Josefsson <simon@josefsson.org>
8463
8464 * fns.c (Fmd5): Use a different logic to decide the coding system
8465 to use.
8466
8467 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
8468
8469 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
8470
8471 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
8472
8473 2000-12-01 Gerd Moellmann <gerd@gnu.org>
8474
8475 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
8476 height for YNegative.
8477 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
8478 height; also see comment there.
8479
8480 * window.c (coordinates_in_window): Handle computations for
8481 positions on the vertical bar and fringes differently for
8482 window-system frames. Consider some pixels near the vertical bar
8483 as on the bar if the frame doesn't have vertical scroll bars.
8484 Associate positions between mode or header lines with the
8485 right window, the left one.
8486
8487 2000-12-01 Jason Rumney <jasonr@gnu.org>
8488
8489 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
8490
8491 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
8492 invalid frame.
8493
8494 2000-12-01 Gerd Moellmann <gerd@gnu.org>
8495
8496 * window.c (struct saved_window): Add members orig_top and orig_height.
8497 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
8498 (save_window_save, Fset_window_configuration): Save/restore
8499 window's orig_top and orig_height.
8500
8501 2000-12-01 Jason Rumney <jasonr@gnu.org>
8502
8503 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
8504
8505 * w32fns.c (x_set_cursor_color): Fix last change.
8506
8507 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8508
8509 * xdisp.c (echo_area_display): If cursor is in the echo area, make
8510 sure that the next redisplay displays the minibuffer, so that
8511 the cursor will be replaced with what the minibuffer wants.
8512
8513 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
8514 #ifndef instead of using #if.
8515 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
8516 USE_TOOLKIT_SCROLL_BARS is defined.
8517
8518 2000-11-30 Jason Rumney <jasonr@gnu.org>
8519
8520 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
8521 x_display_cursor.
8522
8523 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8524
8525 * fns.c (Fmd5): Doc fix.
8526
8527 2000-11-30 Simon Josefsson <simon@josefsson.org>
8528
8529 * fns.c (Fmd5): New function.
8530 (syms_of_fns): Defsubr md5.
8531
8532 * Makefile.in (obj): Add md5.o
8533
8534 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8535
8536 * md5.h, md5.c: New files, taken from glibc.
8537
8538 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
8539
8540 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
8541 hasn't a font, use that of the frame, as drawing glyphs does.
8542
8543 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
8544
8545 * eval.c (Frun_hooks): Allow 0 arguments.
8546
8547 2000-11-29 Gerd Moellmann <gerd@gnu.org>
8548
8549 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
8550 is over the menu bar widget, say it's not on the frame.
8551
8552 * xfns.c (Fx_create_frame): Reintroduce the call to
8553 face-set-after-frame-defaults.
8554
8555 * eval.c (Fsignal): Reset handling_signal.
8556
8557 2000-11-28 Jason Rumney <jasonr@gnu.org>
8558
8559 * w32menu.c (add_menu_item): Reset menu item text when changing
8560 type to radio button.
8561
8562 2000-11-28 Gerd Moellmann <gerd@gnu.org>
8563
8564 * xselect.c: Update copyright.
8565
8566 * window.c (coordinates_in_window): If on a mode or header line,
8567 but sufficiently close to its start, return ``on vertical
8568 border''. This gives us a way to drag windows horizontally when
8569 using toolkit scroll bars.
8570
8571 * xterm.c (note_mouse_highlight): Change the cursor shape
8572 on the vertical border between windows.
8573
8574 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
8575
8576 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
8577 (syms_of_xfns): DEFVAR_LISP it.
8578 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
8579
8580 * textprop.c (text_read_only): New function.
8581 (verify_interval_modification): Use it instead of signaling
8582 `text-read-only'. This makes it easier to catch this error
8583 with a breakpoint.:
8584
8585 * xdisp.c (forward_to_next_line_start): Check for newlines,
8586 not end of line, which includes CR.
8587
8588 2000-11-28 Kenichi Handa <handa@etl.go.jp>
8589
8590 * coding.c (Ffind_coding_systems_region_internal): Be sure to
8591 include no-conversion.
8592
8593 2000-11-27 Jason Rumney <jasonr@gnu.org>
8594
8595 * w32fns.c (w32_load_system_font): Always mark font as double byte
8596 if codepage is unicode.
8597
8598 2000-11-27 Gerd Moellmann <gerd@gnu.org>
8599
8600 * xdisp.c (forward_to_next_line_start): If already on a newline,
8601 just consume it to avoid unintended skipping over invisible text below.
8602
8603 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
8604 `vertical-line', `mode-line' and `header-line' events.
8605
8606 * xdisp.c (try_window_id): Avoid starting to display in the middle
8607 of a character, a TAB for instance. This is easier than to set
8608 up the iterator exactly, and it's not a frequent case, so the
8609 additional effort wouldn't really pay off.
8610
8611 2000-11-26 Andrew Choi <akochoi@i-cable.com>
8612
8613 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
8614 init_window_once.
8615
8616 2000-11-25 Jason Rumney <jasonr@gnu.org>
8617
8618 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
8619 Args to window_from_coordinates should be pixel coordinates.
8620
8621 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
8622 redisplay handles them properly.
8623
8624 2000-11-25 Miles Bader <miles@gnu.org>
8625
8626 * indent.c (compute_motion): Keep pos_byte in sync with pos.
8627
8628 2000-11-24 Jason Rumney <jasonr@gnu.org>
8629
8630 * w32.c (init_environment): Set LANG environment variable based on
8631 locale settings, if not set.
8632
8633 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
8634 making tool bar smaller. When clearing the frame, also
8635 clear current matrices. Clear frame when tool bar disappears.
8636 Don't use more lines for the tool-bar than is available.
8637 (x_change_window_heights): New function.
8638
8639 2000-11-24 Gerd Moellmann <gerd@gnu.org>
8640
8641 * xdisp.c (init_from_display_pos): If POS says we're already after
8642 an overlay string ending at POS, make sure to pop the iterator
8643 because it will be in front of that overlay string. When POS is
8644 ZV, we've thereby also ``processed'' overlay strings at ZV.
8645
8646 * xfaces.c (lface_from_face_name): Function comment fix.
8647
8648 2000-11-24 Miles Bader <miles@gnu.org>
8649
8650 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
8651 apply `mode-line-inverse-video' -- zero means force display using
8652 the default face, non-zero means display using the specialized face.
8653 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
8654
8655 2000-11-23 Kenichi Handa <handa@etl.go.jp>
8656
8657 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
8658 hard coded `4'.
8659
8660 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
8661
8662 * coding.c (decode_coding_emacs_mule): Fix the case of
8663 CODING_EOL_LF, which used uninitialized value of c.
8664
8665 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
8666
8667 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
8668
8669 2000-11-22 Gerd Moellmann <gerd@gnu.org>
8670
8671 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
8672 buffer object.
8673
8674 * frame.h (struct frame): Replace desired_tool_bar_items,
8675 current_tool_bar_items, n_desired_tool_bar_items,
8676 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
8677
8678 * frame.c (make_frame): Change initialization of tool bar
8679 items accordingly.
8680
8681 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
8682 Change references to members deleted from struct frame to use the
8683 new ones.
8684
8685 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
8686 references to members deleted from struct frame to use the new ones.
8687
8688 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
8689
8690 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
8691
8692 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
8693 (note_tool_bar_highlight): Change references to members deleted
8694 from struct frame to use the new ones.
8695
8696 2000-11-23 Miles Bader <miles@gnu.org>
8697
8698 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
8699 the face's inverse-video attribute, rather than overriding it.
8700
8701 2000-11-22 Gerd Moellmann <gerd@gnu.org>
8702
8703 * xfns.c (x_set_tool_bar_lines): Clear internal border when
8704 making tool bar smaller.
8705
8706 2000-11-22 Dave Love <fx@gnu.org>
8707
8708 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
8709
8710 2000-11-22 Miles Bader <miles@gnu.org>
8711
8712 * keyboard.c (Vminibuffer_message_timeout): New variable.
8713 (command_loop_1): Use it to determine message timeout.
8714 (syms_of_keyboard): Initialize it.
8715
8716 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
8717
8718 2000-11-22 Kenichi Handa <handa@etl.go.jp>
8719
8720 * sysdep.c: Move the code for declaring h_errno after #include
8721 <netdb.h>.
8722
8723 2000-11-21 Gerd Moellmann <gerd@gnu.org>
8724
8725 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
8726 the menu bar when the tooltip is unmapped.
8727
8728 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
8729 sole visible buffer when we're currently in the mini-buffer, and
8730 give up if so.
8731
8732 2000-11-21 Jason Rumney <jasonr@gnu.org>
8733
8734 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
8735 put on the clipboard.
8736 (Fw32_get_clipboard_data): Compare data on clipboard with saved
8737 copy of what Emacs last put there. If they are the same, do not
8738 use the clipboard copy to avoid losing data due to coding conversions.
8739
8740 2000-11-22 Miles Bader <miles@gnu.org>
8741
8742 * minibuf.c (Vminibuffer_prompt_properties): New variable.
8743 (syms_of_minibuf): Initialize it.
8744 (read_minibuf): Add properties from Vminibuffer_prompt_properties
8745 to prompt, don't make read-only.
8746
8747 2000-11-21 Gerd Moellmann <gerd@gnu.org>
8748
8749 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
8750 Add BEFORE/AFTER_POTENTIAL_GC.
8751
8752 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
8753
8754 * buffer.c (mmap_free_1): Avoid a compiler warning.
8755
8756 * term.c, cm.c: Don't try to include termcap.h; see comment there.
8757
8758 2000-11-21 Kenichi Handa <handa@etl.go.jp>
8759
8760 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
8761 ... #endif scope.
8762
8763 2000-11-20 Gerd Moellmann <gerd@gnu.org>
8764
8765 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
8766 screen supports it.
8767
8768 * s/gnu-linux.h: Don't use `#cpu'.
8769
8770 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
8771 not defined in mman.h.
8772
8773 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
8774 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
8775 and store an index in the XClientMessageEvent. Storing a
8776 Lisp_Object or pointer can fail on a 64 bit system, since X only
8777 transfers 32 bits.
8778 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
8779
8780 2000-11-20 Dave Love <fx@gnu.org>
8781
8782 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
8783
8784 2000-11-20 Gerd Moellmann <gerd@gnu.org>
8785
8786 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
8787
8788 2000-11-20 Kenichi Handa <handa@etl.go.jp>
8789
8790 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
8791 by WIDTH.
8792
8793 * alloc.c (make_string): Fix previous change. Be sure to make
8794 unibyte string correctly.
8795
8796 2000-11-19 Gerd Moellmann <gerd@gnu.org>
8797
8798 * window.c (Fwindow_list): Change parameter list to be XEmacs
8799 compatible.
8800 (window_list_1): New function.
8801 (window_loop): Use it instead of Fwindow_list.
8802
8803 * sysdep.c (emacs_ospeed): New variable.
8804 (toplevel): Don't declare ospeed extern.
8805 (init_baud_rate): Use emacs_ospeed instead of ospeed.
8806
8807 * termcap.c (ospeed): Remove.
8808 (tputs) [!emacs]: Remove unused code.
8809 (tgetent): Avoid a compiler warning.
8810
8811 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
8812 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
8813 SCROLL_BAR_X_WIDGET with additional argument DPY.
8814
8815 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
8816 removed.
8817 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
8818 Take the X display as additional argument.
8819 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
8820 `Widget' is a pointer type that's not easily stored in Lisp_Object
8821 form in a portable way.
8822
8823 * dispnew.c (update_text_area): Fix last change.
8824
8825 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8826
8827 * xdisp.c: Use BINDING_STACK_SIZE throughout.
8828
8829 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
8830 clear current matrices.
8831
8832 * buffer.c (mmap_enlarge): Don't print a message on stderr
8833 if mapping new memory at the end of the existing region fails.
8834
8835 * dispnew.c (update_text_area): Don't skip over equal glyphs
8836 when the last current glyph overlaps the glyph to its right.
8837
8838 2000-11-18 Miles Bader <miles@gnu.org>
8839
8840 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
8841 lines that *end* with "..." too (that's the most common case!).
8842
8843 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8844
8845 * xdisp.c (resize_mini_window): Temporarily change to the
8846 mini-window's buffer if necessary.
8847
8848 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
8849 the tooltip obscures less text under it.
8850
8851 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8852
8853 * puresize.h (BASE_PURESIZE): Increase to 700000.
8854
8855 2000-11-18 Jason Rumney <jasonr@gnu.org>
8856
8857 * w32term.c (w32_draw_bitmap): Use face to set colors.
8858
8859 2000-11-17 Dave Love <fx@gnu.org>
8860
8861 * lread.c (Fload): Fix #ifdef for pcc.
8862
8863 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8864
8865 * xdisp.c (pos_visible_p): Compute the default character height
8866 differently.
8867
8868 2000-11-16 Gerd Moellmann <gerd@gnu.org>
8869
8870 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
8871 knowing the line's height; use the default font's height in that case.
8872
8873 * xfaces.c (weight_table): Add `demi' with the same meaning as
8874 `demibold'.
8875
8876 2000-11-16 Kenichi Handa <handa@etl.go.jp>
8877
8878 * dispnew.c (null_row): New global static variable.
8879 (clear_glyph_row): Delete local static variable null_row.
8880
8881 2000-11-15 Jason Rumney <jasonr@gnu.org>
8882
8883 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
8884 (w32_alloc_lighter_color): Use new brightness calculations from
8885 xterm.c. Scale delta to be in the range expected by W32.
8886 (w32_draw_relief_rect): Use frame relief colors.
8887
8888 2000-11-15 Gerd Moellmann <gerd@gnu.org>
8889
8890 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
8891 (Qinhibit_default_face_x_resources): New variable.
8892 (syms_of_frame): Initialize it.
8893 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
8894
8895 * xdisp.c (pos_visible_p): Improve function comment.
8896
8897 * lisp.h (BINDING_STACK_SIZE): New macro.
8898
8899 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
8900 reading the directory if readdir returns null and errno is EAGAIN
8901 or EINTR.
8902
8903 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
8904
8905 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
8906 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
8907 Set amount_to_scroll to max of dx and scroll_step so that
8908 scroll-conservatively doesn't defeat scroll-step>1.
8909 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
8910 scroll-conservatively for line-at-a-time scrolling.
8911
8912 2000-11-14 Gerd Moellmann <gerd@gnu.org>
8913
8914 * window.c (Fpos_visible_in_window_p): Call pos_visible with
8915 extra argument.
8916
8917 * xdisp.c (current_mode_line_height, current_header_line_height):
8918 New variables.
8919 (init_xdisp): Initialize them.
8920 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
8921 and use exact mode line heights if it is set.
8922
8923 * lisp.h (pos_visible_p): Change prototype.
8924
8925 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
8926 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
8927 and current_header_line_height first.
8928 (current_mode_line_height, current_header_line_height):
8929 Declare extern.
8930
8931 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
8932
8933 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
8934 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
8935 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
8936
8937 2000-11-14 Miles Bader <miles@gnu.org>
8938
8939 * xterm.c (x_alloc_lighter_color): Include an additive component
8940 too for dark colors, because FACTOR isn't enough.
8941 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
8942 New macros.
8943
8944 2000-11-13 Gerd Moellmann <gerd@gnu.org>
8945
8946 * keyboard.c (show_help_echo): Call message3_nolog with number of
8947 bytes in the help string as 2nd parameter, instead of the number
8948 of characters.
8949
8950 2000-11-13 Miles Bader <miles@gnu.org>
8951
8952 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
8953 (Fload): Use new openp return protocol.
8954 Don't try to use Vload_source_file_function to load .elc files.
8955 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
8956 openp return protocol.
8957 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
8958
8959 2000-11-11 Kenichi Handa <handa@etl.go.jp>
8960
8961 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
8962
8963 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
8964 Defined these macros.
8965 (NLIST_STRUCT): Avoid re-defining it.
8966
8967 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
8968 -I/usr/contrib/X11R6/include.
8969 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
8970
8971 2000-11-10 Jason Rumney <jasonr@gnu.org>
8972
8973 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
8974
8975 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
8976 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
8977
8978 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
8979 (Qw32_charset_vietnamese): New symbol.
8980 (xlfd_charset_of_font): New function.
8981 (w32_load_system_font): Use it.
8982 (x_to_w32_charset): Use Fassoc to find charset info. Special case
8983 when Vw32_charset_info_alist is nil to ensure default face always
8984 has font. Use Fcar and Fcdr for safety.
8985 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
8986 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
8987 pseudo-codepages for special cases.
8988 (w32_to_x_font): New parameter to allow charset portion to be
8989 specified where there is many to one mapping. Callers changed.
8990 (w32_list_fonts): Avoid listing fonts that won't display.
8991
8992 2000-11-10 Gerd Moellmann <gerd@gnu.org>
8993
8994 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
8995 (font_list_1): Renamed from font_list.
8996 (font_list): New function, trying alternative registries from
8997 Vface_alternative_font_registry_alist.
8998 (Finternal_set_alternative_font_registry_alist): New function.
8999 (syms_of_xfaces): Initialize and Staticpro
9000 Vface_alternative_font_registry_alist.
9001 Defsubr Finternal_set_alternative_font_registry_alist.
9002
9003 2000-11-09 Ken Raeburn <raeburn@gnu.org>
9004
9005 * lisp.h (Flooking_at): Declare.
9006
9007 2000-11-09 Gerd Moellmann <gerd@gnu.org>
9008
9009 * dired.c (directory_files_internal): Fix a braino.
9010
9011 * dired.c (directory_files_internal): Add missing GCPRO's.
9012 Some cleanup.
9013
9014 2000-11-08 Gerd Moellmann <gerd@gnu.org>
9015
9016 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
9017 (resize_mini_window): Return quickly if Vresize_mini_window is
9018 nil. Don't return if Vmax_mini_window_height is nil.
9019
9020 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
9021 (syms_of_xdisp): Initialize them.
9022 (resize_mini_window): Act according to the setting of
9023 Vresize_mini_window.
9024 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
9025
9026 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
9027 scroll bar widget after configuring it, so that it will appear at
9028 the right position from the start.
9029 (XTredeem_scroll_bar): Cleaned up.
9030
9031 2000-11-08 Kenichi Handa <handa@etl.go.jp>
9032
9033 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
9034 font is taller than the frame line, we don't have to bias the
9035 division by two.
9036
9037 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
9038
9039 2000-11-07 Dave Love <fx@gnu.org>
9040
9041 * config.in (HAVE_MKSTEMP): Add.
9042
9043 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
9044
9045 2000-11-07 Gerd Moellmann <gerd@gnu.org>
9046
9047 * window.c (Fset_window_configuration): Don't try to preserve
9048 point in the current buffer, if that buffer is displayed in more
9049 than one window.
9050
9051 * xfaces.c (lookup_named_face): If default face isn't realized,
9052 try to realize it. Return -1 if not successful.
9053 (Fx_list_fonts): Handle case that face cannot be determined.
9054 (Fface_font): Likewise.
9055
9056 2000-11-06 Gerd Moellmann <gerd@gnu.org>
9057
9058 * window.c (displayed_window_lines): Detect partially
9059 visible lines at the bottom correctly.
9060
9061 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
9062
9063 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
9064 when ensuring we don't do visit in indirect buffer.
9065
9066 2000-11-06 Kenichi Handa <handa@etl.go.jp>
9067
9068 * composite.h (compose_chars_in_text): Add prototype.
9069
9070 * composite.c (Vcomposition_function_table): New variable.
9071 (Qcomposition_function_table): New variable.
9072 (run_composition_function): Call
9073 Vcompose_chars_after_function with three arguments.
9074 (compose_chars_in_text): New function.
9075 (syms_of_composite): Modified the doc-string of
9076 Vcompose_chars_after_function. Declare composition-function-table
9077 as a lisp variable, and initialize it.
9078
9079 * xfns.c (x_encode_text): Suppress producing escape sequences for
9080 composition.
9081
9082 * xselect.c: Include composite.h.
9083 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
9084
9085 2000-11-05 Andrew Innes <andrewi@gnu.org>
9086
9087 * w32term.c (x_produce_glyphs): Fix typo in enum name.
9088
9089 * sysdep.c (read_input_waiting): Remove extraneous argument to
9090 read_socket_hook.
9091
9092 * w32fns.c (Fx_server_version): Include w32_build_number in the
9093 return list.
9094
9095 * w32heap.c (w32_build_number): New variable.
9096 (cache_system_info): Set it.
9097
9098 * w32heap.h (w32_build_number): Add extern.
9099
9100 * emacs.c (syms_of_emacs): Update docstring for
9101 system-configuration, to reflect the actual usage on MS-Windows.
9102
9103 2000-10-31 Gerd Moellmann <gerd@gnu.org>
9104
9105 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
9106 process idle timers while waiting for another event.
9107
9108 * dispnew.c (update_frame_line): Handle case where spaces in
9109 the default face are colored.
9110
9111 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
9112 window height hasn't changed.
9113
9114 2000-10-31 Jason Rumney <jasonr@gnu.org>
9115
9116 * w32term.c (x_produce_glyphs): Handle composite characters.
9117 (x_draw_glyph_string_foreground)
9118 (x_draw_composite_glyph_string_foreground): Restore old font.
9119
9120 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
9121
9122 * minibuf.c (read_minibuf): Reset the undo history just before
9123 starting the recursive-edit.
9124
9125 2000-10-30 Gerd Moellmann <gerd@gnu.org>
9126
9127 * xfaces.c (menu_face_change_count): New variable.
9128 (Finternal_set_lisp_face_attribute): Increment it for changes
9129 of the `menu' face.
9130 (realize_basic_faces): Reflect changes in the `menu' faces
9131 in menu bars.
9132
9133 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
9134 dy obtained from the iterator's y-position after moving from
9135 scroll_margin_pos to PT; see comment there.
9136
9137 * xdisp.c (safe_eval_handler): Call add_to_log.
9138
9139 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
9140 is not a symbol or string.
9141
9142 * xdisp.c (echo_area_display): Don't perform a display update from
9143 inside redisplay. The update will happen anyway at the end of
9144 redisplay, and it can confuse redisplay (GC messages while
9145 redisplaying, for instance.)
9146
9147 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
9148
9149 * xrdb.c (x_load_resources): Use the class name in the defaults.
9150
9151 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
9152 (regex_compile): Catch bogus \(\1\).
9153
9154 2000-10-30 Gerd Moellmann <gerd@gnu.org>
9155
9156 * xterm.c (x_alloc_nearest_color): Fix last change to compare
9157 RGB values.
9158
9159 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
9160 we have a color cache, check that the cached color equals the
9161 allocated color. If not, clear the color cache.
9162
9163 * window.c (displayed_window_lines): Change buffers if necessary.
9164 Fix computation of displayed lines.
9165
9166 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
9167 update_menu_bindings to DEFVAR_BOOL.
9168
9169 2000-10-30 Kenichi Handa <handa@etl.go.jp>
9170
9171 * search.c (Fset_match_data): Be sure to make search_regs always sane.
9172
9173 * puresize.h (BASE_PURESIZE): Increase to 680000.
9174
9175 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
9176
9177 2000-10-29 Jason Rumney <jasonr@gnu.org>
9178
9179 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
9180
9181 * w32term.c (w32_bdf_per_char_metric): Negate descent.
9182 (w32_cache_char_metrics): Handle possibility that 'x' does not
9183 exist in a BDF font.
9184 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
9185
9186 * w32bdf.h (bdffont): Add nchars.
9187
9188 * w32bdf.c (set_bdf_font_info): Set it.
9189 (w32_BDF_TextOut): Swap byte order of double byte characters.
9190 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
9191
9192 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
9193
9194 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
9195 don't override the colors in frame's param_alist, unless they are
9196 unspecified.
9197
9198 * term.c (reassert_line_highlight): If inverse_video is non-zero,
9199 reverse the effect of the highlight flag.
9200
9201 2000-10-27 Ken Raeburn <raeburn@gnu.org>
9202
9203 * window.h (Fwindow_live_p): Declare.
9204
9205 * undo.c (record_delete): Check that last_undo_buffer is really a
9206 buffer before applying XBUFFER to it.
9207
9208 * keymap.c (where_is_internal): Pass lisp object, not integer, to
9209 Faref.
9210
9211 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
9212
9213 * lisp.h (KEYMAPP): New macro.
9214 (get_keymap): Remove.
9215 (get_keymap_1): Rename get_keymap.
9216
9217 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
9218
9219 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
9220
9221 * xmenu.c (single_submenu): Use KEYMAPP.
9222 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
9223 Use KEYMAPP rather than Fkeymapp.
9224
9225 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
9226
9227 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
9228 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
9229 Use KEYMAPP rather than Fkeymapp.
9230 (single_submenu): Use KEYMAPP.
9231 (w32_menu_show, w32_dialog_show): Use TRUE.
9232
9233 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
9234
9235 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
9236 (Fkeymapp): Use KEYMAPP.
9237 (get_keymap): Rename from get_keymap_1. Remove old def.
9238 Return t when autoload=0 and error=0 and the keymap needs autoloading.
9239 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
9240 (Fminor_mode_key_binding): Don't raise an error if the binding
9241 is not a keymap.
9242 (Fuse_global_map, Fuse_local_map): Allow autoloading.
9243 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
9244
9245 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
9246 Allow Vspecial_event_map to be autoloaded.
9247 (menu_bar_items): Fetch the keymap rather than using keymapp.
9248 (menu_bar_one_keymap): No need to follow func-indirect any more.
9249 (parse_menu_item): get_keymap_1 -> get_keymap.
9250 (tool_bar_items): Fetch the keymap rather than using keymapp.
9251 (read_key_sequence): Use KEYMAPP.
9252
9253 * intervals.c (get_local_map): Use get_keymap rather than following
9254 function-indirections explicitly.
9255
9256 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
9257
9258 2000-10-27 Jason Rumney <jasonr@gnu.org>
9259
9260 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
9261 point, as Windows has oversized fonts.
9262
9263 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
9264
9265 2000-10-27 Gerd Moellmann <gerd@gnu.org>
9266
9267 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
9268 (freehook, reallochook): Handle null pointer arguments.
9269 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
9270
9271 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
9272
9273 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
9274 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
9275 Giving in to popular pressure to shut up the compiler with casts.
9276
9277 2000-10-27 Gerd Moellmann <gerd@gnu.org>
9278
9279 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
9280 signed value, and use a default value computed from the font's
9281 maximum descent.
9282
9283 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
9284
9285 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
9286 that specify a negative underline position can still use underlines.
9287
9288 * window.c (Fpos_visible_in_window_p): Make POS default to
9289 WINDOW's point, not the current buffer's point.
9290
9291 2000-10-26 Dave Love <fx@gnu.org>
9292
9293 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
9294 when it's necessary.
9295
9296 2000-10-26 Gerd Moellmann <gerd@gnu.org>
9297
9298 * window.c (size_window): Compute size difference from sum of old
9299 child window sizes instead of from parent's size.
9300
9301 * xdisp.c (pos_visible_p): Change current buffer if necessary.
9302 Handle obscured lines at the top of the window.
9303
9304 * frame.c (Fdelete_frame): Doc fix. Move running the hook
9305 down after the last error condition check.
9306
9307 * frame.c (Fdelete_frame): Run delete-frame-hook.
9308
9309 2000-10-26 Kenichi Handa <handa@etl.go.jp>
9310
9311 * coding.c (decode_coding): Fix previous change (check also
9312 CODING_MODE_LAST_BLOCK).
9313
9314 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
9315
9316 * regex.c: More `unsigned char' -> `re_char' changes.
9317 Also change several `int' into `re_wchar_t'.
9318 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
9319 (PUSH_FAILURE_POINTER): Don't cast any more.
9320 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
9321 We want GCC to complain, since this piece of code makes
9322 re_match non-reentrant, which *should* be fixed.
9323 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
9324 (EXTEND_BUFFER): Use RETALLOC.
9325 (SET_LIST_BIT): Don't cast.
9326 (re_wchar_t): New type.
9327 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
9328 that those two functions will always properly return.
9329 (IMMEDIATE_QUIT_CHECK): Cast to void.
9330 (analyse_first): Use recursion rather than an explicit stack.
9331 (re_compile_fastmap): Can't fail anymore.
9332 (re_search_2): Don't check re_compile_fastmap for failure.
9333 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
9334 Now also sets the new value (passed in a new argument).
9335 (re_match_2_internal): Use it.
9336 Also, use a new var `reg' of type size_t when looping through regs
9337 rather than reuse the inappropriate `mcnt'.
9338
9339 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
9340 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
9341 (where_is_internal): Renamed from Fwhere_is_internal.
9342 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
9343 (Fwhere_is_internal): New function wrapping where_is_internal.
9344 (where_is_internal_1): Handle the case where we're filling the cache.
9345 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
9346
9347 2000-10-25 Miles Bader <miles@gnu.org>
9348
9349 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
9350
9351 2000-10-25 Gerd Moellmann <gerd@gnu.org>
9352
9353 * window.c (pos_fully_visible_p): Removed.
9354 (Fpos_visible_in_window_p): Use pos_visible_p to determine
9355 if position is visible and/or fully visible.
9356
9357 * lisp.h (pos_visible_p): Add prototype.
9358
9359 * xdisp.c (pos_visible_p): New function.
9360
9361 2000-10-25 Kenichi Handa <handa@etl.go.jp>
9362
9363 * process.c (send_process): If OBJECT is t, it means that the data
9364 is from C string, but we should encode it. Before calling
9365 setup_raw_text_coding_system, be sure to flush out data by the
9366 previous coding system.
9367
9368 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
9369
9370 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
9371 assignment of startpos to prev when startpos == pos.
9372
9373 * editfns.c (find_field): Set the field stickiness correctly from
9374 overlay fields. Use renamed `text_property_stickiness'.
9375 (text_property_stickiness): Renamed from `char_property_stickiness'.
9376 Only check text properties, not overlays.
9377 * textprop.c (get_char_property_and_overlay): New function.
9378 (Fget_char_property): Use it.
9379 * intervals.h (get_char_property_and_overlay): Add declaration.
9380
9381 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
9382
9383 * keymap.c: Use AREF, ASET and ASIZE macros.
9384 (Fmake_sparse_keymap): Docstring fix.
9385 (synkey): Remove.
9386 (shadow_lookup): Move up.
9387 Handle the case where lookup-key returns an integer.
9388 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
9389 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
9390 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
9391 Simplify/rewrite the keymap-finding code.
9392 Add check for command shadowing, using shadow_lookup.
9393
9394 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
9395
9396 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
9397 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
9398 a symbol.
9399
9400 2000-10-24 Andrew Innes <andrewi@gnu.org>
9401
9402 * dired.c (directory_files_internal_unwind): New function.
9403 (directory_files_internal): Use it to ensure closedir is called
9404 even if expand-file-name or file-attributes throw, eg. because of
9405 a user interrupt. Also enable immediate_quit while calling
9406 re_search, so that matching can be interrupted as well.
9407
9408 2000-10-24 Andrew Innes <andrewi@gnu.org>
9409
9410 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
9411 NT-Emacs only.
9412 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
9413 so that re_search functions only quit when callers expect them to.
9414
9415 2000-10-24 Kenichi Handa <handa@etl.go.jp>
9416
9417 * regex.c (regex_compile): Change the way of handling a range from
9418 a char less than 256 to a char not less than 256.
9419
9420 2000-10-24 Gerd Moellmann <gerd@gnu.org>
9421
9422 * window.c (size_window): Prevent setting window's width or
9423 height to a negative value (esp. with XSETFASTINT).
9424
9425 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
9426 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
9427 (protect_malloc_state) [GC_MALLOC_CHECK &&
9428 GC_PROTECT_MALLOC_STATE]: New function.
9429 (PROTECT_MALLOC_STATE): New macro.
9430 (__malloc_initialize, morecore, _malloc_internal)
9431 (_free_internal) _realloc_internal): Use it to make _heapinfo
9432 read-only outside of gmalloc.
9433
9434 * keymap.c: Update copyright.
9435
9436 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
9437 a symbol.
9438
9439 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
9440
9441 * filelock.c (unlock_all_files): Use unlock_file to expand each
9442 buffer's file_truename before trying remove its lock file.
9443
9444 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
9445
9446 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
9447 or CRLF, decode EOLs.
9448
9449 2000-10-24 Kenichi Handa <handa@etl.go.jp>
9450
9451 * window.c (Fdisplay_buffer): Fix doc.
9452
9453 2000-10-23 Jason Rumney <jasonr@gnu.org>
9454
9455 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
9456 ASCII font of default fontset on Windows.
9457
9458 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
9459 xterm.c comment below).
9460
9461 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
9462
9463 2000-10-23 Gerd Moellmann <gerd@gnu.org>
9464
9465 * xterm.c (x_connection_closed): Reset handling_signal.
9466
9467 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
9468
9469 2000-10-23 Miles Bader <miles@gnu.org>
9470
9471 * window.c (window_scroll_pixel_based, window_scroll_line_based):
9472 Pass nil for FULLY argument to Fpos_visible_in_window_p to
9473 maintain old behavior.
9474 * minibuf.c (Fminibuffer_complete): Likewise.
9475
9476 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
9477
9478 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
9479 that when a font can't be exactly centered, it errs up rather than
9480 down.
9481
9482 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
9483
9484 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
9485
9486 2000-10-23 Andrew Choi <akochoi@i-cable.com>
9487
9488 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
9489
9490 * dispnew.c [macintosh]: Include macterm.h.
9491 (init_display) [macintosh]: Initialization for window system.
9492
9493 * emacs.c (main) [macintosh]: Call syms_of_textprop,
9494 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
9495 syms_of_search, x_term_init, and init_keyboard before calling
9496 init_window_once. Also, call syms_of_xmenu.
9497
9498 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
9499 default fontset to Monaco.
9500
9501 * frame.c [macintosh]: Include macterm.h. Remove declarations of
9502 NewMacWindow and DisposeMacWindow.
9503 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
9504 instead of calling NewMacWindow and setting fields of
9505 f->output_data.mac directly. Call init_frame_faces.
9506 (Fdelete_frame) [macintosh]: Remove unused code.
9507 (Fmodify_frame_parameters) [macintosh]: Call
9508 x_set_frame_parameters instead of mac_set_frame_parameters.
9509
9510 * frame.h [macintosh]: Define menu_bar_lines field in struct
9511 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
9512
9513 * keyboard.c [macintosh]: Include macterm.h.
9514 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
9515 and menu_bar_activate_event type events as for X and NT.
9516 (make_lispy_event) [macintosh]: Construct lisp events of type
9517 MENU_BAR_EVENT as for X and NT.
9518
9519 * sysdep.c [macintosh]: Remove declaration for sys_signal.
9520 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
9521 (sys_subshell) [macintosh]: Remove definition entirely.
9522 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
9523 Vwindow_system_version here. Remove initialization of
9524 Vx_bitmap_file_path.
9525 (read_input_waiting): Correct the number of parameters passed to
9526 read_socket_hook.
9527 Move all Macintosh functions to mac/mac.c.
9528
9529 * term.c [macintosh]: Include macterm.h.
9530
9531 * window.c [macintosh]: Include macterm.h.
9532
9533 * xdisp.c [macintosh]: Include macterm.h. Declare
9534 set_frame_menubar and pending_menu_activation.
9535 (echo_area_display) [macintosh]: Do not return if terminal frame
9536 is the selected frame.
9537 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
9538 Allow only the selected frame to set menu bar.
9539 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
9540 calling FRAME_EXTERNAL_MENU_BAR (f).
9541 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
9542
9543 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
9544 and check_x. Declare XCreateGC. Define x_create_gc and
9545 x_free_gc. Initialize font_sort_order.
9546 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
9547 but call x_list_fonts instead of w32_list_fonts.
9548 (Finternal_face_x_get_resource) [macintosh]: Do not call
9549 display_x_get_resource.
9550 (prepare_face_for_display) [macintosh]: Set xgcv.font.
9551 (realize_x_face) [macintosh]: Load the font if it is specified in
9552 ATTRS.
9553 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
9554
9555 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
9556
9557 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
9558 is nil: since we go to the end of submap anyway, we'd end up
9559 setting nil to nil.
9560 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
9561 doesn't obey autoload.
9562
9563 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9564
9565 * msdos.c (dos_set_window_size): Update screen dimension variables.
9566
9567 2000-10-21 Jason Rumney <jasonr@gnu.org>
9568
9569 * w32term.c (w32_cache_char_metrics): Double check that font is
9570 really fixed pitch before trusting tmPitchAndFamily.
9571
9572 2000-10-21 Andrew Innes <andrewi@gnu.org>
9573
9574 * w32gui.h (w32_char_font_type): Move enum from w32term.c
9575
9576 * w32term.h: Extern decl for w32_cache_char_metrics.
9577
9578 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
9579
9580 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
9581 (w32_unload_font): Free per_char array if present.
9582
9583 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
9584 cached information in emulated XFontStruct to handle common cases
9585 quickly. Do not allocate XCharStruct for return.
9586 (w32_native_per_char_metric): New function.
9587 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
9588 allocating one.
9589 (x_produce_glyphs): Don't get an HDC. Change calls to
9590 w32_per_char_metric to match arg change above. Remove calls to
9591 free results.
9592 (w32_get_glyph_overhangs): Ditto.
9593 (w32_cache_char_metrics): New function.
9594
9595 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
9596 ($(BLD)/casefiddle.$(O)): Remove compile command.
9597 ($(BLD)/gmalloc.$(O)): Remove compile command.
9598 ($(BLD)/dispnew.obj):
9599 ($(BLD)/keyboard.obj):
9600 ($(BLD)/w32inevt.obj):
9601 ($(BLD)/w32bdf.obj):
9602 ($(BLD)/alloc.obj):
9603 ($(BLD)/buffer.obj):
9604 ($(BLD)/editfns.obj):
9605 ($(BLD)/emacs.obj):
9606 ($(BLD)/fileio.obj):
9607 ($(BLD)/fns.obj):
9608 ($(BLD)/indent.obj):
9609 ($(BLD)/insdel.obj):
9610 ($(BLD)/intervals.obj):
9611 ($(BLD)/minibuf.obj):
9612 ($(BLD)/print.obj):
9613 ($(BLD)/scroll.obj):
9614 ($(BLD)/sysdep.obj):
9615 ($(BLD)/textprop.obj):
9616 ($(BLD)/widget.obj):
9617 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
9618 ($(BLD)/term.obj): Add dependency on dispextern.h.
9619
9620 * makefile.nt ($(BLD)\dispnew.obj):
9621 ($(BLD)\keyboard.obj):
9622 ($(BLD)\w32inevt.obj):
9623 ($(BLD)\w32bdf.obj):
9624 ($(BLD)\alloc.obj):
9625 ($(BLD)\buffer.obj):
9626 ($(BLD)\editfns.obj):
9627 ($(BLD)\emacs.obj):
9628 ($(BLD)\fileio.obj):
9629 ($(BLD)\fns.obj):
9630 ($(BLD)\indent.obj):
9631 ($(BLD)\insdel.obj):
9632 ($(BLD)\intervals.obj):
9633 ($(BLD)\minibuf.obj):
9634 ($(BLD)\print.obj):
9635 ($(BLD)\scroll.obj):
9636 ($(BLD)\sysdep.obj):
9637 ($(BLD)\textprop.obj):
9638 ($(BLD)\widget.obj):
9639 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
9640 ($(BLD)\term.obj): Add dependency on dispextern.h
9641
9642 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9643
9644 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
9645 with an additional argument of Qt.
9646
9647 2000-10-21 Miles Bader <miles@gnu.org>
9648
9649 * window.c (pos_fully_visible_in_window_p): New function.
9650 (Fpos_visible_in_window_p): Add FULLY argument.
9651 Use pos_fully_visible_in_window_p.
9652 (window_scroll_pixel_based, window_scroll_line_based): Update
9653 calls to Fpos_visible_in_window_p.
9654 * lisp.h (Fpos_visible_in_window_p): Update prototype
9655
9656 2000-10-20 Gerd Moellmann <gerd@gnu.org>
9657
9658 * alloc.c (toplevel): Conditionalize compilation of mem_*
9659 functions differently.
9660
9661 2000-10-20 Jason Rumney <jasonr@gnu.org>
9662
9663 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
9664 mem_init where it used to be. mem_z etc not defined otherwise.
9665
9666 2000-10-20 Gerd Moellmann <gerd@gnu.org>
9667
9668 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
9669 GC_MALLOC_CHECK.
9670 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
9671 structure definition and related variabled to the top of the file.
9672 Include this code when GC_MALLOC_CHECK is defined.
9673 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
9674 register/unregister allocated region.
9675 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
9676 which isn't allocated.
9677 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
9678 something which is already in use.
9679 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
9680 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
9681 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
9682 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
9683
9684 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
9685 _malloc_internal instead of malloc.
9686 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
9687 of free.
9688
9689 2000-10-20 Andrew Innes <andrewi@gnu.org>
9690
9691 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
9692 Windows.
9693 (my_strftime) <macro>: Don't use macro arg list when redefining as
9694 _strftime_copytm.
9695 (my_strftime) <function>: Supply 0 as ut argument.
9696
9697 2000-10-19 Jason Rumney <jasonr@altavista.net>
9698
9699 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
9700 including dispextern.h, as it stops faces from working.
9701
9702 * w32fns.c (Fx_create_frame): Don't bother calling
9703 face-set-after-frame-default since the caller does it for us
9704 anyway. Clean up calls to x_get_arg to be consistent with X.
9705
9706 * w32term.c (x_produce_glyphs): Handle
9707 unibyte_display_via_language_environment correctly.
9708 (w32_draw_box_rect): Fix the calculation of width and height.
9709
9710 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
9711 as it has stopped working.
9712 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
9713 menu-bar.
9714
9715 2000-10-19 Gerd Moellmann <gerd@gnu.org>
9716
9717 * eval.c (skip_debugger): Prevent a compiler warning.
9718 (Fcondition_case): Likewise.
9719 (Fbacktrace_frame): Use a null interactive spec.
9720
9721 2000-10-19 Kenichi Handa <handa@etl.go.jp>
9722
9723 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
9724
9725 2000-10-18 Gerd Moellmann <gerd@gnu.org>
9726
9727 * strftime.c: Sync with glibc, file version 1.78.
9728 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
9729 should no longer be used according to ISO 8601.
9730
9731 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
9732 no map for meta_prefix_char, don't try to use it as a keymap.
9733 Instead, if T_OK is non-zero, look up a default binding, if any,
9734 otherwise, if T_OK is zero, return nil.
9735
9736 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
9737 (x_to_xcolors, png_load): Use x_query_color.
9738
9739 * xterm.c (x_color_cells, x_query_colors, x_query_color):
9740 New functions.
9741 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
9742 which can be slow.
9743 (x_copy_color, x_alloc_lighter_color): Likewise.
9744
9745 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
9746 (x_query_color, x_query_colors): Add prototype.
9747
9748 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
9749 check_string_bytes only if not noninteractive, increase count to 50.
9750
9751 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
9752
9753 * insdel.c (adjust_markers_for_delete): Handle before-insertion
9754 markers correctly.
9755
9756 2000-10-17 Gerd Moellmann <gerd@gnu.org>
9757
9758 * alloc.c (pure_bytes_used): Renamed from pureptr.
9759 (ALIGN): New macro.
9760 (pure_alloc): New function.
9761 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
9762 Use it.
9763 (Fpurecopy): Use PURE_POINTER_P.
9764
9765 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
9766 PT has moved backward.
9767
9768 * xdisp.c (cursor_row_p): Take continued lines into account.
9769
9770 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
9771 string's size_byte.
9772 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
9773 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
9774 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
9775 string allocated.
9776
9777 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
9778 of selective display off while searching for the next line start.
9779
9780 2000-10-17 Kenichi Handa <handa@etl.go.jp>
9781
9782 * Makefile.in (term.o): Depend on dispextern.h.
9783
9784 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
9785
9786 * keymap.c (keymap_memberp): Ensure that nil is not a member.
9787
9788 2000-10-16 Gerd Moellmann <gerd@gnu.org>
9789
9790 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
9791 the iterator at the beginning, so that they can be set later on,
9792 for instance in reseat_at_next_visible_line_start, without being
9793 overwritten.
9794
9795 * xfns.c (pbm_format): Add :foreground and :background keywords.
9796 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
9797 (xbm_load): Recognize foreground and background color specifications.
9798
9799 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
9800
9801 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
9802
9803 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
9804
9805 * msdos.c (IT_set_face): Compare highlighted face with the default
9806 face, and invert colors if these faces' colors are identical.
9807 (Fmsdos_remember_default_colors): Don't swap foreground and
9808 background colors in initial_colors[].
9809 (IT_set_frame_parameters): Don't swap frame's foreground and
9810 background pixels. If ALIST includes "(reverse . t)", swap
9811 foreground-color and background-color properties in frame's
9812 param_alist. If the original frame's param_alist doesn't specify
9813 the colors, store unspecified-fg and unspecified-bg, reversed if
9814 required.
9815
9816 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
9817 the colors are unspecified and reversed, reverse fore- and back-
9818 ground in the returned value.
9819 (Fframe_parameter): Ditto.
9820
9821 2000-10-16 Gerd Moellmann <gerd@gnu.org>
9822
9823 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
9824 get_last_unchanged_at_beg_row.
9825 (find_first_unchanged_at_end_row): Renamed from
9826 get_first_unchanged_at_end_row.
9827 (find_first_unchanged_at_end_row): Convert assertions to
9828 unconditional tests which abort. When looking for a row in
9829 unchanged text, don't go further back than first_text_row.
9830
9831 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
9832 Don't add in the last line's height when deciding if the new
9833 position is below the scroll margin.
9834
9835 2000-10-16 Miles Bader <miles@gnu.org>
9836
9837 * editfns.c (Fconstrain_to_field): Check carefully for field
9838 boundaries if either OLD_POS or NEW_POS has a non-nil field
9839 property, even if they're the same.
9840
9841 2000-10-16 Kenichi Handa <handa@etl.go.jp>
9842
9843 * xterm.c (x_draw_box_rect): Fix the calculation of width and
9844 height for XFillRectangle.
9845
9846 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
9847
9848 * syntax.c (Fstring_to_syntax): New function extracted from
9849 Fmodify_syntax_entry.
9850 (Fmodify_syntax_entry): Use it and document the ! and | fences.
9851 (skip_chars, Fforward_comment): Remove unused variables.
9852 (syms_of_syntax): Add defsubr for string-to-syntax.
9853 (describe_syntax): Add code for comment and string fences.
9854
9855 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
9856
9857 * keymap.c (access_keymap): Add AUTOLOAD parameter.
9858 Do the meta->esc mapping. Call get_keyelt before returning.
9859 Start scanning from the second element (the first is always `keymap')
9860 to make it easier to detect when we reach a parent map.
9861 Handle the case of inheriting from a symbol whose function is a map.
9862 (Fkeymap_parent): Also handle the `inherit from symbol' case.
9863 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
9864 (get_keyelt, Flookup_key): Update call to access_keymap.
9865 Remove the meta->esc mappings.
9866 (define_as_prefix): Delete old disabled code.
9867 (menu_item_p): New function.
9868 (where_is_internal_1): Skip over the few remaining menu items.
9869 * lisp.h (access_keymap): Update prototype.
9870 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
9871 Update call to access_keymap.
9872 (follow_key, read_key_sequence): Update calls to access_keymap.
9873 Remove the meta->esc mappings.
9874
9875 2000-10-13 Gerd Moellmann <gerd@gnu.org>
9876
9877 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
9878 with additional argument.
9879
9880 * xdisp.c (cursor_row_p): New function.
9881 (try_cursor_movement, display_line): Use it.
9882
9883 * xdisp.c (append_space): Also save/restore iterator's current
9884 character and its length.
9885
9886 * xdisp.c (init_from_display_pos): Add an assertion.
9887 (handle_stop): Don't set iterator's add_overlay_start.
9888 (handle_invisible_prop): Likewise.
9889 (load_overlay_strings): If text under an overlay is invisible,
9890 take both before- and after-strings into account when the iterator
9891 is positioned either at the start or at the end of the overlay.
9892 (forward_to_next_line_start): Rewritten.
9893 (reseat_at_next_visible_line_start): Rewritten.
9894 (set_iterator_to_next): Add parameter RESEAT_P.
9895
9896 * dispextern.h (struct it): Remove member add_overlay_start.
9897 (set_iterator_to_next): Change prototype.
9898
9899 2000-10-13 Kenichi Handa <handa@etl.go.jp>
9900
9901 * coding.c (code_convert_region): Be sure to initialize
9902 coding->category_idx.
9903 (decode_coding_string): Set coding->src_multibyte and
9904 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
9905 (encode_coding_string): Set coding->src_multibyte and
9906 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
9907
9908 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
9909
9910 * xfns.c (Fx_create_frame): Don't bother calling
9911 face-set-after-frame-default since the caller does it for us anyway.
9912
9913 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
9914
9915 * window.c (coordinates_in_window): Fix detection of vertical line
9916 on character terminals.
9917
9918 2000-10-12 Gerd Moellmann <gerd@gnu.org>
9919
9920 * editfns.c (save_excursion_save): Additionally record the
9921 selected window.
9922 (save_excursion_restore): If buffer was visible in a window, and a
9923 different window was selected, and the old selected window is
9924 still live, restore point in that window.
9925
9926 2000-10-12 Kenichi Handa <handa@etl.go.jp>
9927
9928 * xterm.c (x_produce_glyphs): Handle
9929 unibyte_display_via_language_environment correctly.
9930
9931 * regex.c (regex_compile): Change the way of handling a range from
9932 unibyte char to multibyte char.
9933
9934 * syntax.c (skip_chars): Change the way of handling a range from
9935 unibyte char to multibyte char.
9936
9937 * process.c (read_process_output): Cancel previous change.
9938
9939 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
9940
9941 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
9942
9943 * charset.c (Ffind_charset_string): Doc fix.
9944 (Ffind_charset_region): Doc fix.
9945
9946 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
9947
9948 * process.c (read_process_output): Fix previous change. Adjust
9949 multibyteness of text to insert in a buffer by
9950 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
9951
9952 2000-10-10 Andreas Schwab <schwab@suse.de>
9953
9954 * alloc.c (mark_object): Remove all workarounds installed on
9955 1993-08-08.
9956
9957 2000-10-10 Kenichi Handa <handa@etl.go.jp>
9958
9959 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
9960 (base64_encode_1): Make it work for a text of multibyte form.
9961 (Fbase64_decode_region): Allocate sufficient memory for multibyte
9962 case. Don't call str_to_multibyte because base64_decode_1
9963 produces correct multibyte form for eight-bit codes.
9964 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
9965 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
9966 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
9967 codes.
9968
9969 * charset.h (CHAR_STRING): Optimized for single byte characters.
9970
9971 2000-10-09 Andreas Schwab <schwab@suse.de>
9972
9973 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
9974 -1 after socket is closed, to fall through to error processing.
9975
9976 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
9977
9978 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
9979 variables. If ALIST includes foreground-color or
9980 background-color, change also the colors of the default face for
9981 this frame.
9982
9983 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
9984
9985 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
9986 them extern (they are defined on xfaces.c).
9987 (syms_of_msdos): Don't intern and don't staticpro
9988 Qbackground_color and Qforeground_color.
9989
9990 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
9991
9992 * frame.c (Fframe_parameter): For non-windowed frames, if
9993 f->param_alist says foreground or background color is unspecified,
9994 call tty_color_name to return the color name computed from the
9995 frame's current colors.
9996
9997 2000-10-06 Dave Love <fx@gnu.org>
9998
9999 * terminfo.c (ospeed): Don't declare.
10000
10001 * sysdep.c: Don't include string.h.
10002 (h_errno): Declare conditional also on TRY_AGAIN.
10003
10004 * charset.c (Ffind_charset_string): Doc fix.
10005
10006 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
10007 (Fbase64_decode_region, Fbase64_decode_string): More explicit
10008 error messages.
10009
10010 2000-10-05 Dave Love <fx@gnu.org>
10011
10012 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
10013 position like menu-bar.
10014
10015 2000-10-05 Gerd Moellmann <gerd@gnu.org>
10016
10017 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
10018
10019 * xdisp.c (handle_single_display_prop): Use safe_call1.
10020 (safe_call): Renamed from call_function.
10021 (safe_call1): New function.
10022 (handle_fontified_prop): Use safe_call1 instead of call1.
10023 (safe_eval): Renamed from eval_form.
10024 (safe_eval_handler): Renamed from eval_handler.
10025 (handle_single_display_prop, display_mode_element): Use safe_eval
10026 instead of eval_form.
10027
10028 * xfaces.c (merge_face_heights): Use safe_call instead of
10029 call_function.
10030
10031 * keyboard.c (show_help_echo): Use safe_call instead of
10032 call_function; use safe_eval instead of eval_form.
10033
10034 * lisp.h (safe_call): Renamed from call_function.
10035 (safe_eval): Renamed from eval_form.
10036 (safe_call1): Add prototype.
10037
10038 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
10039
10040 * xfns.c (image_ascent): Rearrange ascent calculation for the
10041 has-a-font case.
10042
10043 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
10044
10045 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
10046 (where_is_internal_1): Don't bother ignoring menu-items any more.
10047
10048 2000-10-04 Gerd Moellmann <gerd@gnu.org>
10049
10050 * keyboard.c (update_menu_bindings): New variable.
10051 (parse_menu_item): Use AREF. If update_menu_bindings
10052 is 0, don't update menu bindings.
10053 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
10054
10055 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
10056
10057 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
10058 to `mark_object'.
10059
10060 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
10061
10062 * syntax.c (forw_comment): Match nestedness of ender/starter.
10063 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
10064 (prev_char_comstart_first): Remove.
10065 (back_comment): Check two-char comment markers more carefully
10066 to better handle overlapping cases like *//* or /* */* */ ...
10067 Match nestedness of ender/starter.
10068
10069 2000-10-02 Dave Love <fx@gnu.org>
10070
10071 * config.in (HAVE_GAI_STRERROR): Add undef.
10072
10073 * process.c (Fopen_network_stream): Use it.
10074
10075 * m/alpha.h (NO_REMAP): Don't define.
10076
10077 2000-10-02 Gerd Moellmann <gerd@gnu.org>
10078
10079 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
10080 return with a string converted to an integer or vice versa when
10081 Vmocklisp_arguments is t.
10082 (Fsignal): Likewise. The function can return for `quit'.
10083 (struct gcpro): Declare member `var' to point to a volatile
10084 Lisp_Object.
10085
10086 * eval.c (error): Prevent compiler warning.
10087
10088 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
10089
10090 * keymap.c (keymap_memberp): New function.
10091 (Fset_keymap_parent): Use it.
10092 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
10093 Use keymap_memberp to avoid creating cycles.
10094 (access_keymap): Use KEYMAPP.
10095
10096 2000-09-30 Gerd Moellmann <gerd@gnu.org>
10097
10098 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
10099 gai_strerror. Make sure xerrno is set if connect fails. Improve
10100 error recovery.
10101
10102 2000-09-29 Jason Rumney <jasonr@gnu.org>
10103
10104 * w32term.c (w32_char_font_type, w32_encode_char)
10105 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
10106 (w32_bdf_per_char_metric): New function.
10107 (w32_per_char_metric): Use it.
10108 (x_draw_glyph_string_background): Always draw background for BDF
10109 glyphs.
10110
10111 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
10112 GDI object which is a scarce resource.
10113
10114 * w32bdf.c (search_file_line): Fix skipping of whitespace.
10115 (get_quoted_string): Fix limit on memchr search.
10116 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
10117 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
10118 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
10119 (get_cached_font_char, cache_char_offset): Use macro
10120 BDF_CODEPOINT_RANGE_COVER_P.
10121 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
10122 (clear_cached_bitmap_slots): New function.
10123 (GET_HEX_VALUE): G-Z, g-z are not hex.
10124 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
10125 (get_bitmap_with_cache): Use new cache implementation.
10126 (create_offscreen_bitmap): New function.
10127 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
10128
10129 * w32term.c (x_produce_glyphs): If the distance from the current
10130 position to the next tab stop is less than a canonical character
10131 width, use the tab stop after that.
10132 (x_draw_glyphs): Handle case START and END are out of bounds more
10133 carefully.
10134 (x_clear_mouse_face): Block/unblock input.
10135 (x_display_and_set_cursor): Don't show a hollow box cursor for
10136 buffers whose cursor_type is nil.
10137
10138 2000-09-29 Gerd Moellmann <gerd@gnu.org>
10139
10140 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
10141
10142 * dispextern.h (updating_frame): Declare extern.
10143
10144 2000-09-29 Andreas Schwab <schwab@suse.de>
10145
10146 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
10147
10148 2000-09-29 Gerd Moellmann <gerd@gnu.org>
10149
10150 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
10151 use its function definition.
10152 (tool_bar_items): Likewise.
10153
10154 * lisp.h (fatal): Declare NO_RETURN.
10155
10156 2000-09-29 Kenichi Handa <handa@etl.go.jp>
10157
10158 * keymap.c: Remove the line "#undef NULL".
10159
10160 2000-09-28 Gerd Moellmann <gerd@gnu.org>
10161
10162 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
10163
10164 2000-09-28 Dave Love <fx@gnu.org>
10165
10166 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
10167
10168 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
10169
10170 * .gdbinit (xreload): Note its need on GNU/Linux.
10171
10172 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
10173 r_alloc, r_alloc_free.
10174
10175 2000-09-28 Kenichi Handa <handa@etl.go.jp>
10176
10177 * syntax.c (skip_chars): Handle negation correctly.
10178
10179 2000-09-27 Gerd Moellmann <gerd@gnu.org>
10180
10181 * xfaces.c (realize_default_face): Call set_lface_from_font_name
10182 with non-zero FORCE_P argument.
10183
10184 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
10185 Add assertions.
10186
10187 * xdisp.c (window_box_height): Add an assertion.
10188
10189 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
10190 tool-bar than is available.
10191 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
10192
10193 2000-09-27 Dave Love <fx@gnu.org>
10194
10195 * s/irix6-5.h: Now works 64-bit. Tidied.
10196
10197 2000-09-26 Gerd Moellmann <gerd@gnu.org>
10198
10199 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
10200 instead of BITS_PER_INT.
10201 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
10202 EMACS_UINT, respectively.
10203 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
10204
10205 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
10206
10207 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
10208
10209 * window.c (freeze_window_starts): Construct last argument for
10210 foreach_window differently.
10211
10212 * xfns.c (x_decode_color): Don't return a Lisp_Object.
10213
10214 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
10215 EMACS_UINT instead of `int' and `unsigned int'.
10216 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
10217
10218 * frame.h (struct frame): Make the `nothing' member of union
10219 output_data an EMACS_INT.
10220
10221 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
10222 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
10223 size in the sdata structure.
10224 (SDATA_NBYTES, SDATA_DATA): New macros.
10225 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
10226 differently for the different layout of the sdata structure.
10227 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
10228 in sdata.
10229 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
10230 Check that size recorded in the string size and size recorded in
10231 the sdata structure agree.
10232
10233 2000-09-25 Dave Love <fx@gnu.org>
10234
10235 * buffer.c: Include stdio.h.
10236
10237 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
10238
10239 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
10240
10241 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
10242 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
10243 (__malloc_extra_blocks): Declare as __malloc_size_t.
10244
10245 2000-09-25 Gerd Moellmann <gerd@gnu.org>
10246
10247 * alloc.c (mark_image): Use GC_NILP instead of NILP.
10248
10249 * keyboard.c (show_help_echo): Set help_echo_showing_p.
10250 (read_char): If help-echo is showing, preserve the echo area
10251 when redisplaying.
10252
10253 * xdisp.c (help_echo_showing_p): New variable.
10254 (set_message): Reset it to 0.
10255 (init_xdisp): Initialize help_echo_showing_p.
10256
10257 * dispextern.h (help_echo_showing_p): Declare extern.
10258
10259 * config.in: Fix typo in __GNUC_MINOR__.
10260
10261 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
10262
10263 * s/freebsd.h (POSIX_SIGNALS): Define.
10264
10265 * xterm.c (x_clear_mouse_face): Block/unblock input.
10266
10267 2000-09-24 Dave Love <fx@gnu.org>
10268
10269 * fns.c (base64_encode_1): Fix last change.
10270
10271 2000-09-22 Gerd Moellmann <gerd@gnu.org>
10272
10273 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
10274
10275 * xdisp.c (try_window_reusing_current_matrix): More fixes
10276 for the case window has a header-line.
10277
10278 2000-09-22 Dave Love <fx@gnu.org>
10279
10280 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
10281 a doc string.
10282
10283 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
10284
10285 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
10286
10287 2000-09-21 Gerd Moellmann <gerd@gnu.org>
10288
10289 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
10290 for GCC >= 2.5.
10291
10292 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
10293 Declare NO_RETURN.
10294
10295 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
10296 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
10297 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
10298 warnings.
10299
10300 * marker.c (byte_char_debug_check): Return void.
10301
10302 * xfns.c (Fx_create_frame): Set default frame parameter value
10303 for tool-bar-lines to 1.
10304
10305 * dispnew.c (scrolling_window): Compare y-positions of rows
10306 equal at the start. Some simplification.
10307
10308 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
10309 reused rows' y-position in the case window has a header-line, and
10310 new window start is greater than old window start.
10311
10312 * process.c (process_sent_to): New variable.
10313 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
10314 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
10315 Declare more parameters volatile.
10316
10317 * lread.c (Vrecursive_load_depth_limit): New variable.
10318 (Fload): Check recursive loads whose recursion depth exceeds
10319 Vrecursive_load_depth_limit.
10320 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
10321
10322 2000-09-20 Gerd Moellmann <gerd@gnu.org>
10323
10324 * fileio.c (Fread_file_name): Doc fix.
10325
10326 * editfns.c (Fmessage_or_box): Doc fix.
10327
10328 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
10329
10330 * xfns.c (xbm_scan): Allow C-style comments.
10331
10332 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
10333 symbols are specified, add color translations to the cache.
10334 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
10335 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
10336 xpm_cache_color.
10337 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
10338 structures to xpm_init_color_cache.
10339
10340 2000-09-19 Gerd Moellmann <gerd@gnu.org>
10341
10342 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
10343
10344 2000-09-19 Andrew Innes <andrewi@gnu.org>
10345
10346 * makefile.nt (bootstrap-emacs): Don't change directory.
10347
10348 2000-09-19 Kenichi Handa <handa@etl.go.jp>
10349
10350 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
10351
10352 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
10353 If output buffer is too small, signal an appropriated error.
10354
10355 2000-09-18 Dave Love <fx@gnu.org>
10356
10357 * keyboard.c (menu_bar_items, tool_bar_items)
10358 (current_active_maps): Remove redundant get_local_map call.
10359
10360 2000-09-18 Gerd Moellmann <gerd@gnu.org>
10361
10362 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
10363 cursor for buffers whose cursor_type is nil.
10364
10365 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
10366 a feature to implement that is already implemented.
10367 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
10368 warnings.
10369
10370 * xfns.c (x_clear_image_1): New function.
10371 (x_clear_image): Use it.
10372 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
10373
10374 * dispnew.c (update_window): Move test for invisible lines
10375 at the top to update_window_line.
10376 (update_window_line): Handle invisible lines here.
10377
10378 * xfns.c (clear_image_cache): Clear current matrices of all
10379 frames sharing an image cache. Block input while freeing
10380 images. Fix timestamp comparison.
10381 (x_clear_image): Also free the mask.
10382
10383 * xfns.c (lookup_image): Block input while loading the image so
10384 that we won't get interrupted in a state where the image isn't yet
10385 set up completely.
10386 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
10387 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
10388 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
10389 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
10390
10391 2000-09-16 Gerd Moellmann <gerd@gnu.org>
10392
10393 * dispnew.c (update_window): Make sure to make desired rows
10394 current even if they are completely invisible at the top
10395 of a window.
10396
10397 2000-09-15 Gerd Moellmann <gerd@gnu.org>
10398
10399 * xfns.c (lookup_image): Build mask before applying an algorithm.
10400 Recognize algorithm `disabled'.
10401 (cross_disabled_images): New variable.
10402 (COLOR_INTENSITY): New macro.
10403 (x_detect_edges): Use COLOR_INTENSITY.
10404 (x_disable_image): New function.
10405 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
10406
10407 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
10408 disabled state, don't apply an image transformation algorithm if
10409 the user specified an image for the disabled state. Use
10410 `:algorithm disabled' for creating a disabled item's image if the
10411 user hasn't specified an image.
10412
10413 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
10414 allocation functions with the XPM lib.
10415 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
10416 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
10417 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
10418 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
10419 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
10420 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
10421 functions, if possible, because these handle color allocation
10422 failure more gracefully.
10423 (Fimage_mask_p): New function.
10424
10425 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
10426 (Qedge_detection, Qheuristic): New symbols.
10427 (syms_of_xfns): Initialize new symbols.
10428 (lookup_image): Handle `:mask X', `:algorithm emboss', and
10429 `algorithm (edge-detection ...)'.
10430 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
10431 (tiff_format, gif_format, gs_format): Add `:mask'.
10432 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
10433 (GIF_MASK, GS_MASK): New enumerators.
10434 (x_laplace_read_row, x_laplace_write_row): Functions removed.
10435 (emboss_matrix, laplace_matrix): New variables.
10436 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
10437 (x_edge_detection): New functions.
10438 (x_laplace): Rewritten in terms of x_detect_edges.
10439 (x_build_heuristic_mask): If image has a mask, free it.
10440
10441 2000-09-14 Andrew Innes <andrewi@gnu.org>
10442
10443 * makefile.w32-in: Revert to Unix line endings.
10444
10445 2000-09-14 Andrew Innes <andrewi@gnu.org>
10446
10447 * makefile.w32-in: Standardize indentation somewhat.
10448 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
10449 cater for differences between shells.
10450
10451 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
10452
10453 2000-09-14 Gerd Moellmann <gerd@gnu.org>
10454
10455 * xterm.c (x_produce_glyphs): If the distance from the current
10456 position to the next tab stop is less than a canonical character
10457 width, use the tab stop after that.
10458
10459 2000-09-14 Dave Love <fx@gnu.org>
10460
10461 * buffer.c (alloc_buffer_text): Fix xmalloc call.
10462
10463 2000-09-14 Gerd Moellmann <gerd@gnu.org>
10464
10465 * xdisp.c (handle_fontified_prop): While running fontification
10466 functions, bind `fontification-functions' and
10467 `after-change-functions' to nil.
10468
10469 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
10470 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
10471
10472 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
10473
10474 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
10475 USE_MMAP_FOR_BUFFERS.
10476
10477 * insdel.c (make_gap): Use enlarge_buffer_text.
10478
10479 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
10480 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
10481 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
10482 from former r_alloc_* functions in ralloc.c.
10483 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
10484 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
10485 (mmap_init) [REL_ALLOC_MMAP]: New function.
10486 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
10487 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
10488 BUFFER_FREE.
10489
10490 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
10491 (enlarge_buffer_text): Add prototype.
10492
10493 * ralloc.c: Remove everything having to do with the use of mmap.
10494
10495 2000-09-13 Gerd Moellmann <gerd@gnu.org>
10496
10497 * sound.c (Fplay_sound): Doc fix.
10498
10499 * keyboard.c: Avoid some more compiler warnings.
10500 (parse_tool_bar_item): Ignore cached key bindings.
10501
10502 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
10503 and allocation of Lisp data.
10504
10505 2000-09-12 Gerd Moellmann <gerd@gnu.org>
10506
10507 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
10508 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
10509 defaults first.
10510
10511 * lread.c (Fload): Put code checking for recursive loads in #if 0.
10512
10513 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
10514
10515 * ccl.c: Comment fixed.
10516 (MAX_MAP_SET_LEVEL): Increased to 30.
10517 (PUSH_MAPPING_STACK): Enclose with do-while block.
10518 (POP_MAPPING_STACK): Likewise.
10519 (stack_idx_of_map_multiple): New variable.
10520 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
10521 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
10522 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
10523 (ccl_driver) <CCL_MapSingle>: Likewise.
10524 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
10525 with the case where looking up process reaches to the end of
10526 map-set, and call CCL programs as the above change.
10527
10528 2000-09-11 Gerd Moellmann <gerd@gnu.org>
10529
10530 * xfns.c (png_load, jpeg_load): Declare some variables volatile
10531 that might be clobbered by longjmp.
10532 (check_x_display_info, x_decode_color, create_frame_xic)
10533 (Fx_display_backing_store, Fx_display_visual_class)
10534 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
10535
10536 * lread.c (init_lread): Set Vloads_in_progress to nil.
10537 (Fload): Show list of recursively loaded files, when signaling an
10538 error.
10539
10540 * lread.c (Vloads_in_progress): New variable.
10541 (record_load_unwind): New function.
10542 (Fload): Check for recursive loads.
10543 (syms_of_lread): Initialize Vloads_in_progress.
10544 (read_integer, read1): Avoid some compiler warnings.
10545
10546 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
10547 compiler warnings.
10548
10549 2000-09-11 Miles Bader <miles@gnu.org>
10550
10551 * editfns.c (Fbuffer_string): Doc fix.
10552
10553 2000-09-10 Gerd Moellmann <gerd@gnu.org>
10554
10555 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
10556
10557 2000-09-09 Ken Raeburn <raeburn@gnu.org>
10558
10559 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
10560 whether to include other header files.
10561
10562 2000-09-09 Gerd Moellmann <gerd@gnu.org>
10563
10564 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
10565 by Fmemq as a boolean.
10566
10567 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
10568
10569 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
10570
10571 2000-09-08 Gerd Moellmann <gerd@gnu.org>
10572
10573 * ralloc.c (mmap_fd): Remove initializer which can make it
10574 read-only in a dumped Emacs.
10575 (mmap_fd_1): New variable.
10576 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
10577 restore it from there.
10578 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
10579 unconditionally so that mmap_fd can be initialized there.
10580 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
10581 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
10582 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
10583
10584 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
10585
10586 * xdisp.c (dump_glyph_row): Fix printf format string.
10587 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
10588
10589 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
10590
10591 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
10592 inheritance.
10593
10594 * xdisp.c (try_window_id): When trying to locate cursor in
10595 unchanged rows at the top, handle the case that we can't find it.
10596
10597 * xterm.c (x_draw_glyphs): Handle case START and END are out
10598 of bounds more carefully.
10599
10600 2000-09-08 Dave Love <fx@gnu.org>
10601
10602 * s/sol2.h (REL_ALLOC_MMAP): Define.
10603 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
10604
10605 * ralloc.c: Don't include string.h (redundant).
10606 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
10607 [!MAP_ANON]: Include fcntl.h.
10608 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
10609 (r_alloc, r_re_alloc, r_alloc_free)
10610 (mmap_enlarge, mmap_set_vars): Use it.
10611 (r_alloc_init_fd): New function.
10612 (__morecore) [SYSTEM_MALLOC]: Don't declare.
10613 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
10614 malloc type.
10615
10616 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
10617 Remove vm-limit.o.
10618
10619 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
10620 change to __NetBSD__.
10621
10622 2000-09-08 Kenichi Handa <handa@etl.go.jp>
10623
10624 * search.c (compile_pattern): Check the multibyteness of cached
10625 string and PATTERN.
10626
10627 2000-09-08 Miles Bader <miles@gnu.org>
10628
10629 * xfaces.c (default_face_vector): Function removed.
10630 (Finternal_merge_in_global_face): Restore old global/local
10631 attribute override order. Use inline loop instead of calling
10632 default_face_vector.
10633
10634 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10635
10636 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
10637 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
10638 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
10639 where necessary, in case POINTER_TYPE is `void'.
10640
10641 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
10642
10643 * frame.c (make_terminal_frame): Initialize frame foreground and
10644 background colors to unspecified, for the initial instance of an
10645 MSDOS frame.
10646
10647 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10648
10649 * ralloc.c (mmap_find): Fix overlap computation.
10650 (mmap_enlarge): Compute nbytes before trying to find an
10651 overlapping region.
10652
10653 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
10654 instead of `!='.
10655
10656 * lread.c (syms_of_lread): Change value of regexp
10657 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
10658
10659 * xmenu.c (xdialog_show): When looking up the selection in
10660 menu_items, take `quote' boundaries into account; this corresponds
10661 to a nil ITEM in x-popup-dialog.
10662
10663 2000-09-07 Kenichi Handa <handa@etl.go.jp>
10664
10665 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
10666 not 0x81.
10667 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
10668
10669 * coding.c (encode_coding_sjis_big5): Use translation table for
10670 encoding, not decoding. Fix the handling of latin-jisx0201.
10671 Check for the charset katakana-jisx0201 too.
10672 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
10673 (detect_coding_sjis): Check the byte sequence more rigidly.
10674
10675 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10676
10677 * xfaces.c (Vparam_value_alist): New variable.
10678 (syms_of_xfaces): Initialize it.
10679 (Finternal_set_lisp_face_attribute): Avoid more consing.
10680
10681 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
10682 specially.
10683 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
10684 (Qbackground_mode): New variable.
10685 (syms_of_frame_1): Initialize Qbackground_mode.
10686
10687 * lisp.h (Qdisplay): Declare extern.
10688
10689 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
10690 change face on all frames, and change the default for new frames.
10691
10692 2000-09-07 Dave Love <fx@gnu.org>
10693
10694 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
10695
10696 2000-09-07 Kenichi Handa <handa@etl.go.jp>
10697
10698 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
10699
10700 * charset.c: Include composite.h
10701 (lisp_string_width): New function.
10702 (Fstring_width): Call lisp_string_width instead of strwidth.
10703
10704 * Makefile.in (charset.o): Depends on composite.h.
10705
10706 * process.c (read_process_output): Before inserting the decoded
10707 text in the buffer, adjust the multibyteness.
10708
10709 2000-09-06 Gerd Moellmann <gerd@gnu.org>
10710
10711 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
10712 buffer's text buffer is null, map new memory.
10713
10714 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
10715 POINTER_TYPE and size_t.
10716 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
10717 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
10718 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
10719 [REL_ALLOC_MMAP]: New macros.
10720 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
10721 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
10722 [REL_ALLOC_MMAP]: New functions.
10723
10724 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
10725 before and after unexec.
10726
10727 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
10728 text buffers if necessary.
10729
10730 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
10731 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
10732 in prototypes.
10733
10734 * config.in (HAVE_MMAP): Add #undef.
10735
10736 2000-09-05 Gerd Moellmann <gerd@gnu.org>
10737
10738 * frame.c (Qdisplay_type): New variable.
10739 (syms_of_frame_1): Initialize it.
10740 (Fframe_parameter): New function that avoids consing.
10741 (syms_of_frame): Defsubr it.
10742
10743 * buffer.c (Fother_buffer): Consider buffers as invisible when
10744 they are displayed in a window on an invisible frame.
10745
10746 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
10747 get-largest-window always return nil.
10748
10749 2000-09-04 Gerd Moellmann <gerd@gnu.org>
10750
10751 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
10752 variable; recognize Emacs 19 elc files.
10753
10754 2000-09-04 Miles Bader <miles@gnu.org>
10755
10756 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
10757 before initially popping up the menu, so the menu doesn't flash
10758 when the face settings are significantly different from the defaults.
10759
10760 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
10761
10762 * regex.c (WIDE_CHAR_SUPPORT): New macro.
10763 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
10764 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
10765 (BIT_UNIBYTE): Remove.
10766 (re_match_2_internal): Delete corresponding code and streamline the
10767 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
10768 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
10769 (re_wctype_t): New type.
10770 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
10771 (regex_compile): Use them and fix handling of overly long char classes.
10772
10773 2000-09-03 Andrew Innes <andrewi@gnu.org>
10774
10775 * makefile.w32-in: Change to DOS line endings.
10776
10777 * s/ms-w32.h (ORDINARY_LINK): New define.
10778
10779 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
10780 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
10781
10782 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
10783 (distclean): Delete them here instead.
10784
10785 * w32proc.c (compare_env): Convert to uppercase for comparison,
10786 not lowercase, to match how the native Windows shell works.
10787
10788 2000-09-03 Jason Rumney <jasonr@gnu.org>
10789
10790 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
10791 CVS changes the line-ends when checking in/out on DOS/Windows.
10792
10793 * makefile.nt (emacs): Do not change directory to run temacs, as
10794 the load-path is set relative to current directory.
10795
10796 2000-09-03 Miles Bader <miles@gnu.org>
10797
10798 * xterm.c (x_alloc_lighter_color_for_widget): New function.
10799
10800 2000-09-02 Gerd Moellmann <gerd@gnu.org>
10801
10802 * xdisp.c (redisplay_mode_lines): New function.
10803 (display_mode_lines): Return number of mode lines displayed.
10804 (echo_area_display): Use redisplay_mode_lines to draw garbaged
10805 mode lines. Don't temporarily bind redisplay-dont-pause to t.
10806
10807 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
10808 string.h and strings.h.
10809 (index) [HAVE_INDEX]: Add prototype.
10810
10811 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
10812 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
10813
10814 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
10815 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10816
10817 2000-09-01 Gerd Moellmann <gerd@gnu.org>
10818
10819 * lread.c (read1): Accept `?' as symbol constituent, for
10820 compatiblity with XEmacs.
10821
10822 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
10823
10824 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
10825 (struct re_pattern_buffer): Remove newline_anchor.
10826 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
10827 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
10828 (re_max_failures, fail_stack): Use size_t rather than unsigned.
10829 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
10830 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
10831 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
10832 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
10833 Get rid of references to newline_anchor.
10834 (regcomp): Allocate and precompute a fastmap.
10835
10836 2000-08-31 Gerd Moellmann <gerd@gnu.org>
10837
10838 * lread.c (openp): GCPRO local variable `filename'.
10839
10840 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
10841
10842 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
10843
10844 * regex.c: Merge some changes from GNU libc. Add prototypes.
10845 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
10846 Use memcmp and memcpy instead of bcopy and bcmp.
10847 (init_syntax_once): Use ISALNUM.
10848 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
10849 (REG_UNSET_VALUE): Remove. Use NULL instead.
10850 (REG_UNSET, re_match_2_internal): Use NULL.
10851 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
10852 New macros.
10853 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
10854 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
10855 (regex_compile): In handle_interval, return an error rather than try to
10856 unfetch the interval if we can't find the closing brace.
10857 Obey the RE_NO_GNU_OPS syntax bit.
10858 (TOLOWER): New macro.
10859 (regcomp): Use it.
10860 (regexec): Allocate regs.start and regs.end as one block.
10861
10862 2000-08-30 Gerd Moellmann <gerd@gnu.org>
10863
10864 * xdisp.c (echo_area_display): Check display_completed instead
10865 of calling detect_input_pending.
10866
10867 * dispnew.c (update_frame): Only set display_completed here; move
10868 the update_begin and update_end calls here from update_frame_1.
10869 (update_frame_1): Don't set display_completed here, don't call
10870 update_begin/update_end.
10871
10872 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
10873 instead of store_frame_param.
10874
10875 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10876
10877 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
10878 desired window matrix hasn't been displayed, use the current row
10879 instead. Make sure that only those frame rows are updated for
10880 which there exists a corresponding enabled desired row.
10881
10882 2000-08-29 Miles Bader <miles@gnu.org>
10883
10884 * xfaces.c (default_face_vector): New function.
10885 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
10886
10887 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10888
10889 * lread.c (openp): Prevent temporary string passed to
10890 Ffile_readable_p from being garbage collected.
10891
10892 2000-08-28 Dave Love <fx@gnu.org>
10893
10894 * keymap.c (store_in_keymap): Add `static' to declaration.
10895
10896 2000-08-28 Gerd Moellmann <gerd@gnu.org>
10897
10898 * emacs.c, callint.c, doc.c, editfns.c
10899 (toplevel) [HAVE_STRING_H]: Include string.h.
10900 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
10901 (index): Remove prototypes which might conflict with non-standard
10902 definitions of index/strchr.
10903
10904 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
10905 (rindex): Define only if !HAVE_RINDEX.
10906
10907 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
10908
10909 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
10910
10911 2000-08-28 Miles Bader <miles@gnu.org>
10912
10913 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
10914 made inconsistent by a font-related attribute in FROM.
10915 (merge_face_inheritance): Add function comment.
10916
10917 2000-08-28 Kenichi Handa <handa@etl.go.jp>
10918
10919 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
10920 the 4th arg (PREV_EVENT) Qt to suppress input method.
10921
10922 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
10923
10924 * regex.c: Indent cpp directives and remove parens after `defined'.
10925 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
10926 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
10927 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
10928 (re_compile_pattern): Use size_t for length.
10929 (init_syntax_once): Move to a better place.
10930 * regex.h: Merge changes from GNU libc. Indent cpp directives.
10931 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
10932
10933 * syntax.c (back_comment): Detect cases where a comment-starter is
10934 actually inside another comment as in: /* a // b */ c // d \n.
10935 Make it clear that `comstart_pos' is unused for nested comments.
10936
10937 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
10938 (KEYMAPP): New macro.
10939 (Fkeymap_parent, Fset_keymap_parent): Use it.
10940 (fix_submap_inheritance): Mark it static.
10941 (define_as_prefix, describe_buffer_bindings, describe_command)
10942 (describe_translation, describe_map): Complete prototypes.
10943
10944 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
10945
10946 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
10947 to better match the key-lookup behavior.
10948
10949 2000-08-27 Gerd Moellmann <gerd@gnu.org>
10950
10951 * xfaces.c (lface_fully_specified_p): Handle :inherit.
10952 (Finternal_set_lisp_face_attribute): Fix typo in error message.
10953
10954 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
10955
10956 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
10957 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
10958 (xterm.o): Depend on coding.h
10959
10960 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10961
10962 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
10963 the corresponding '#endif'.
10964
10965 2000-08-26 Miles Bader <miles@gnu.org>
10966
10967 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
10968 * xfaces.c (QCinherit): New variable.
10969 (syms_of_xfaces): Initialize it.
10970 (LFACE_INHERIT): New macro.
10971 (Finternal_get_lisp_face_attribute)
10972 (merge_face_vector_with_property)
10973 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
10974 (check_lface_attrs): Allow new types of face height. Check
10975 inherit attribute.
10976 (CYCLE_CHECK): New macro.
10977 (merge_face_inheritance): New function.
10978 (merge_face_vectors): Merge inherited faces too. Add F and
10979 CYCLE_CHECK arguments.
10980 (merge_face_vector_with_property, Finternal_merge_in_global_face)
10981 (lookup_named_face, lookup_derived_face, realize_named_face)
10982 (face_at_string_position, face_at_buffer_position): Supply
10983 new F and CYCLE_CHECK arguments to merge_face_vectors.
10984 (merge_face_heights): New function.
10985 (merge_face_vectors, merge_face_vector_with_property)
10986 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
10987 handle relative face heights.
10988 (lface_same_font_attributes_p): Compare heights using EQ.
10989
10990 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10991
10992 * charset.c (char_to_string): Check the character validity.
10993 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
10994
10995 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
10996
10997 * regex.c (PUSH_FAILURE_COUNT): New macro.
10998 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
10999 Handle popping of a register's or a counter's data.
11000 (POP_FAILURE_POINT): Use the new name.
11001 (re_match_2_internal): Push counter data on the stack for succeed_n,
11002 jump_n and set_number_at and remove misleading dead code in succeed_n.
11003
11004 2000-08-25 Gerd Moellmann <gerd@gnu.org>
11005
11006 * xdisp.c (redisplay_internal): If considering all windows on all
11007 frames, update the display for each frame as soon as possible,
11008 instead of first building all desired matrices for all frames, and
11009 then updating them all.
11010 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
11011
11012 2000-08-24 Gerd Moellmann <gerd@gnu.org>
11013
11014 * bytecode.c (mark_byte_stack): Add a comment.
11015
11016 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
11017 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
11018 a graphical frame.
11019
11020 2000-08-24 Kenichi Handa <handa@etl.go.jp>
11021
11022 * minibuf.c (do_completion): Always use compare-string, not
11023 string-equal because the latter doesn't pay attention to
11024 multibyteness of strings.
11025
11026 * process.c (create_process): Don't setup raw-text coding here.
11027 (Fopen_network_stream): Don't set coding->src_multibyte and
11028 coding->dst_multibyte here.
11029 (read_process_output): For process filter, return unibyte string
11030 if default-enable-multibyte-characters is nil.
11031 (send_process): If OBJECT is multibyte text, be sure to encoded it
11032 by the specified coding system for the process. Otherwise, setup
11033 raw-text coding.
11034 (init_process): Don't initialize default-process-coding-system here.
11035
11036 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
11037
11038 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
11039 <scroll-down-aggressively>: Likewise.
11040
11041 2000-08-23 Kenichi Handa <handa@etl.go.jp>
11042
11043 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
11044 zero. Set coding->produced_char correctly.
11045
11046 2000-08-22 Andrew Innes <andrewi@gnu.org>
11047
11048 * makefile.w32-in: New file.
11049
11050 * unexw32.c (unexec): Ignore old_name, and use the actual location
11051 of the current executable instead. Base new_name on this.
11052
11053 * w32proc.c (create_child): Remove reference to security
11054 descriptor, which isn't needed and doesn't compile with mingw32.
11055
11056 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11057 up dllimport attributes.
11058 (x_update_window_end): Update prototype.
11059
11060 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
11061 extern, which screws up dllimport attributes.
11062
11063 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11064 up dllimport attributes.
11065
11066 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
11067 screws up dllimport attributes.
11068
11069 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11070 up dllimport attributes.
11071 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
11072 screws up dllimport attributes.
11073
11074 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11075 up dllimport attributes.
11076
11077 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
11078 screws up dllimport attributes.
11079
11080 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
11081 screws up dllimport attributes.
11082
11083 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11084 up dllimport attributes.
11085
11086 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
11087 unnecessary extern, which screws up dllimport attributes.
11088 (main): Ditto.
11089
11090 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11091 up dllimport attributes.
11092
11093 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
11094 unnecessary extern, which screws up dllimport attributes.
11095
11096 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
11097 screws up dllimport attributes.
11098
11099 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
11100 up dllimport attributes.
11101
11102 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
11103
11104 * w32bdf.c (search_file_line):
11105 (set_bdf_font_info):
11106 (seek_char):
11107 (w32_get_bdf_glyph):
11108 (w32_BDF_to_x_font): Fix compile warnings.
11109
11110 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
11111
11112 * w32select.c: Include keyboard.h before frame.h.
11113
11114 * w32fns.c (max): Define macro.
11115 (JOHAB_CHARSET): Define if not known.
11116 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
11117 (Fx_show_tip): Synch with X version.
11118
11119 * w32xfns.c: Include keyboard.h before frame.h.
11120
11121 * w32fns.c: Include keyboard.h before frame.h.
11122
11123 * w32term.c: Include keyboard.h before frame.h.
11124
11125 * fontset.c: Include keyboard.h before frame.h.
11126
11127 * w32inevt.c: Include keyboard.h before frame.h.
11128 (MOUSE_MOVED): Define if not known.
11129
11130 * minibuf.c: Include keyboard.h before frame.h.
11131
11132 * keyboard.c: Include keyboard.h before frame.h.
11133
11134 * indent.c: Include keyboard.h before frame.h.
11135
11136 * dispnew.c: Include keyboard.h before frame.h.
11137
11138 * buffer.c: Include keyboard.h before frame.h.
11139
11140 * alloc.c: Include keyboard.h before frame.h.
11141
11142 * print.c: Include keyboard.h before frame.h.
11143
11144 * process.c: Include keyboard.h before frame.h.
11145
11146 * scroll.c: Include keyboard.h before frame.h.
11147
11148 * sysdep.c: Include keyboard.h before frame.h.
11149
11150 * term.c: Include keyboard.h before frame.h.
11151
11152 * window.c: Include keyboard.h before frame.h.
11153
11154 * xdisp.c: Include keyboard.h before frame.h.
11155 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
11156
11157 * frame.c: Include keyboard.h before frame.h.
11158
11159 * w32heap.h: Undefine min, max.
11160
11161 * w32gui.h: Undefine min, max.
11162
11163 * unexw32.c: Change PUCHAR to PCHAR.
11164 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
11165 (relocate_offset):
11166 (get_section_info):
11167 (copy_executable_and_dump_data): Remove unnecessary static defs.
11168 (copy_executable_and_dump_data): Fix compile warnings.
11169
11170 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
11171
11172 * w32console.c (min): Define macro.
11173 (clear_frame, write_glyphs): Fix compile warning.
11174
11175 * w32proc.c (compare_env):
11176 (find_child_console): Fix compile warning.
11177
11178 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
11179 sys_errlist instead of _sys_errlist.
11180 (get_emacs_configuration_options): New function.
11181
11182 * s/ms-w32.h (sys_nerr): Provide default definition.
11183 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
11184 name with _ prepended.
11185 (NSIG): Define if not known.
11186 (get_emacs_configuration): Provide extern declaration.
11187 (get_emacs_configuration_options): Provide extern declaration.
11188 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
11189
11190 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
11191 (map_w32_filename):
11192 (read_unc_volume): Fix compile warning.
11193
11194 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
11195 definitions from being used.
11196
11197 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
11198
11199 * w32.c (unc_volume_file_attributes):
11200 (open_unc_volume): Make arg const.
11201
11202 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
11203 (read_input_waiting): Remove excess parameter.
11204
11205 * w32.c (init_environment): Call _access.
11206 (check_windows_init_file): Call _close.
11207 (init_user_info): Call _putenv.
11208 (init_environment): Call _putenv and _strdup.
11209 (init_ntproc): Reset volume info cache on startup.
11210
11211 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
11212 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
11213 cannot override the CRT malloc.
11214
11215 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
11216 (LINK_FLAGS): Append to original value of LINK_FLAGS.
11217
11218 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
11219 unless we are linking with a static CRT.
11220 (RVA_TO_PTR): Cast result to unsigned char*.
11221
11222 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
11223 (add_volume_info): Use xstrdup.
11224
11225 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
11226
11227 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
11228 (do_completion, Fminibuffer_complete_word): Use it.
11229 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
11230 var so it can take non-boolean values.
11231
11232 2000-08-21 Gerd Moellmann <gerd@gnu.org>
11233
11234 * editfns.c (find_field): Formatting changes.
11235 (toplevel): Some old-style function forward declarations
11236 changed to prototypes, some new protypes added, some functions
11237 made static.
11238
11239 * lisp.h (set_time_zone_rule): Add prototype.
11240 (use_dialog_box): External declaration.
11241
11242 * keyboard.c (gen_help_event): Add parameter SIZE.
11243 (kbd_buffer_events_waiting): Slightly rewritten.
11244 (clear_event): New function.
11245 (kbd_buffer_get_event): Use it, and clear the input_events of
11246 HELP_EVENTs.
11247 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
11248 don't fill the newly created array with nils.
11249 (toplevel): Convert some old-style function forward declarations
11250 to prototypes.
11251
11252 * keyboard.h (gen_help_event): Change prototype.
11253
11254 * xterm.c (XTread_socket): Change calls to gen_help_event.
11255
11256 * w32term.c (w32_read_socket): Change calls to gen_help_event.
11257
11258 * eval.c (Fmacroexpand): Doc fix.
11259
11260 2000-08-20 Jason Rumney <jasonr@gnu.org>
11261
11262 * w32term.h (x_display_info_for_display): Remove as this function
11263 does not exist on W32.
11264
11265 * w32term.c (help_echo_window): New variable.
11266 (syms_of_w32term): staticpro it.
11267 (note_mode_line_highlight): Set it.
11268 (XTextExtents16): Removed as there is no equivalent on W32.
11269 (x_compute_glyph_string_overhangs): Incomplete body removed, as
11270 the X way of doing this will not work for W32.
11271 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
11272 (x_draw_image_foreground): Avoid drawing outside of the clip area
11273 when image doesn't have a mask.
11274 (note_mouse_highlight): Process overlays in the right order of
11275 priority. Set help_echo_window.
11276 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
11277 because that's more visible for large images.
11278
11279 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
11280 name to single_keymap_panes.
11281 (w32_menu_show): Set wv->title when dealing with titles.
11282 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
11283
11284 2000-08-21 Miles Bader <miles@gnu.org>
11285
11286 * minibuf.c (do_completion): Try again if we rewrite the input
11287 string, but no completion was done, so that any completion message
11288 will be correct.
11289
11290 2000-08-20 Gerd Moellmann <gerd@gnu.org>
11291
11292 * xfaces.c (lface_equal_p): Compare strings differently.
11293 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
11294 (realize_tty_face): Use them.
11295 (syms_of_xfaces): Initialize new variables.
11296 (map_tty_color): New function, extracted from realize_tty_face.
11297 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
11298 foreground or background color, store the new color name in the
11299 realized face; previous code trying to do this had no effect.
11300 (realize_tty_face): Use map_tty_color.
11301 (Fclear_face_cache): Set face_change_count and ensure thorough
11302 redisplay.
11303
11304 2000-08-19 Gerd Moellmann <gerd@gnu.org>
11305
11306 * undo.c (record_first_change, record_marker_adjustment): Don't
11307 use XBUFFER on last_undo_buffer which might not be a buffer.
11308
11309 2000-08-18 Kenichi Handa <handa@etl.go.jp>
11310
11311 * coding.c (decode_coding_string): Set members consumed,
11312 consumed_char, produced, produced_char of *coding correctly. If
11313 decode_coding doesn't consume any byte, don't try anymore.
11314 (encode_coding_string): Likewise.
11315
11316 2000-08-18 Gerd Moellmann <gerd@gnu.org>
11317
11318 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
11319 conditional have void type, for Standard C compilers.
11320
11321 * xdisp.c (redisplay_internal): Compare windows for equality with
11322 EQ, instead of applying XWINDOW to something that might not
11323 be a window.
11324
11325 2000-08-18 Kenichi Handa <handa@etl.go.jp>
11326
11327 * fontset.c (Finternal_char_font): Search only the selected frame
11328 for a window of the current buffer.
11329
11330 2000-08-18 Gerd Moellmann <gerd@gnu.org>
11331
11332 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
11333 Lisp_Objects.
11334
11335 * keyboard.c (kbd_buffer_get_event): Handle the case that the
11336 second half of a HELP_EVENT is found at the start of kbd_buffer.
11337
11338 2000-08-18 Miles Bader <miles@gnu.org>
11339
11340 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
11341
11342 * editfns.c (save_restriction_save): Rewrite to use markers.
11343 (save_restriction_restore): Rewrite to understand new form of data
11344 saved by save_restriction_save.
11345 (Fsave_restriction): Remove cautionary note in doc-string.
11346
11347 2000-08-17 Gerd Moellmann <gerd@gnu.org>
11348
11349 * fileio.c (build_annotations): Add a comment explaining the
11350 return value of format-annotate-function. Replace a spurious call
11351 to Flength with a CONSP test. Call format-annotate-function with
11352 a fifth arg specifying how many times the function is been called
11353 in a row, to let it choose temporary buffers appropriately.
11354
11355 2000-08-17 Dave Love <fx@gnu.org>
11356
11357 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
11358 declare make_temp_name twice.
11359
11360 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
11361 (unreadpure): Give it an arg.
11362
11363 * unexalpha.c: Prototype fatal_unexec, mark_x,
11364 update_dynamic_symbols. Declare unexec as void.
11365
11366 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
11367 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
11368
11369 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
11370 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
11371
11372 * alloca.c: Use #error.
11373 [POINTER_TYPE]: Use it.
11374
11375 * eval.c (Fdefvar): Doc fix.
11376
11377 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
11378 INITIALIZE_INTERVAL.
11379
11380 * buffer.h: Avoid DECLARE_INTERVALS.
11381
11382 * config.in: Add size_t.
11383
11384 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
11385
11386 * w16select.c (set_clipboard_data): If there's not enough memory
11387 to put text into clipboard, return 1, as Fw16_set_clipboard_data
11388 expects. In case of other failures, return 3.
11389 (system_error_msg): New error message.
11390 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
11391 system_error_msg.
11392
11393 2000-08-16 Gerd Moellmann <gerd@gnu.org>
11394
11395 * term.c (write_glyphs): Also turn off inverse video after turning
11396 off other appearances in case TS_exit_attribute_mode is not equal
11397 to TS_end_standout_mode.
11398 (insert_glyphs): Turn inverse video on/off for each run of glyphs
11399 with the same face.
11400 (turn_off_face): Reset standout_mode only if
11401 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
11402 is equal to TS_end_standout_mode.
11403
11404 2000-08-16 Kenichi Handa <handa@etl.go.jp>
11405
11406 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
11407 sequence at the end of the source block.
11408
11409 * ccl.c (Fccl_program_p): Docstring modified.
11410 (Fccl_execute): Likewise.
11411 (Fccl_execute_on_string): Likewise.
11412
11413 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
11414
11415 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
11416
11417 2000-08-16 Kenichi Handa <handa@etl.go.jp>
11418
11419 The following changes are mainly to fix bugs of
11420 encode/decode-coding-string failing if encoding/decoding return
11421 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
11422 variable conversion_buffer.
11423
11424 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
11425 decrement dst_end to avoid buffer overflow in the later call of
11426 string_as_multibyte
11427
11428 * coding.h (conversion_buffer_size, conversion_buffer)
11429 (get_conversion_buffer): Extern deleted.
11430
11431 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
11432 (conversion_buffer, conversion_buffer_size): Variables deleted.
11433 (get_conversion_buffer): Function deleted.
11434 (struct conversion_buffer): New structure.
11435 (MAX_ALLOCA): New macro.
11436 (allocate_conversion_buffer): New macro.
11437 (extend_conversion_buffer, free_conversion_buffer): New functions.
11438 (ccl_coding_driver): Set coding->result.
11439 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
11440 this is the last block of source.
11441 (encode_coding): Likewise. Handle the source block as the last
11442 one only when the whole source text is consumed.
11443 (decode_coding_string): Handle the case that the output buffer is
11444 too small to decode the whole source text. Use
11445 allocate_conversion_buffer, extend_conversion_buffer and
11446 free_conversion_buffer, not get_conversion_buffer.
11447 (encode_coding_string): Likewise.
11448 (init_coding): Function deleted.
11449 (init_coding_once): Delete code to initialize conversion_buffer_size.
11450
11451 * emacs.c (main): Don't call init_coding.
11452
11453 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
11454
11455 * term.c (write_glyphs): Use a locally declared conversion_buffer.
11456 (insert_glyphs): Likewise.
11457
11458 * w32console.c (write_glyphs): Use a locally declared
11459 conversion_buffer.
11460
11461 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
11462
11463 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
11464 member of display_info is NULL.
11465
11466 2000-08-15 Gerd Moellmann <gerd@gnu.org>
11467
11468 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
11469
11470 * term.c (turn_off_face): Reset standout_mode when resetting
11471 appearances with capability `me'.
11472 (write_glyphs): Switch on inverse video before each face change.
11473
11474 2000-08-14 Dave Love <fx@gnu.org>
11475
11476 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
11477 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
11478 (lisp_free): Declare and make static.
11479
11480 * window.c: Fix embedded comment.
11481 (syms_of_window): Fix doc string.
11482
11483 2000-08-14 Gerd Moellmann <gerd@gnu.org>
11484
11485 * keymap.c (push_key_description): If C without modifiers is < 32,
11486 make sure to print `C-' before `M-', like in the manual.
11487
11488 2000-08-11 Gerd Moellmann <gerd@gnu.org>
11489
11490 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
11491 since they aren't relocated anymore.
11492 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
11493
11494 * xdisp.c (try_cursor_movement): Fix handling of cursor in
11495 partially visible line which is smaller than the window's height.
11496
11497 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11498
11499 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
11500 the multibyte form of eight-bit-control characters.
11501 (Fccl_execute_on_string): Initialize ccl->multibyte.
11502
11503 * ccl.h (struct ccl_program): New member multibyte.
11504
11505 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
11506
11507 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11508
11509 * regex.c (regex_compile) <normal_char>: Pay attention to
11510 multibyteness.
11511 (analyse_first) <exactn>: Setup fastmap correctly for
11512 eight-bit-control characters.
11513
11514 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11515
11516 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
11517
11518 * keyboard.c (make_lispy_event): Handle the new event type
11519 multibyte_char_keystroke.
11520
11521 * xterm.c: Include coding.h.
11522 (XTread_socket): Work around a bug of XmbLookupString. If the
11523 input is from XIM, decode it according to the current locale. In
11524 that case, generate multibyte_char_keystroke events.
11525
11526 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11527
11528 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
11529 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
11530
11531 2000-08-10 Gerd Moellmann <gerd@gnu.org>
11532
11533 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
11534 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
11535 (move_it_in_display_line_to): Record iterator's ascent and descent
11536 before producing glyphs, and restore them when we know the glyph
11537 doesn't fit on the line.
11538 (move_it_to): Restructured so that it's easier to debug. If
11539 moving to a vpos, and not moving to an x or character position,
11540 stop as soon as the specified vpos is reached; don't move further
11541 into that line because that might change the computed line height.
11542 (try_cursor_movement): New function, extracted from the cursor
11543 movement branch of redisplay_window. If ending on a partially
11544 visible line, don't try to scroll if the cursor line is taller
11545 than the window.
11546 (redisplay_window): Use try_cursor_movement.
11547
11548 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
11549 because that function doesn't cope with variable-height lines.
11550
11551 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
11552 box cursor because that's better visible for large images.
11553
11554 2000-08-10 Miles Bader <miles@gnu.org>
11555
11556 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
11557
11558 2000-08-10 Gerd Moellmann <gerd@gnu.org>
11559
11560 * xdisp.c (Vmessages_buffer_name): New variable.
11561 (message_dolog): Use it.
11562 (syms_of_xdisp): Initialize it.
11563
11564 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
11565
11566 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
11567 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
11568 redundant now that keyboard.h is included.
11569
11570 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
11571
11572 * keyboard.c (kbd_buffer_events_waiting): New function.
11573
11574 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
11575
11576 * msdos.c: Include keyboard.h.
11577 (XMenuActivate): Empty no_event events from the event buffer. If
11578 no events are left after that, call clear_input_pending.
11579 (mouse_clear_clicks): New function, code moved from mouse_init.
11580 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
11581 mouse driver to ``forget'' any past clicks.
11582
11583 * Makefile.in (msdos.o): Depend on keyboard.h.
11584
11585 2000-08-09 Gerd Moellmann <gerd@gnu.org>
11586
11587 * lisp.h (input_pending): External declaration.
11588
11589 * dispextern.h (Qredisplay_dont_pause): Declare extern.
11590
11591 * xdisp.c (echo_area_display): Display thoroughly if input is
11592 pending. Bind redisplay-dont-pause to t during the redisplay.
11593 in case input is pending.
11594
11595 * dispnew.c (Qredisplay_dont_pause): New variable.
11596 (syms_of_display): Initialize and staticpro it.
11597 (update_frame_1): Don't interrupt the display for pending input if
11598 redisplay_dont_pause is set.
11599
11600 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
11601
11602 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11603
11604 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
11605
11606 * callproc.c (Fcall_process): Terminate the unwind-protect around
11607 the post-read-conversion of coding system.
11608
11609 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
11610 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
11611 * buffer.h (overlays_at): Update prototype.
11612 * xdisp.c (next_overlay_change): Update call to overlays_at.
11613 * xfaces.c (face_at_buffer_position): Likewise.
11614 * textprop.c (Fget_char_property): Likewise.
11615 * xterm.c (note_mouse_highlight): Likewise.
11616
11617 * minibuf.c (do_completion): Don't consider a simple change of
11618 case as `completion'.
11619
11620 2000-08-08 Ken Raeburn <raeburn@gnu.org>
11621
11622 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
11623 * undo.c (record_delete): Make sure last_point_position_buffer is
11624 a buffer before comparing pointers.
11625
11626 * coding.h (decode_coding_string): Declare.
11627
11628 * intervals.h (Fprevious_single_char_property_change): Declare.
11629
11630 * textprop.c (Fprevious_single_char_property_change): Don't do
11631 arithmetic directly on lisp objects.
11632
11633 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
11634
11635 * keyboard.h (menu_item_eval_property): Declare.
11636
11637 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
11638 reuse as buffer name, instead of recreating (and discarding) every
11639 time a message is logged.
11640 (with_echo_area_buffer): Make callback arg A2 a lisp object.
11641 (current_message_1, truncate_message_1, set_message_1)
11642 (display_echo_area_1, resize_mini_window_1): Signatures changed.
11643 (current_message, truncate_echo_area, display_echo_area)
11644 (resize_echo_area_axactly): Changed calls.
11645
11646 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
11647 Lisp object.
11648 (Ffind_coding_systems_region_internal): First argument to Fappend
11649 must be an integer, not a Lisp object.
11650
11651 2000-08-08 Kenichi Handa <handa@etl.go.jp>
11652
11653 * charset.c (Fchar_width): Doc fix.
11654
11655 2000-08-08 Gerd Moellmann <gerd@gnu.org>
11656
11657 * charset.c (Fstring_width): Doc fix.
11658
11659 2000-08-07 Gerd Moellmann <gerd@gnu.org>
11660
11661 * xdisp.c (start_display): When starting display on a continuation
11662 line, clear ascent and descent members of the iterator structure;
11663 the height of the continued line does not affect the height of the
11664 continuation line.
11665 (make_cursor_line_fully_visible): Do nothing if cursor is on a
11666 line taller than the window.
11667 (redisplay_window) <forced window start>: Handle case that the
11668 middle of the window is not found in any row.
11669 (dump_glyph_row): Show more information.
11670 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
11671 first text line in a glyph matrix.
11672
11673 * xterm.c (x_draw_image_foreground): Avoid drawing outside
11674 of the clip area when image doesn't have a mask.
11675
11676 * fns.c (sweep_weak_table): Fix survival conditions for
11677 key-or-value and key-and-value weakness.
11678
11679 * .gdbinit (xhashtable): New command.
11680
11681 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
11682 tables out of the list of all weak hash tables.
11683
11684 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
11685 a new buffer is created, make sure echo_area_buffer[] references
11686 the new buffer.
11687
11688 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
11689
11690 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
11691 the doc string.
11692
11693 2000-08-07 Kenichi Handa <handa@etl.go.jp>
11694
11695 * syntax.c (skip_chars): Fix previous change. Make the handling
11696 of unibyte string consistent with that of regex search.
11697
11698 2000-08-05 Gerd Moellmann <gerd@gnu.org>
11699
11700 * xmenu.c (popup_get_selection): Use xfree instead of free.
11701
11702 * fileio.c (Finsert_file_contents): Use xfree instead of free.
11703
11704 * editfns.c (Ftranspose_regions): Use xfree instead of free.
11705
11706 * callproc.c (child_setup): Use xfree instead of free.
11707
11708 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
11709 instead of malloc.
11710 (run_mac_command, closedir): Use `xfree' instead of `free'.
11711
11712 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
11713
11714 * eval.c (error): Use xfree instead of free.
11715
11716 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
11717
11718 * fns.c: Replace `illegal' with `invalid'.
11719 (Fmake_hash_table, make_hash_table): Allow table size of 0.
11720
11721 2000-08-05 Kenichi Handa <handa@etl.go.jp>
11722
11723 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
11724 conversion.
11725
11726 2000-08-04 Noah Friedman <friedman@splode.com>
11727
11728 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
11729 docstring.
11730
11731 2000-08-04 Gerd Moellmann <gerd@gnu.org>
11732
11733 * syntax.c (skip_chars): Fix typo in error message.
11734
11735 2000-08-04 Andreas Schwab <schwab@suse.de>
11736
11737 * m/ia64.h: Moved from s/ia64.h.
11738
11739 2000-08-04 Kenichi Handa <handa@etl.go.jp>
11740
11741 * process.c (read_process_output): Big simplification. Handle
11742 composition and post-read-conversion of coding system correctly.
11743 (send_process): Handle composition correctly.
11744
11745 * callproc.c (Fcall_process): Handle post-read-conversion of
11746 coding system if any.
11747
11748 * coding.c (decode_coding_iso2022): More strict check for handling
11749 single shifting.
11750 (coding_restore_composition): Pay attention to the case that
11751 cmp_data is not set properly (because of invalid code in the
11752 source text).
11753 (run_pre_post_conversion_on_str): Include text properties in the
11754 resulting string.
11755 (decode_coding_string): Set members of coding correctly.
11756
11757 2000-08-03 Gerd Moellmann <gerd@gnu.org>
11758
11759 * s/ia64.h: New file.
11760
11761 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
11762 Use NULL instead of 0 at the end of variable argument list of
11763 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
11764 sizeof (int) < sizeof (void *).
11765
11766 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
11767 of variable argument lists of XtVaGetValues and XtVaSetValues.
11768
11769 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
11770 variable argument lists of XtVaGetValues and XtVaSetValues.
11771
11772 2000-08-02 Gerd Moellmann <gerd@gnu.org>
11773
11774 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
11775 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
11776
11777 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
11778 prototype.
11779
11780 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
11781 in call to Fsingle_key_description.
11782
11783 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
11784 Callers changed.
11785
11786 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
11787
11788 * window.c (display_buffer_reuse_frames): New variable.
11789 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
11790 frames displaying BUFFER.
11791 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
11792
11793 2000-08-01 Miles Bader <miles@gnu.org>
11794
11795 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
11796 when to constrain NEW_POS (they were pretty screwed up before).
11797
11798 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
11799
11800 * msdos.c (run_msdos_command): Save and restore the master
11801 environment, for the case that child_setup signals an error.
11802 When mirroring slashes in DOS shell commands, don't fail when
11803 argv[2] has embedded blanks.
11804 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
11805 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
11806 (dos_ttraw): Call mouse_setup_buttons.
11807
11808 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
11809 using alloca; free it after run_msdos_command returns.
11810
11811 2000-07-27 Dave Love <fx@gnu.org>
11812
11813 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
11814 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
11815
11816 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
11817
11818 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
11819
11820 * editfns.c (lisp_time_argument): Fix last change.
11821
11822 2000-07-27 Gerd Moellmann <gerd@gnu.org>
11823
11824 * fns.c (Fdelete): Make it work on vectors and strings in addition
11825 to lists.
11826
11827 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
11828 (syms_of_fns): Initialize new variables.
11829 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
11830 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
11831 weakness, with t meaning the same as `key-and-value'.
11832
11833 2000-07-27 Kenichi Handa <handa@etl.go.jp>
11834
11835 * coding.h (struct coding_system): Member safe_charset deleted.
11836
11837 * coding.c (Qsafe_charsets): This variable deleted.
11838 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
11839 New variables.
11840 (coding_safe_chars): New function.
11841 (CODING_SAFE_CHAR_P): New macro.
11842 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
11843 checking safe_charsets member of the coding system. Caller changed.
11844 (detect_coding_iso2022): New local variable safe_chars.
11845 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
11846 safe_charsets member of the coding system.
11847 (decode_coding_iso2022): New local variable safe_chars.
11848 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
11849 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
11850 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
11851 (ENCODE_UNSAFE_CHARACTER): New macro.
11852 (encode_coding_iso2022): New local variable safe_chars. Check
11853 unsafe chars.
11854 (setup_coding_system): Delete the code to initialize
11855 coding->safe_charses
11856 (intersection, find_safe_codings): New functions.
11857 (Ffind_coding_systems_region_internal): New function.
11858 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
11859 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
11860 variable and initialize it.
11861
11862 * fns.c (char_table_ref_and_index): New function.
11863
11864 * lisp.h (char_table_ref_and_index): Add prototype.
11865
11866 2000-07-26 Sam Steingold <sds@gnu.org>
11867
11868 * editfns.c (lisp_time_argument): Added third argument `usec'.
11869 (Ffloat_time): New built-in Lisp function.
11870
11871 2000-07-26 Gerd Moellmann <gerd@gnu.org>
11872
11873 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
11874 for the character code.
11875
11876 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
11877 GNU/Linux.
11878
11879 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
11880 if called for a popup menu.
11881 (xmenu_show): Store help string in widget values.
11882
11883 2000-07-26 Dave Love <fx@gnu.org>
11884
11885 * syswait.h: Move some definitions.
11886 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
11887 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
11888 perspicuous definitions.
11889 (WTERMSIG): Fix bit pattern used.
11890
11891 2000-07-26 Kenichi Handa <handa@etl.go.jp>
11892
11893 * print.c (print_object): If vector printing is truncated, print
11894 "..." to indicate it as well as the case of list printing.
11895
11896 2000-07-25 Gerd Moellmann <gerd@gnu.org>
11897
11898 * xdisp.c (next_element_from_display_vector): Improve comments.
11899
11900 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
11901 for the character code, and the rest for the face id as in 20.x.
11902 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
11903
11904 * window.c (window_display_table): Cleaned up.
11905
11906 * syntax.c (Fforward_word): Add last arg nil in call of
11907 Fconstrain_to_field.
11908
11909 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
11910
11911 * fileio.c (Frename_file) [DOS_NT]: If the file names are
11912 identical but for the letter-case, don't call
11913 barf_or_query_if_file_exists.
11914
11915 2000-07-25 Miles Bader <miles@gnu.org>
11916
11917 * editfns.c (find_field): Honor special `boundary' fields.
11918 (Qboundary): New variables.
11919 (syms_of_editfns): Initialize Qboundary.
11920 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
11921 Use scan_buffer instead of find_before_next_newline, because it
11922 allows us to detect the boundary case where there's a newline at
11923 the search limit.
11924 * lisp.h (Fconstrain_to_field): Update external declaration.
11925
11926 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11927
11928 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
11929 if that is nil.
11930
11931 2000-07-24 Dave Love <fx@gnu.org>
11932
11933 * s/sunos4-0.h, s/sol2.h:
11934 (LIBS_TERMCAP): Move from m/sparc.h.
11935
11936 * m/sparc.h (TERMINFO): Moved to system files (probably only
11937 relevant for sunos4 judging by its vintage).
11938 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
11939 __arch64__.
11940
11941 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
11942
11943 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
11944 name to single_keymap_panes.
11945
11946 2000-07-24 Andreas Schwab <schwab@suse.de>
11947
11948 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
11949
11950 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11951
11952 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
11953 parameters instead of using int parameters. Expect FN to accept
11954 EMACS_INT parameters.
11955 (display_echo_area, resize_echo_area_axactly, current_message)
11956 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
11957 with new argument list.
11958 (resize_mini_window_1): New callback function.
11959 (current_message_1, truncate_message_1, set_message_1): Change
11960 parameter lists to the new format expected by with_echo_area_buffer.
11961
11962 2000-07-24 Kenichi Handa <handa@etl.go.jp>
11963
11964 * fontset.c (fontset_ref): Remove INLINE declaration.
11965 (fontset_ref_via_base): Likewise.
11966 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
11967 to downcase.
11968
11969 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
11970
11971 * msdos.c (IT_note_mouse_highlight): Process overlays in the
11972 correct order of priority. If help echo was found in an overlay,
11973 use that overlay as the object in which the help echo was found.
11974
11975 2000-07-22 Miles Bader <miles@gnu.org>
11976
11977 * textprop.c (Fprevious_single_char_property_change): The initial
11978 property value should be from the position preceding POSITION, not
11979 following it.
11980
11981 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
11982
11983 * coding.c (syms_of_coding): Doc fix for
11984 inhibit-iso-escape-detection.
11985
11986 2000-07-21 Gerd Moellmann <gerd@gnu.org>
11987
11988 * xterm.c (note_mouse_highlight): Process overlays in the right
11989 order of priority.
11990
11991 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
11992
11993 * xterm.c (note_mouse_highlight): If help-echo was found in an
11994 overlay, use that overlay as the object in which the help was found.
11995
11996 * window.c (foreach_window_1): Fix typo reversing an if-condition.
11997
11998 * window.c (foreach_window): Instead of a fake variable argument
11999 list, take one USER_DATA argument.
12000 (foreach_window_1): Likewise, and call callback functions with two
12001 args, the window and USER_DATA.
12002 (struct check_window_data): New struct.
12003 (check_window_containing): Use it.
12004 (window_from_coordinates): Set up a struct check_window_data for
12005 foreach_window.
12006 (add_window_to_list, freeze_window_start): Change parameters
12007 according to new calling convention.
12008
12009 * window.h (foreach_window): Change prototype.
12010
12011 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
12012
12013 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
12014
12015 * xmenu.c (menu_help_callback): Call show_help_echo with
12016 additional arguments OBJECT and POS.
12017
12018 2000-07-21 Kenichi Handa <handa@etl.go.jp>
12019
12020 * data.c (Faset): Allow storing any multibyte character in a
12021 string. Convert unibyte string to multibyte if necessary.
12022
12023 * xfns.c (x_encode_text): New function.
12024 (x_set_name): Use x_encode_text.
12025 (x_set_title): Likewise.
12026
12027 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
12028
12029 * xterm.h (x_encode_text): Add prototype.
12030
12031 2000-07-20 Dave Love <fx@gnu.org>
12032
12033 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
12034 xfree, not free.
12035
12036 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
12037
12038 * msdos.c (help_echo_window): New variable.
12039 (syms_of_msdos): Initialize and staticpro it.
12040 (IT_note_mode_line_highlight): Set help_echo_window.
12041 (IT_note_mouse_highlight): Ditto.
12042 (dos_rawgetc): Store help_echo_window in the second event produced
12043 for HELP_EVENTs.
12044
12045 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
12046 Record the object that generated the help echo and the position of
12047 that object in help_echo_object and help_echo_pos. Record that
12048 some glyphs in a row are displayed in mouse-face.
12049 (IT_update_begin): Don't clear mouse highlight unless one of the
12050 enabled glyph rows is marked as being displayed in mouse-face.
12051 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
12052 and position recorded in help_echo_object and help_echo_pos to the
12053 event queue.
12054 (IT_menu_display): Accept a new argument PN: the pane number of
12055 the current menu pane. Record the pane number and the item
12056 number of the item which has associated help string.
12057 (XMenuActivate): Update the prototype for help_callback in
12058 function declaration. Call IT_menu_display with the current menu
12059 pane number as an additional argument. Call help_callback with
12060 two additional arguments: the pane number and the item number of
12061 the menu item associated with the help text.
12062 (help_echo_object, help_echo_pos): New variables.
12063 (syms_of_msdos): Initialize them and staticpro help_echo_object.
12064
12065 * msdos.h (XMenuActivate): Update prototype.
12066
12067 2000-07-19 Gerd Moellmann <gerd@gnu.org>
12068
12069 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
12070 Add some more prototypes.
12071
12072 * xterm.c, xterm.h: Add some more prototypes.
12073
12074 * lisp.h (Fnext_single_char_property_change): Add prototype.
12075
12076 * dispnew.c (direct_output_for_insert): Remove confusing
12077 outer local variable mouse_face_overwritten_p.
12078 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
12079
12080 * alloc.c (allocate_string_data): Don't copy old string contents.
12081
12082 2000-07-19 Kenichi Handa <handa@etl.go.jp>
12083
12084 * coding.c (code_convert_region): Delete text properties before
12085 shrinking the conversion region.
12086
12087 2000-07-18 Gerd Moellmann <gerd@gnu.org>
12088
12089 * dispnew.c (update_text_area): Write the whole row if it
12090 has mouse-face in it.
12091
12092 * xfaces.c (face-alternative-font-family-alist): Remove
12093 DEFVAR_LISP; staticpro instead.
12094
12095 * xmenu.c (menu_help_callback): Call show_help_echo with
12096 new arguments.
12097
12098 * keyboard.c (show_help_echo): Add parameter WINDOW.
12099 (read_char): Call show_help_echo with window extracted from Lisp
12100 help event.
12101 (gen_help_event): Add parameter WINDOW.
12102
12103 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
12104
12105 * xterm.c (help_echo_window): New variable.
12106 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
12107 (XTread_socket): Pass help_echo_window to gen_help_event.
12108 (syms_of_xterm): Initialize and staticpro help_echo_window.
12109
12110 2000-07-18 Dave Love <fx@gnu.org>
12111
12112 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
12113
12114 2000-07-18 Gerd Moellmann <gerd@gnu.org>
12115
12116 * alloc.c (allocate_string_data): If string had already data
12117 assigned, copy old contents to new string data.
12118
12119 * coding.c (syms_of_coding): Fix typo in spelling of variable
12120 `inhibit-iso-escape-detection'.
12121
12122 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
12123
12124 * Makefile.in: Add dependencies on dispextern.h.
12125 (alloca.o): Don't define malloc and define EMACS_FREE instead of
12126 `free'; both can conflict with system header files.
12127
12128 2000-07-18 Kenichi Handa <handa@etl.go.jp>
12129
12130 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
12131 undefined.
12132
12133 2000-07-18 Dave Love <fx@gnu.org>
12134
12135 * window.c (Fwindow_list): Declare arg `window'.
12136
12137 2000-07-18 Kenichi Handa <handa@etl.go.jp>
12138
12139 * coding.c (setup_coding_system): Don't override the explicitly
12140 specified designations.
12141
12142 2000-07-15 Miles Bader <miles@gnu.org>
12143
12144 * editfns.c (char_property_eq, char_property_stickiness): Renamed
12145 from `text_property_eq' and `text_property_stickiness', respectively.
12146 (find_field, Fconstrain_to_field, char_property_eq)
12147 (char_property_stickiness): Changed to call char-property functions
12148 instead of text-property-only ones.
12149
12150 * textprop.c (Fnext_single_char_property_change): Made a subr (was
12151 `next_single_char_property_change'). Do more error checking, and
12152 cleanup limit behavior.
12153 (Fprevious_single_char_property_change): New function.
12154 (syms_of_textprop): Initialize new subrs.
12155
12156 * xdisp.c (display_prop_end, invisible_text_between_p):
12157 Call Fnext_single_char_property_change instead of
12158 next_single_char_property_change.
12159
12160 2000-07-15 Jason Rumney <jasonr@gnu.org>
12161
12162 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
12163 after menu is finished with.
12164 (add_menu_item): Only consider wv->title as a menu title.
12165 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
12166
12167 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
12168 null title.
12169 (FONT_REGEXP): Remove unused macro, and its sub-components.
12170 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
12171
12172 * w32term.c (help_echo_object, help_echo_pos): New variables.
12173 (note_mode_line_highlight): Store additional information about the
12174 help-echo in help_echo_object and help_echo_pos. Check both
12175 `local-map' and `keymap' properties for changing the cursor
12176 (note_mouse_highlight): Store additional information about the
12177 help-echo in help_echo_object and help_echo_pos.
12178 (note_tool_bar_highlight): Set help_echo_object to nil and
12179 help_echo_pos to -1.
12180 (w32_read_socket): Use gen_help_event instead of filling
12181 input_events manually.
12182 (syms_of_w32term): Staticpro help_echo_object.
12183 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
12184 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
12185 (x_clear_mouse_face): New function.
12186 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
12187 (x_update_window_begin): No need to turn off the mouse
12188 highlight here.
12189 (show_mouse_face): Set the mouse_face_p flag of glyph rows
12190 depending on whether they contain glyphs highlighted in mouse-face.
12191 (x_fill_stretch_glyph_string): Consume runs of stretch
12192 glyphs instead of a single one.
12193 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
12194 with new argument list.
12195 (x_set_glyph_string_gc): Make sure the face's GC is valid.
12196 (x_append_glyph, x_append_composite_glyph)
12197 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12198 changes in struct glyph starting 1999-12-27. See comments for
12199 xterm.c on 2000-07-05.
12200
12201 2000-07-14 Sam Steingold <sds@gnu.org>
12202
12203 * xfaces.c (realize_x_face): Fix the last patch:
12204 check `default_face' before dereferencing.
12205
12206 2000-07-14 Dave Love <fx@gnu.org>
12207
12208 * syntax.c (back_comment): Add null default in switch (for pcc).
12209
12210 2000-07-14 Kenichi Handa <handa@etl.go.jp>
12211
12212 * xfaces.c (realize_x_face): Make fontset using the base of the
12213 default_face's fontset, not using the default fontset.
12214
12215 * coding.c (inhibit_iso_escape_detection): New variable.
12216 (syms_of_coding): Make it a Lisp variable.
12217 (detect_coding_iso2022): If inhibit_iso_escape_detection is
12218 nonzero, ignore ISO2022's escape sequence.
12219
12220 2000-07-14 Gerd Moellmann <gerd@gnu.org>
12221
12222 * alloca.c (malloc) [emacs]: Define as xmalloc.
12223
12224 * xfns.c (Fx_show_tip): If frame parameters contain a position,
12225 use that instead of the mouse position. Add parameters DX and DY.
12226
12227 * dispextern.h (Fx_show_tip): Adjust number of parameters
12228 in prototype.
12229
12230 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
12231 if HELP is a function, call it with OBJECT and POS as parameters
12232 to get the help to display.
12233 (gen_help_event, kbd_buffer_store_help_event): New functions.
12234 (kbd_buffer_get_event): Construct the Lisp help-event differently.
12235 (read_char): Call show_help_echo with new parameters.
12236
12237 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
12238 Add prototypes.
12239
12240 * xterm.c (help_echo_object, help_echo_pos): New variables.
12241 (note_mode_line_highlight): Store additional information about the
12242 help-echo in help_echo_object and help_echo_pos. Check both
12243 `local-map' and `keymap' properties for changing the cursor
12244 (note_mouse_highlight): Store additional information about the
12245 help-echo in help_echo_object and help_echo_pos.
12246 (note_tool_bar_highlight): Set help_echo_object to nil and
12247 help_echo_pos to -1.
12248 (XTread_socket): Use gen_help_event instead of filling
12249 input_events manually.
12250 (syms_of_xterm): Staticpro help_echo_object.
12251
12252 * xmenu.c (menu_highlight_callback): Use
12253 kbd_buffer_store_help_event instead of setting up and input_event
12254 structure manually.
12255
12256 * xdisp.c (eval_form): GCPRO argument sexpr.
12257 (call_function): New function.
12258 (handle_single_display_prop): Use call_function and FUNCTIONP
12259 instead of checking whether if font_height is a symbol and
12260 using eval_form.
12261
12262 * eval.c (internal_condition_case_2): New function.
12263
12264 * lisp.h (FUNCTIONP): New macro.
12265 (internal_condition_case_2, call_function): Add prototypes.
12266
12267 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
12268 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
12269 Always set `arg' member of input_events.
12270 (construct_menu_click): Unused function removed.
12271
12272 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
12273
12274 * w32term.c (construct_mouse_click, construct_mouse_wheel)
12275 (construct_drag_n_drop, x_scroll_bar_handle_click)
12276 (w32_read_socket): Always set `arg' member of input_events.
12277
12278 * keyboard.c (show_help_echo): Use eval_form. Add comment.
12279
12280 * lisp.h (eval_form): Add prototype.
12281
12282 * xdisp.c (eval_form): Make it externally visible.
12283
12284 2000-07-13 Gerd Moellmann <gerd@gnu.org>
12285
12286 * xterm.c (x_handle_tool_bar_click): Store the frame in the
12287 frame_or_window slot of TOOL_BAR_EVENT input events instead of
12288 consing. For prefix events, store the frame in the `arg' slot of
12289 the event, otherwise store the key there.
12290 (XTread_socket): Instead of consing, use the frame_or_window slot
12291 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
12292
12293 * xmenu.c (menu_highlight_callback): Store help string in the
12294 `arg' member of the input event; don't cons.
12295 (menubar_selection_callback): Use the `arg' slot of input events
12296 to queue additional information, instead of consing.
12297
12298 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
12299
12300 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
12301 TOOL_BAR_EVENTs.
12302 (w32_read_socket): Adapt to changes in HELP_EVENTs.
12303
12304 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
12305 input events to queue additional information, instead of consing.
12306
12307 * keyboard.c (kbd_buffer_gcpro): Renamed from
12308 kbd_buffer_frame_or_window. Now used for all Lisp objects
12309 referenced from the input queue.
12310 (kbd_buffer_store_event): Always use structure assignment for
12311 copying input events. Record all Lisp objects referenced from
12312 events in kbd_buffer_gcpro.
12313 (kbd_buffer_get_event): Construct Lisp `help-echo' events
12314 differently from input events. Test for prefix menu_bar_events
12315 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
12316 event in kbd_buffer_gcpro to nil.
12317 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
12318 frame_or_window is equal to its arg member as prefix events.
12319 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
12320 used by an input event to nil.
12321 (init_keyboard): Use two times the size of the input queue
12322 for kbd_buffer_gcpro.
12323 (syms_of_keyboard): Likewise.
12324
12325 * emacs.c (handle_USR2_signal, handle_USR1_signal):
12326 Use USER_SIGNAL_EVENT.
12327
12328 * termhooks.h (struct input_event): Add member `arg'.
12329 (MENU_BAR_EVENT): Renamed from menu_bar_event.
12330 (USER_SIGNAL_EVENT): Renamed from user_signal.
12331
12332 * xfaces.c (ASET): Remove definition.
12333
12334 * lisp.h (AREF, ASET, ASIZE): New macros.
12335
12336 * fontset.c (AREF, ASIZE): Remove definitions.
12337
12338 * fns.c (AREF): Remove definition.
12339
12340 * composite.c (AREF): Remove definition.
12341
12342 2000-07-12 Gerd Moellmann <gerd@gnu.org>
12343
12344 * dispnew.c (redraw_overlapped_rows): Add missing local.
12345 (scrolling_window): Remove debug code.
12346
12347 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
12348 Before scrolling, turn off a mouse-highlight in the window
12349 being scrolled.
12350
12351 * xterm.c (x_update_window_end): Add parameter
12352 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
12353 redisplay in XTframe_up_to_date.
12354 (x_clear_mouse_face): New function.
12355 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
12356
12357 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
12358 current glyph row.
12359 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
12360 it when any row is written to that contains glyphs highlighted in
12361 mouse-face.
12362 (update_window): Call the window update end hook with new
12363 parameter MOUSE_FACE_OVERWRITTEN_P.
12364 (direct_output_for_insert): Give up if row contains mouse-face.
12365
12366 * dispextern.h (struct redisplay_interface): Add parameter
12367 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
12368 (clear_mouse_face): New function pointer member.
12369
12370 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
12371
12372 * syntax.c (back_comment): Use one switch rather than a few `if's.
12373 Obey open_paren_in_column_0_is_defun_start.
12374 When reverting to the `slow' method, try to nicely handle the case
12375 of nested comments by checking that the comment-starter we found
12376 does indeed match the comment-ender.
12377 (scan_sexps_forward, scan_sexps_forward):
12378 Ignore excessive opening parenthesis rather than throwing an error.
12379
12380 2000-07-11 Gerd Moellmann <gerd@gnu.org>
12381
12382 * doc.c (Fsubstitute_command_keys): Handle case that a GC
12383 in Fwhere_is_internal or get_keymap_1 relocates string contents.
12384
12385 * dispnew.c (direct_output_forward_char): Give up if currently
12386 displaying a message instead of the minibuffer contents.
12387
12388 * xterm.c (x_update_window_begin): No need to turn off the mouse
12389 highlight here.
12390 (show_mouse_face): Set the mouse_face_p flag of glyph rows
12391 depending on whether they contain glyphs highlighted in mouse-face.
12392
12393 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
12394 compare the mouse_face_p flags of both rows.
12395
12396 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
12397
12398 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
12399
12400 * keyboard.c (show_help_echo): Accept additional parameter
12401 ok_to_overwrite_keystroke_echo.
12402 (read_char): Call show_help_echo with a zero
12403 ok_to_overwrite_keystroke_echo argument.
12404 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
12405 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
12406 ok_to_overwrite_keystroke_echo argument.
12407 * w32menu.c (w32_menu_display_help): Call show_help_echo with
12408 non-zero ok_to_overwrite_keystroke_echo argument.
12409
12410 2000-07-10 Gerd Moellmann <gerd@gnu.org>
12411
12412 * xdisp.c (try_window_id): If changes are all below what is
12413 displayed in the window, and point is in the window, we still
12414 might have to find point on the display.
12415
12416 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
12417 glyphs instead of a single one.
12418 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
12419 with new argument list.
12420 (x_set_glyph_string_gc): Make sure the face's GC is valid.
12421
12422 * keymap.c (get_keymap_1): Add comment that this function can GC.
12423 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
12424 comment that functions can GC.
12425 (Fset_keymap_parent): GCPRO arg KEYMAP.
12426
12427 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
12428
12429 * msdos.c (XMenuActivate): After exiting the menu, restore the
12430 echo area message and erase it.
12431
12432 2000-07-10 Kenichi Handa <handa@etl.go.jp>
12433
12434 * fontset.c (Ffontset_info): Make the return value more compatible
12435 with that of Emacs 20.
12436
12437 2000-07-07 Gerd Moellmann <gerd@gnu.org>
12438
12439 * eval.c (Fsignal): Handle case that backtrace_list is null.
12440
12441 2000-07-07 Kenichi Handa <handa@etl.go.jp>
12442
12443 * ccl.c (Fccl_execute): Typo fixed.
12444
12445 2000-07-06 Gerd Moellmann <gerd@gnu.org>
12446
12447 * window.c (window_loop): Add missing gcpro1 local variable.
12448
12449 * window.c (Fwindow_list): Reverse list at the end.
12450 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
12451 means allow windows on OWINDOW's frame, only.
12452 (window_loop): Simplified; use Fwindow_list.
12453
12454 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
12455
12456 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12457
12458 * xterm.c (XTread_socket): Increment handling_signal at the start,
12459 decrement it at the end.
12460
12461 * eval.c (handling_signal): New variable.
12462 (Fsignal): Abort if handling_signal is non-zero.
12463
12464 * lisp.h (handling_signal): External declaration.
12465
12466 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
12467
12468 2000-07-05 Ken Raeburn <raeburn@gnu.org>
12469
12470 Sound support for NetBSD through "Linux emulation" support:
12471 * config.in (HAVE_SOUNDCARD_H): Undef.
12472 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
12473 * Makefile.in (LIBSOUND): New variable.
12474 (LIBES): Include it.
12475 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
12476 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
12477 (vox_open): Use DEFAULT_SOUND_DEVICE.
12478 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
12479
12480 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12481
12482 * print.c (print_error_message): If Vsignaling_function is set,
12483 show it in *Messages*.
12484
12485 * lisp.h (Vsignaling_function): External declaration.
12486
12487 * eval.c (Vsignaling_function): New variable.
12488 (Fsignal): Compute it.
12489 (syms_of_eval): Staticpro it.
12490
12491 2000-07-05 Dave Love <fx@gnu.org>
12492
12493 * syswait.h: Use the autoconf recommended approach. Old code
12494 #if'd out in case we need to revert.
12495
12496 * config.in (HAVE_SYS_WAIT_H): Added.
12497
12498 2000-07-05 Andrew Innes <andrewi@gnu.org>
12499
12500 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
12501 when non-NULL instead of __morecore, to take account of buffer
12502 memory. This also solves a problem with spurious memory warnings
12503 on Windows.
12504
12505 * ralloc.c: Make real_morecore non-static.
12506
12507 * eval.c (internal_condition_case): Comment out abort if
12508 interrupt_input_blocked is not zero.
12509
12510 * makefile.nt: Add support for `bootstrap' and related targets.
12511 Include minimal debug info in emacs.exe in release build.
12512 Remove all dependencies on lisp.h, and fixup some others.
12513
12514 * w32.c (init_environment): Install code from 20.7 for providing
12515 default values for environment variables, based on the
12516 executable's own location.
12517 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
12518 (sys_socket): Install socket inheritance bug fix from 20.7.
12519
12520 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
12521 here via blockinput.h).
12522
12523 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
12524
12525 * w32menu.c (w32_menu_display_help):
12526 * xmenu.c (menu_help_callback): Use show_help_echo.
12527
12528 * keyboard.h (show_help_echo): Declare.
12529
12530 * keyboard.c (show_help_echo): New function, extracted from read_char.
12531 Feval its `msg' argument if it's a cons cell.
12532 (read_char): Use it.
12533 (follow_key): Pass `autoload' to get_keyelt.
12534
12535 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
12536 (note_tool_bar_highlight, XTread_socket):
12537 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
12538 (dos_rawgetc):
12539 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
12540 (note_tool_bar_highlight, w32_read_socket):
12541 Do not gratuitously ignore non-string `help-echo' properties.
12542
12543 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12544
12545 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
12546
12547 * window.c (delete_all_subwindows): Reset Vwindow_list.
12548
12549 * xterm.c (x_append_glyph, x_append_composite_glyph)
12550 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12551 changes in struct glyph starting 1999-12-27. Some bit-fields of
12552 struct glyph were not set, which made glyphs unequal when compared
12553 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
12554 effects were the result. This also depended on the contents of
12555 memory returned by xmalloc. If flickering happens again, activate
12556 the code in clear_glyph_row that's in #if 0. If the flickering is
12557 gone with that, chances are that it is caused by something similar.
12558
12559 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
12560
12561 * dispextern.h: Add some comments.
12562
12563 * window.c (add_window_to_list): Add parameter LIST.
12564 (window_list): Order list so that, for each frame, windows are
12565 in canonical order, and so that frames appear in the list in
12566 the order given by Vframe_list.
12567 (next_window): Reverse the handling of NEXT_P.
12568
12569 2000-07-04 Gerd Moellmann <gerd@gnu.org>
12570
12571 * window.c (Vwindow_list): New variable.
12572 (make_window, delete_window): Set Vwindow_list to nil.
12573 (check_window_containing): New function.
12574 (window_from_coordinates): Rewritten.
12575 (add_window_to_list, window_list, candidate_window_p)
12576 (decode_next_window_args, next_window): New functions.
12577 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
12578 (Fwindow_list): New function.
12579 (Fother_window): Cleaned up.
12580 (foreach_window): Add a longer "variable argument list". Let
12581 callback function return 0 to indicate that cycling over windows
12582 should stop.
12583 (foreach_window_1): Likewise.
12584 (freeze_window_start): Return int.
12585 (init_window): New function.
12586 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
12587
12588 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
12589 input_event with bzero.
12590 (main): Call init_window.
12591
12592 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
12593 a menu filter.
12594
12595 2000-07-04 Kenichi Handa <handa@etl.go.jp>
12596
12597 * composite.h (make_composition_value_copy): Extern it.
12598
12599 * composite.c (make_composition_value_copy): New function.
12600
12601 * editfns.c (Fformat): While copying text properties, make each
12602 composition property value a copy.
12603
12604 * fns.c (concat): While copying text properties, make each
12605 composition property value a copy.
12606
12607 2000-07-03 Gerd Moellmann <gerd@gnu.org>
12608
12609 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
12610
12611 * fns.c (sweep_weak_table): Mark only objects that are not
12612 marked already.
12613
12614 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
12615 include those frames as candidates which have their focus
12616 redirected to the minibuffer frame.
12617
12618 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
12619
12620 * fns.c (Fputhash): Return `value' rather than nil.
12621
12622 2000-06-30 Gerd Moellmann <gerd@gnu.org>
12623
12624 * frame.c (next_frame): Don't check focus redirection in case
12625 MINIBUF is a window. Doing so excludes frames using MINIBUF
12626 unless their focus is redirected, which contradicts the
12627 specification of next-frame, and leads to infinite loops in
12628 certain situations when cycling through windows with next-window.
12629
12630 2000-06-30 Kenichi Handa <handa@etl.go.jp>
12631
12632 * coding.c (code_convert_region): Even if the length of text is
12633 zero, try to convert it if coding->type is coding_type_ccl.
12634 (decode_coding_string, encode_coding_string): Likewise.
12635
12636 2000-06-28 Gerd Moellmann <gerd@gnu.org>
12637
12638 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
12639 the display if windows_or_buffers_changed.
12640
12641 * dispnew.c (struct row_entry): New structure.
12642 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
12643 (row_table_size, old_lines, new_lines, old_lines_size)
12644 (new_lines_size, run_pool, runs_size, runs): New variables.
12645 (add_row_entry): New function.
12646 (scrolling_window): Use data structures allocated with xmalloc and
12647 held in global variables, instead of allocating them with alloca and
12648 holding them in local variables. Use a larger hash table whose
12649 size depends on glyph matrix sizes. Don't use bzero to clear the
12650 hash table; instead, clear used slots only.
12651
12652 * fns.c (next_almost_prime): Make it externally visible.
12653
12654 * lisp.h (next_almost_prime): Add prototype.
12655
12656 * s/isc4-0.h (sigunblock): Define.
12657
12658 * s/sco5.h (sigunblock): Define.
12659
12660 2000-06-27 Dave Love <fx@gnu.org>
12661
12662 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
12663 (moved to osf5-0.h).
12664 [!NOT_C_CODE]: Protect string.h stuff.
12665
12666 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
12667 (sys_siglist, NSIG): Definitions moved here from osf1.h.
12668
12669 2000-06-27 Gerd Moellmann <gerd@gnu.org>
12670
12671 * xdisp.c (resize_mini_window): Subtract the extra line spacing
12672 below the last line from the needed window height.
12673
12674 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
12675
12676 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
12677 (Fwidget_get): Use it.
12678 (syms_of_fns): Defsubr it.
12679
12680 2000-06-26 Gerd Moellmann <gerd@gnu.org>
12681
12682 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
12683 display info for XIM.
12684 (xim_open_dpy): Likewise.
12685 (xim_close_dpy): Don't free the display info's XIM.
12686
12687 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
12688
12689 * config.in (USE_XIM): New define.
12690
12691 * keymap.c (get_keyelt): For menu-items containing a `:filter
12692 FILTER', apply FILTER to the menu-item's definition to get the
12693 real definition to use.
12694
12695 * lisp.h (QCfilter): External declaration.
12696
12697 * xfns.c (Fimage_size): New function.
12698 (syms_of_xfns): Defsubr it.
12699
12700 2000-06-26 Andreas Schwab <schwab@suse.de>
12701
12702 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
12703 Fstring_as_unibyte.
12704
12705 2000-06-25 Dave Love <fx@gnu.org>
12706
12707 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
12708
12709 * Makefile.in (blockinput.h): Depend on atimer.h.
12710 (atimer.h): Depend on systime.h.
12711
12712 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
12713
12714 * atimer.h: Protect against multiple inclusion. Include systime.h.
12715
12716 * lisp.h (swap_in_global_binding): Declare.
12717
12718 2000-06-24 Ken Raeburn <raeburn@gnu.org>
12719
12720 * process.c (Fopen_network_stream): Turn off atimers for duration
12721 of call to connect. (Patch from Gerd.)
12722
12723 2000-06-23 Dave Love <fx@gnu.org>
12724
12725 * ralloc.c: Maybe include unistd.h
12726
12727 * emacs.c (setgrp): Undefine before defining.
12728 (malloc_warning, set_time_zone_rule, index): Prototype.
12729
12730 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
12731 HAVE_STRUCT_TIMEZONE.
12732
12733 * s/osf1.h: Move string.h hack here from alpha.h and make it
12734 conditional.
12735 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
12736 _XOPEN_SOURCE.
12737 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
12738 (SOCKLEN_TYPE): Don't define.
12739
12740 * m/alpha.h: Remove string.h hack.
12741
12742 * s/osf5-0.h: New file.
12743
12744 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
12745 include time.h, done by systime.h.
12746 [__FreeBSD__]: Remove redundant includes.
12747
12748 * callproc.c (setpgrp): Undefine before defining.
12749 (delete_temp_file): Return Qnil to avoid warning.
12750
12751 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
12752
12753 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
12754 HAVE_X_WINDOWS.
12755
12756 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
12757
12758 * composite.h (compose_text): Declare.
12759
12760 * xterm.c: Don't include sys/types.h unconditionally. Don't
12761 protect its inclusion with !USG (following xmenu.c).
12762
12763 2000-06-23 Gerd Moellmann <gerd@gnu.org>
12764
12765 * xfns.c (x_create_tip_frame): Initialize frame's colors like
12766 in x_create_frame.
12767
12768 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
12769
12770 * coding.c (decode_eol_post_ccl): Special handling for undecided
12771 and inconsistent EOL types.
12772
12773 2000-06-22 Gerd Moellmann <gerd@gnu.org>
12774
12775 * xrdb.c (x_load_resources): Add default resource for scroll bar's
12776 trough color and main window's background color.
12777
12778 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
12779
12780 * xterm.h (Xt_app_con): External declaration.
12781
12782 * widget.c (EmacsFrameRealize): Fix typo.
12783
12784 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
12785
12786 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
12787 (handle_invisible_prop): Record the start of invisible text in
12788 it->add_overlay_start.
12789 (struct overlay_entry): Add member `overlay'.
12790 (handle_overlay_change): Simplify.
12791 (next_overlay_string): After having processed overlay strings at the
12792 end of the buffer, record that fact in
12793 it->overlay_strings_at_end_processed_p.
12794 (compare_overlay_entries): If before- and after-strings come
12795 from the same overlay, let before-strings come first.
12796 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
12797 (load_overlay_strings): Take it->add_overlay_start into account
12798 when adding overlay strings.
12799
12800 * dispextern.h (struct it): Add member add_overlay_start.
12801
12802 2000-06-22 Dave Love <fx@gnu.org>
12803
12804 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
12805
12806 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
12807
12808 2000-06-22 Kenichi Handa <handa@etl.go.jp>
12809
12810 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
12811 is greater than 0.
12812
12813 2000-06-21 Dave Love <fx@gnu.org>
12814
12815 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
12816
12817 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
12818
12819 * syntax.c (back_comment): Simplify string-parity counting (with
12820 the added benefit of handling multiple string-styles as long as
12821 they are not intertwined).
12822 Jump to the slow code as soon as a comment starter is found in
12823 a "string_lossage" position. Fixes the case: " /* " /* " */.
12824
12825 2000-06-21 Dave Love <fx@gnu.org>
12826
12827 * Makefile.in: Use GETLOADAVG_LIBS.
12828
12829 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
12830 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
12831
12832 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12833
12834 * syntax.c (describe_syntax): Recognize the `n'estable bit.
12835 (Fforward_comment, scan_lists):
12836 Check the comstyle of single-char comment-starters.
12837 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
12838 we're just at the beginning of the comment (f.ex with (*) ... (*)).
12839 Check the comstyle of single-char comment-starters.
12840 Clarify control-flow around the Scomment case.
12841
12842 2000-06-20 Dave Love <fx@gnu.org>
12843
12844 * fns.c (make_hash_table, maybe_resize_hash_table):
12845 Cast arg of next_almost_prime.
12846
12847 * tparam.c [emacs]: Include lisp.h.
12848
12849 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
12850 and unistd.h.
12851
12852 2000-06-20 Gerd Moellmann <gerd@gnu.org>
12853
12854 * keyboard.c (adjust_point_for_property): Check if display
12855 property should be treated as intangible by looking at its value.
12856
12857 * xdisp.c (single_display_prop_intangible_p)
12858 (display_prop_intangible_p): New functions.
12859
12860 * dispextern.h (display_prop_intangible_p): Add prototype.
12861
12862 * xdisp.c (dump_glyph_row): Show type of glyph->object.
12863
12864 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
12865 argument to sigprocmask.
12866
12867 * s/sco5.h (sigblock): Redefined to pass a pointer as second
12868 argument to sigprocmask.
12869
12870 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
12871 sigprocmask_set, and pass a pointer to it to sigprocmask.
12872
12873 * sysdep.c (sigprocmask_set): New variable.
12874
12875 * fileio.c (make_temp_name): Don't use `%s' in string passed to
12876 report_file_error.
12877
12878 2000-06-20 Sam Steingold <sds@gnu.org>
12879
12880 * xrdb.c: Don't declare xmalloc, xrealloc.
12881
12882 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12883
12884 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
12885 (re_comp): Cast gettext return value to avoid complaints when
12886 !HAVE_LIBINTL.
12887
12888 2000-06-20 Dave Love <fx@gnu.org>
12889
12890 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
12891
12892 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
12893
12894 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
12895
12896 * m/alpha.h: Don't declare xmalloc, xrealloc.
12897
12898 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
12899
12900 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
12901
12902 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
12903
12904 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
12905 HAVE_GETWD.
12906
12907 * keyboard.h (poll_for_input_1): Declare.
12908
12909 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
12910
12911 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
12912
12913 * doprnt.c: Don't declare xmalloc, xrealloc.
12914
12915 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
12916 (getenv, ctime, getwd): Removed.
12917 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
12918
12919 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
12920 x_set_tool_bar_lines.
12921
12922 * config.in: Add HAVE_GETWD. Move some definitions above
12923 machine/system includes.
12924
12925 2000-06-20 Kenichi Handa <handa@etl.go.jp>
12926
12927 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
12928
12929 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
12930 contain information about ENCODING.
12931
12932 * fontset.c (FONTSET_ASCII): Use the first element of char table
12933 for an ASCII font, not defalt slot.
12934 (fontset_ref_via_base): If FONTSET doesn't contain information for
12935 C, try the default fontset.
12936 (make_fontset): Don't copy the default fontset.
12937 (fontset_font_pattern): Likewise.
12938 (accumulate_font_info): If ELT is nil, use the corresponding
12939 element in the default fontset.
12940
12941 2000-06-19 Dave Love <fx@gnu.org>
12942
12943 * syntax.c (Fparse_partial_sexp): Doc fix.
12944
12945 * regex.h: Test PROTOTYPES as well as __STDC__.
12946
12947 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
12948 errno, strerror. Put text after #endif in comment.
12949
12950 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
12951
12952 * xterm.c (x_frame_of_widget): Likewise.
12953
12954 2000-06-19 Gerd Moellmann <gerd@gnu.org>
12955
12956 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
12957 to Vfundamental_mode_abbrev_table.
12958
12959 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
12960 bogus objects are marked. This slows down GC by ~80 percent, but
12961 it might be worth trying when debugging GC-related problems.
12962 This feature requires conservative stack marking to be enabled.
12963
12964 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
12965 returns XLookupChars, reset `modifiers' to zero.
12966
12967 2000-06-19 Dave Love <fx@gnu.org>
12968
12969 * mktime.c: Unprotoized.
12970
12971 2000-06-19 Richard Stallman <rms@gnu.org>
12972
12973 * data.c (set_internal): If variable is frame-local,
12974 store the new value immediately into the frame parameter alist.
12975
12976 2000-06-19 Ken Raeburn <raeburn@gnu.org>
12977
12978 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
12979 in the custom handler pointer.
12980
12981 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
12982 value, or checks for CHAR_META can fail when Lisp_Object is a
12983 union type.
12984 * keymap.c (get_keyelt): Likewise.
12985
12986 2000-06-19 Kenichi Handa <handa@etl.go.jp>
12987
12988 * ccl.h (struct ccl_program): New member eol_type.
12989 (struct ccl_spec): New member cr_carryover.
12990
12991 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
12992 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
12993
12994 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
12995 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
12996 (decode_eol_post_ccl): New function.
12997 (decode_coding): Don't detect EOL format here for CCL based coding
12998 systems.
12999 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
13000 decode_eol_post_ccl after running the CCL program.
13001 (code_convert_region): Don't detect EOL format here for CCL based
13002 coding systems.
13003 (decode_coding_string): Likewise.
13004
13005 2000-06-18 Ken Raeburn <raeburn@gnu.org>
13006
13007 * charset.c (update_charset_table): Use XINT on "iso_final_char"
13008 when treating it as an integer.
13009
13010 * coding.h (encode_coding_string): Declare.
13011
13012 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
13013 it as an integer.
13014
13015 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
13016 "xkeymap" to avoid shadowing the "enum map_type" value that needs
13017 to be passed to get_local_map.
13018
13019 * sound.c (Fplay_sound): Don't call make_number on
13020 Frun_hook_with_args count argument.
13021
13022 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
13023 for lisp objects in X event structure data field, when lisp
13024 objects are represented with unions.
13025 (x_scroll_bar_to_input_event): Ditto.
13026
13027 2000-06-16 Ken Raeburn <raeburn@gnu.org>
13028
13029 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
13030 termination of string. Fix sense of test whether
13031 Vline_number_display_limit is an integer.
13032
13033 2000-06-16 Gerd Moellmann <gerd@gnu.org>
13034
13035 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
13036 only if HAVE_X_WINDOWS.
13037
13038 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
13039 of titles.
13040
13041 * dispnew.c (update_frame_1): Handle case that cursor vpos is
13042 out of bounds.
13043
13044 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
13045
13046 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
13047 of its headers.
13048
13049 2000-06-15 Kenichi Handa <handa@etl.go.jp>
13050
13051 * coding.c (decode_coding_emacs_mule): Always set src_base at the
13052 start of the while loop.
13053
13054 2000-06-15 Gerd Moellmann <gerd@gnu.org>
13055
13056 * atimer.c (alarm_signal_handler): Add forward declaration.
13057
13058 * data.c (set_internal): Remove debug code.
13059
13060 2000-06-14 Gerd Moellmann <gerd@gnu.org>
13061
13062 * Makefile.in (bootstrap-temacs): Add `-I../src'.
13063
13064 * unexec.c (toplevel) [COFF]: Include coff.h.
13065
13066 * s/lynxos.h: New file.
13067
13068 * keymap.c (Fsingle_key_description): Enclose function key and
13069 event symbol names in angle brackets.
13070
13071 * xdisp.c (setup_echo_area_for_printing): Call
13072 message_log_maybe_newline if message_buf_print is not set.
13073
13074 * print.c (printchar, strout): Don't check message_buf_print
13075 before calling setup_echo_area_for_printing because that
13076 function does something useful even when message_buf_print is
13077 already set.
13078
13079 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
13080 New variables.
13081 (ensure_echo_area_buffers): Initialize echo buffer's
13082 truncate lines setting to nil.
13083 (with_echo_area_buffer): Don't set the echo buffer's truncate
13084 lines setting here.
13085 (set_message_1): Set it here instead, based on the value
13086 of message_truncate_lines.
13087 (resize_mini_window): Handle case that lines are truncated.
13088 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
13089 DEFVAR_BOOL message-truncate-lines.
13090
13091 * keyboard.c (read_char): Bind message-truncate-lines to t
13092 while displaying a help-echo.
13093
13094 * lisp.h (Qmessage_truncate_lines): External declaration.
13095
13096 2000-06-13 Gerd Moellmann <gerd@gnu.org>
13097
13098 * xdisp.c (Vline_number_display_limit): Renamed from
13099 line_number_display_limit.
13100 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
13101 Extend documentation string. Initialize
13102 Vline_number_display_limit to nil meaning no limit.
13103 (decode_mode_spec): Use Vline_number_display_limit with its new
13104 meaning.
13105
13106 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
13107
13108 2000-06-13 Richard Stallman <rms@gnu.org>
13109
13110 * frame.c (Fmodify_frame_parameters): Doc fix.
13111
13112 * xfns.c (x_set_frame_parameters): Comment fix.
13113
13114 * frame.c (store_frame_param): Call swap_in_global_binding if the
13115 variable's current binding was chosen based on this frame.
13116
13117 * data.c (swap_in_global_binding): New function.
13118
13119 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
13120
13121 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
13122 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
13123
13124 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
13125
13126 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
13127
13128 2000-06-12 Jason Rumney <jasonr@gnu.org>
13129
13130 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
13131
13132 * w32.h (EMACS_W32_H): Renamed from _NT_H_
13133
13134 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
13135
13136 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
13137
13138 2000-06-12 Gerd Moellmann <gerd@gnu.org>
13139
13140 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
13141 (syms_of_xfaces): Defsubr Sdump_colors.
13142 (x_free_colors): Don't treat b&w specially on default visual.
13143 (x_free_dpy_colors): New function.
13144 (free_face_colors): Don't check visual class; it's done
13145 in x_free_colors.
13146
13147 * xterm.c (x_frame_of_widget): New function.
13148 (x_alloc_nearest_color_for_widget): Use it.
13149 (x_copy_dpy_color): New function.
13150 (x_destroy_window): Free various colors.
13151
13152 2000-06-12 Kenichi Handa <handa@etl.go.jp>
13153
13154 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
13155
13156 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
13157
13158 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
13159
13160 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
13161
13162 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
13163
13164 2000-06-11 Dave Love <fx@gnu.org>
13165
13166 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
13167
13168 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
13169
13170 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
13171
13172 2000-06-11 Gerd Moellmann <gerd@gnu.org>
13173
13174 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
13175 to `XEvent *'.
13176
13177 2000-06-10 Kenichi Handa <handa@etl.go.jp>
13178
13179 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
13180 (regex_compile): Fix the code for handling the case of single byte
13181 char and multibyte char being mixed in a range within [...].
13182
13183 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
13184 and dst_multibyte members of coding.
13185
13186 * charset.c (update_charset_table): Update the table
13187 bytes_by_char_head.
13188 (init_charset_once): Initialize elements of bytes_by_char_head to
13189 1 except for leading codes for private charases.
13190
13191 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
13192 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
13193
13194 2000-06-09 Ken Raeburn <raeburn@gnu.org>
13195
13196 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
13197 access the data it doesn't point to.
13198
13199 2000-06-08 Gerd Moellmann <gerd@gnu.org>
13200
13201 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
13202 will be translated to a switch-frame event when reading the
13203 event queue. This is necessary because Emacs otherwise won't
13204 perform a switch-frame to a new frame until some other event, for
13205 example a keystroke event, forces it to do so. This has various
13206 effects, one visible being that the cursor of a frame created with
13207 C-x 5 2 or switched to with a window manager key binding like
13208 A-TAB stays hollow because selected_window isn't on the newly
13209 focused frame until the switch-frame is performed.
13210
13211 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
13212 generating a switch-frame event if necessary.
13213
13214 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
13215
13216 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
13217 it's an integer.
13218
13219 2000-06-08 Kenichi Handa <handa@etl.go.jp>
13220
13221 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
13222
13223 2000-06-07 Gerd Moellmann <gerd@gnu.org>
13224
13225 * window.c (displayed_window_lines): Take empty lines at
13226 the bottom of a window into account.
13227
13228 * window.c (displayed_window_lines): New function.
13229 (Fmove_to_window_line): Use displayed_window_lines to determine
13230 the number of lines to move, instead of using the window's height.
13231
13232 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
13233 to stop reading, even if the form read sets point to a different
13234 value when evaluated.
13235
13236 * xdisp.c (display_line): Fix code deciding in which line to
13237 put the cursor.
13238
13239 2000-06-07 Kenichi Handa <handa@etl.go.jp>
13240
13241 * fileio.c (e_write): Free composition data if stored in
13242 coding->cmp_data.
13243
13244 2000-06-06 Gerd Moellmann <gerd@gnu.org>
13245
13246 * xdisp.c (display_line): Set row's and iterator's
13247 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
13248 Set cursor even if row ends in the middle of a character.
13249 (dump_glyph_row): Print values of new flags.
13250 (redisplay_window) <cursor movement in unchanged window>: When
13251 point has been moved forward, and PT is at the end of the cursor
13252 row, don't place the cursor in the next row if the cursor row ends
13253 in the middle of a character or at ZV.
13254
13255 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
13256 (struct glyph_row): Add starts_in_middle_of_char_p and
13257 ends_in_middle_of_char_p.
13258 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
13259 ends_in_middle_of_char_p flag.
13260 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
13261
13262 * term.c (append_glyph): Revert change of 2000-06-06.
13263
13264 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
13265 padding glyph not fitting on line as whole character not
13266 fitting on line.
13267
13268 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
13269 this isn't true for images with `:ascent 100'.
13270
13271 2000-06-06 Kenichi Handa <handa@etl.go.jp>
13272
13273 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
13274 as modified if it is originally unmodified.
13275
13276 * term.c (encode_terminal_code): Change the way to check if
13277 terminal coding does any conversion.
13278 (append_glyph): Set glyph->pixel_width correctly.
13279
13280 * xdisp.c (display_line): While checking line continuation, pay
13281 attention to a padding glyph.
13282
13283 2000-06-05 Gerd Moellmann <gerd@gnu.org>
13284
13285 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
13286
13287 2000-06-05 Dave Love <fx@gnu.org>
13288
13289 * xdisp.c: Include fontset.h.
13290
13291 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
13292
13293 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
13294
13295 * dispnew.c: Conditionally include term.h.
13296
13297 * coding.h: Declare code_convert_string_norecord.
13298
13299 * frame.h (struct frame): Use volatile unconditionally.
13300
13301 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
13302
13303 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
13304
13305 * systime.h: Protect against multiple inclusion.
13306 (timezone) [USG5_4]: Define as time_t.
13307
13308 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
13309 (Foptimize_char_table, make_temp_name): Declare.
13310
13311 * Makefile.in (xdisp.o): Depend on fontset.h.
13312
13313 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
13314
13315 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
13316 (Foptimize_char_table, make_temp_name): Declare.
13317
13318 * s/irix4-0.h:
13319 * s/irix5-0.h:
13320 * s/netbsd.h: Don't define autoconfiscated MATHERR.
13321
13322 2000-06-02 Dave Love <fx@gnu.org>
13323
13324 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
13325
13326 2000-06-02 Gerd Moellmann <gerd@gnu.org>
13327
13328 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
13329 result face, set flags in that face indicating that colors may not
13330 be freed.
13331
13332 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
13333 glyph, use the ASCII NUL character to determine the face.
13334
13335 2000-06-02 Dave Love <fx@gnu.org>
13336
13337 * sysdep.c: Conditionally include stdlib.h, unistd.h.
13338 (VFORK_RETURN_TYPE): Remove.
13339
13340 * config.in: Add NO_MATHERR.
13341
13342 2000-06-01 Dave Love <fx@gnu.org>
13343
13344 * cmds.c (internal_self_insert): Don't check
13345 Vbefore_change_function, Vafter_change_function.
13346
13347 * insdel.c (signal_before_change, signal_after_change): Likewise.
13348
13349 * buffer.c (Vbefore_change_function, Vafter_change_function):
13350 Variables and their initializations deleted.
13351
13352 * callint.c (Fcall_interactively): Doc fix.
13353
13354 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
13355
13356 2000-05-31 Dave Love <fx@gnu.org>
13357
13358 * textprop.c: Revert last change -- duplicated.
13359
13360 2000-05-31 Gerd Moellmann <gerd@gnu.org>
13361
13362 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
13363 in #if 0.
13364
13365 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
13366
13367 2000-05-31 Jason Rumney <jasonr@gnu.org>
13368
13369 * search.c (Fre_search_forward, Fre_search_backward)
13370 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
13371
13372 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
13373
13374 2000-05-30 Jason Rumney <jasonr@gnu.org>
13375
13376 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
13377 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
13378
13379 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
13380
13381 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
13382 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
13383 expand a nil default_filename.
13384
13385 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
13386 pointer to glyph_to_pixel_coords, not a frame.
13387
13388 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
13389 coding.h to dependencies.
13390
13391 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
13392
13393 * w32console.c (glyph_to_pixel_coords): Change first parameter to
13394 window pointer to be consistent with w32term.c and xterm.c.
13395
13396 * w32fns.c: Format and doc changes to bring closer to xfns.c.
13397 (VIETNAMESE_CHARSET): Define if not defined in system headers.
13398 (Qline_spacing, Qcenter): New variables.
13399 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
13400 (x_set_line_spacing): New function.
13401 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
13402 (x_specified_cursor_type): New function.
13403 (x_set_cursor_type): Use it.
13404 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
13405 and icon strings.
13406 (validate_x_resource_name, x_get_resource_string): Measure lengths
13407 of external strings in bytes.
13408 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
13409 GetTextExtentPoint32 with NULL title.
13410 (Fx_create_frame): Initialize Qline_spacing.
13411 (w32_load_system_font): Initialize font->double_byte_p.
13412 (x_to_w32_charset): Use Vw32_charset_info_alist.
13413 (Image, busy cursor, tooltip functions): Merged changes from
13414 xfns.c. Not yet functional on Windows.
13415
13416 * w32gui.h (W32FontStruct): Add double_byte_p member.
13417
13418 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
13419 (emacs_button_translation): Use it.
13420 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
13421 in `mask' to be set.
13422
13423 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
13424 menu strings.
13425
13426 * w32term.c: Format and doc changes to bring closer to xterm.c.
13427 (w32_char_font_type): New enum.
13428 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
13429 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
13430 (w32_encode_char): New function.
13431 (x_encode_char): Removed.
13432 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
13433 x_encode_char and w32_font_is_double_byte.
13434 (x_produce_image_glyph): Use image_ascent.
13435 (x_produce_glyphs): Use new version of w32_per_char_metric and
13436 handle NULL return value. Allow extra line spacing.
13437 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
13438 (w32_get_glyph_overhangs): Remove unicode_p param. Use
13439 w32_font_type member of glyph instead.
13440 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
13441 (fast_find_position): Make sure not to consider rows not visible
13442 in the window.
13443 (w32_read_socket) [WM_MENUSELECT]: Cannot call
13444 w32_menu_display_help with input blocked, as it can abort.
13445 (x_display_and_set_cursor): Choose cursor depending
13446 on buffer-local value of cursor_type.
13447 (x_draw_bar_cursor): Add parameter WIDTH.
13448
13449 * w32term.h (CP_DEFAULT): Define.
13450 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
13451
13452 2000-05-30 Gerd Moellmann <gerd@gnu.org>
13453
13454 * search.c (Fre_search_forward, Fre_search_backward)
13455 (Fposix_search_backward, Fposix_search_forward): Doc fix.
13456
13457 2000-05-30 Kenichi Handa <handa@etl.go.jp>
13458
13459 * coding.c (detect_coding_iso2022): Fix code for checking
13460 CODING_CATEGORY_MASK_ISO_8_2.
13461
13462 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
13463
13464 * regex.c (PREFETCH_NOLIMIT): New function.
13465 (re_match_2_internal): Use it and adjust the end_match_2 logic.
13466
13467 2000-05-29 Gerd Moellmann <gerd@gnu.org>
13468
13469 * syntax.c (find_defun_start): Move test for
13470 open_paren_in_column_0_is_defun_start outside of the loop.
13471
13472 * xdisp.c (redisplay_window): Really switch buffers when
13473 displaying mode lines, and temporarily set selected_frame to the
13474 frame of the window that's redisplayed.
13475
13476 * xfaces.c (free_realized_faces): Block/unblock input.
13477 (free_realized_multibyte_face): Ditto.
13478
13479 2000-05-29 Dave Love <fx@gnu.org>
13480
13481 * textprop.c (Qkeymap): New variable.
13482 (syms_of_textprop): Intern it.
13483
13484 * keymap.c: Include intervals.h.
13485 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
13486
13487 * Makefile.in (keymap.o): Depend on intervals.h.
13488
13489 * keyboard.c (menu_bar_items, tool_bar_items)
13490 (Fexecute_extended_command): Deal with `keymap' property.
13491 (read_key_sequence): Track map from `keymap' property as well as
13492 `local_map'.
13493
13494 * intervals.c (get_local_map): Extra arg to allow looking for
13495 `keymap' too.
13496
13497 * intervals.h (map_property): New enum.
13498 (get_local_map): Extra arg using it.
13499 (Qkeymap): Declare.
13500
13501 * lisp.h (get_local_map): Don't declare here.
13502
13503 2000-05-29 Kenichi Handa <handa@etl.go.jp>
13504
13505 * Makefile.in (callproc.o): Depend on composite.h.
13506
13507 * callproc.c: Include composite.h.
13508 (Fcall_process): Handle composition correctly.
13509
13510 * coding.h (coding_allocate_composition_data): Extern it.
13511 (coding_restore_composition): Likewise.
13512
13513 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
13514 yet allocated, finish decoding with result
13515 CODING_FINISH_INSUFFICIENT_CMP.
13516 (coding_allocate_composition_data): Make it non-static.
13517 (coding_restore_composition): Likewise.
13518
13519 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
13520
13521 * charset.c (syms_of_charset): Revert last change.
13522
13523 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13524
13525 * term.c (produce_glyphs): Treat characters from the eight-bit-*
13526 charsets as unibyte, with 1-column screen width. Sent by Kenichi
13527 Handa.
13528
13529 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13530
13531 * charset.c (syms_of_charset): Set width of character sets
13532 eight-bit-control and eight-bit-graphic to 1 column.
13533
13534 2000-05-26 Gerd Moellmann <gerd@gnu.org>
13535
13536 * config.in (HAVE_SPEED_T): New define.
13537
13538 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
13539 `extern speed_t'.
13540
13541 2000-05-26 Dave Love <fx@gnu.org>
13542
13543 * coding.c (shrink_decoding_region): Initialize eol_conversion.
13544
13545 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
13546 (Fsubr_arity): New function.
13547 (syms_of_data): Install them.
13548
13549 2000-05-26 Kenichi Handa <handa@etl.go.jp>
13550
13551 * charset.c (init_charset_once): Set the table bytes_by_char_head
13552 correctly.
13553
13554 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
13555 the default fontset to what Emacs uses by default.
13556 (check_registry_encoding): This function deleted.
13557 (Fset_fontset_font): Remove the adhoc condition for the default
13558 fontset. Allow cons in FONTNAME.
13559
13560 * fns.c (map_char_table): Ignore char-table entries for
13561 charsets eight-bit-control and eight-bit-graphic.
13562
13563 2000-05-25 Ken Raeburn <raeburn@gnu.org>
13564
13565 * emacs.c (main): Initialize keyboard syms before initializing
13566 window code, so face names are available.
13567
13568 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
13569
13570 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
13571 of an anchor at the beginning of a shy-group.
13572
13573 2000-05-25 Gerd Moellmann <gerd@gnu.org>
13574
13575 * xdisp.c (handle_invisible_prop): Don't try to skip over
13576 invisible text if end of text is already reached.
13577
13578 2000-05-25 Dave Love <fx@gnu.org>
13579
13580 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
13581
13582 * coding.c (encode_eol): Add null statement after label.
13583
13584 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
13585
13586 * w16select.c (Fw16_set_clipboard_data): Fix the change from
13587 2000-05-20.
13588
13589 2000-05-25 Kenichi Handa <handa@etl.go.jp>
13590
13591 * ccl.c (ccl_driver): Fix previous change.
13592
13593 2000-05-25 Kenichi Handa <handa@etl.go.jp>
13594
13595 * coding.c (run_pre_post_conversion_on_str): Set point to the
13596 beginning of buffer before calling coding->post_read_conversion.
13597 (decode_coding_string): Give correct args to
13598 run_pre_post_conversion_on_str.
13599 (encode_coding_string): Likewise.
13600
13601 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
13602 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
13603 eight-bit-graphic correctly.
13604
13605 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
13606
13607 * fileio.c (Finsert_file_contents): Even if a file is not found,
13608 execute codes for setting up coding system. Call
13609 after-insert-file-functions unconditionally.
13610
13611 2000-05-24 Gerd Moellmann <gerd@gnu.org>
13612
13613 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
13614 BSD_PGRPS are not defined.
13615
13616 2000-05-24 Kenichi Handa <handa@etl.go.jp>
13617
13618 * charset.c (update_charset_table): Accept nil in LONG_NAME and
13619 DESCRIPTION.
13620 (syms_of_charset): Avoid building same strings.
13621
13622 2000-05-23 Gerd Moellmann <gerd@gnu.org>
13623
13624 * lread.c (Fload): Add a comment about the meaning of
13625 Vuser_init_file being t.
13626
13627 * puresize.h (BASE_PURESIZE): Increase to 675000.
13628
13629 * s/gnu-linux.h (setpgrp): Don't define it here because this
13630 prevents compilation on GNU/Linux systems with glib 2.2.
13631
13632 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
13633 as setpgid.
13634
13635 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
13636
13637 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
13638 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
13639 version.
13640 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
13641
13642 2000-05-23 Kenichi Handa <handa@etl.go.jp>
13643
13644 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13645
13646 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
13647
13648 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
13649
13650 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
13651
13652 2000-05-22 Kenichi Handa <handa@etl.go.jp>
13653
13654 * keyboard.c (read_char): Allow character codes 128..255 to be
13655 handled by input-method-function.
13656
13657 * insdel.c (adjust_markers_for_replace): Fix previous change.
13658 (adjust_after_replace): If PREV_TEXT is nil, call
13659 adjust_markers_for_insert, not adjust_markers_for_replace.
13660
13661 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
13662
13663 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
13664 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
13665 [HAVE_GRANDPT]: Define.
13666 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
13667
13668 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
13669 like SYSV_PTYS.
13670
13671 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
13672
13673 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
13674
13675 2000-05-20 Kenichi Handa <handa@etl.go.jp>
13676
13677 The following changes are to handle 8-bit characters in a
13678 multibyte buffer/string without facing with byte combining
13679 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
13680 eight-bit-graphic (for 0xA0..0xFF) are introduced.
13681
13682 * Makefile.in (fns.o): Depend on charset.h.
13683
13684 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
13685 convert it to unibyte.
13686 (make_string): Use parse_str_as_multibyte, not chars_in_text.
13687
13688 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
13689 apparent char boundary.
13690 (Fset_buffer_multibyte): Convert 8-bit characters in the range
13691 0x80..0x9F to/from multibyte form.
13692
13693 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
13694 to unibyte.
13695
13696 * callproc.c (Fcall_process): Always encode an argument string if
13697 it is multibyte. Setup src_multibyte and dst_multibyte members of
13698 process_coding properly.
13699
13700 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
13701 SPLIT_NON_ASCII_CHAR.
13702
13703 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
13704 as is.
13705 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
13706
13707 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
13708 (SPLIT_CHARACTER_SEQ): This macro deleted.
13709 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
13710 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
13711 and eight-bit-graphic.
13712 (char_to_string): Likewise. Signal an error for too large
13713 character code.
13714 (char_printable_p): Return 0 for 8-bit characters.
13715 (update_charset_table): Update iso_charset_table only when a final
13716 character is non-negative.
13717 (find_charset_in_text): Renamed from find_charset_in_str.
13718 Arguments and return value changed. Callers changed.
13719 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
13720 be -1 if CHARSET is used only internally.
13721 (Fmake_char_internal): Handle new charsets; eight-bit-control and
13722 eight-bit-graphic.
13723 (Fcharset_after): Simplified.
13724 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
13725 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
13726 (multibyte_chars_in_text): Simplified by assuming there's no
13727 invalid multibyte sequence.
13728 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13729 (str_as_unibyte): New functions.
13730 (Fstring): Simpified by assuming that byte combining never happens.
13731 (init_charset_once): Initialization for
13732 LEADING_CODE_8_BIT_CONTROL.
13733 (syms_of_charset): Intern and staticpro Qeight_bit_control and
13734 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
13735 eight-bit-control and eight-bit-graphic.
13736
13737 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
13738 (CHARSET_8_BIT_GRAPHIC): New macros.
13739 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
13740 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
13741 (CHARSET_REVERSE_CHARSET): Likewise.
13742 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
13743 eight-bit-graphic.
13744 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
13745 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
13746 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
13747 encounter an invalid multibyte sequence.
13748 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
13749 sequence is always valid.
13750 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
13751 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
13752 (CHAR_STRING): For 8-bit characters, call char_to_string.
13753 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
13754 multibyte sequence is always valid.
13755 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
13756 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13757 (str_as_unibyte): Extern them.
13758 (BCOPY_SHORT): Fix a bug.
13759 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
13760 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
13761 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
13762 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
13763
13764 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
13765 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
13766 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
13767 (EMIT_BYTES): New macros.
13768 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
13769 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
13770 macros deleted.
13771 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
13772 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
13773 check the validity of multibyte sequence.
13774 (decode_coding_emacs_mule): New function.
13775 (encode_coding_emacs_mule): New macro.
13776 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
13777 the source.
13778 (DECODE_ISO_CHARACTER): Just return a character code.
13779 (DECODE_COMPOSITION_START): Set coding->result instead of result.
13780 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
13781 EMIT_CHAR to produced decoded characters. Exit the loop only by
13782 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
13783 block here.
13784 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
13785 only position codes for an invalid character.
13786 (encode_designation_at_bol): Return new destination pointer. 5th
13787 arg DSTP is changed to DST.
13788 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
13789 from the source by ONE_MORE_CHAR. Don't handle the case of last
13790 block here.
13791 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
13792 macros deleted.
13793 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
13794 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
13795 TWO_MORE_BYTES to fetch a byte from the source.
13796 (encode_eol): Pay attention to coding->src_multibyte.
13797 (detect_coding, detect_eol): Preserve members src_multibyte and
13798 dst_multibyte.
13799 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
13800 (encoding_buffer_size): Set magnification to 3 for all coding
13801 systems that require encoding.
13802 (ccl_coding_driver): For decoding, be sure that the result is
13803 valid multibyte sequence.
13804 (decode_coding): Initialize coding->errors and coding->result.
13805 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
13806 and raw-text, always call decode_eol. Handle the case of last
13807 block here. If not coding->dst_multibyte, convert the resulting
13808 sequence to unibyte.
13809 (encode_coding): Initialize coding->errors and coding->result.
13810 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
13811 and raw-text, always call encode_eol. Handle the case of last
13812 block here.
13813 (shrink_decoding_region, shrink_encoding_region): Detect cases
13814 that we can't skip data more rigidly.
13815 (code_convert_region): Setup src_multibyte and dst_multibyte
13816 members of coding. For decoding, if the buffer is multibyte,
13817 convert the source sequence to unibyte in advance. For encoding,
13818 if the buffer is multibyte, convert the resulting sequence to
13819 multibyte afterward.
13820 (run_pre_post_conversion_on_str): New function.
13821 (code_convert_string): Deleted and divided into the following two.
13822 (decode_coding_string, encode_coding_string): New functions.
13823 (code_convert_string1, code_convert_string_norecord): Call one of
13824 above.
13825 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
13826 MAKE_NON_ASCII_CHAR.
13827 (Fset_terminal_coding_system_internal)
13828 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
13829 and dst_multibyte members.
13830 (init_coding_once): Initialize iso_code_class with new enum
13831 ISO_control_0 and ISO_control_1.
13832
13833 * coding.h (enum iso_code_class_type): Member ISO_control_code is
13834 devided into ISO_control_0 and ISO_control_1.
13835 (struct coding_system): New members src_multibyte, dst_multibyte,
13836 errors, and result. Delete member fake_multibyte.
13837 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
13838 nonzero.
13839 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
13840 nonzero.
13841
13842 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13843 (Faset): Likewise.
13844
13845 * editfns.c (Fformat): Be sure to convert 8-bit characters to
13846 multibyte form.
13847 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
13848 combining occurs.
13849 (Ftranspose_region): Delete codes for handling byte combining.
13850
13851 * fileio.c (Finsert_file_contents): Setup src_multibyte and
13852 dst_multibyte members of coding. On handling REPLACE on unibyte
13853 buffer, convert the result of decode_coding to unibyte. On
13854 inserting into a mutibyte buffer, always call code_convert_region.
13855 (e_write): Setup coding->src_multibyte according to the
13856 multibyteness of the source (buffer or string).
13857
13858 * fns.c (concat): Handle 8-bit characters correctly.
13859 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
13860 unibyte in the result.
13861 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
13862 valid multibyte form in the result.
13863 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13864 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
13865 return -1, signal an error.
13866 (base64_encode_1): New arg MULTIBYTE. Get each character by
13867 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
13868 character is found, return -1.
13869 (Fbase64_decode_region): Delete codes for handling byte-combining.
13870 Treat each decoded byte as a unibyte character.
13871 (Fbase64_decode_string): Return unibyte string.
13872 (Fcompare_strings, concat, string_byte_to_char): Use
13873 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
13874 FETCH_STRING_CHAR_ADVANCE.
13875 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13876 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
13877
13878 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
13879 SPLIT_NON_ASCII_CHAR.
13880 (fontset_ref_via_base, fontset_set): Likewise
13881
13882 * insdel.c (adjust_markers_for_record_delete): Deleted.
13883 (adjust_markers_for_insert): Argument changed. Caller changed.
13884 (adjust_markers_for_replace): Likewise.
13885 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
13886 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
13887 (copy_text): Delete unused local varialbe c_save. For converting
13888 to multibyte, be sure to make all 8-bit characters in valid
13889 multibyte form.
13890 (count_size_as_multibyte): Handle 8-bit characters correctly.
13891 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13892 (adjust_after_replace, replace_range, del_range_2)
13893 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
13894 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13895 (adjust_after_replace, replace_range, del_range_2) Delete codes for
13896 handling byte combining.
13897 (adjust_before_replace): Deleted.
13898
13899 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
13900 SPLIT_NON_ASCII_CHAR.
13901 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13902 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13903 (Fkey_description): Likewise.
13904
13905 * lread.c (read1): On reading multibyte string, be sure to make
13906 all 8-bit chararacters in valid multibyte form.
13907 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13908
13909 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
13910 unconditionally.
13911
13912 * process.c (Fstart_process): GCPRO current_dir before calling
13913 Ffind_operation_coding_system. Encode arguments here.
13914 (create_process): Don't encode arguments here. Setup
13915 src_multibyte and dst_multibyte members of struct coding.
13916 (read_process_output): Setup src_multibyte and dst_multibyte
13917 members of struct coding. If the output is to multibyte buffer,
13918 always decode the output of the process. Adjust the
13919 representation of 8-bit characters to the multibyteness of the output.
13920 (send_process): Setup coding->src_multibyte according to the
13921 multibyteness of the source.
13922
13923 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13924 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
13925 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
13926
13927 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
13928
13929 * w16select.c (Fw16_set_clipboard_data): Setup members
13930 src_multibyte and dst_multibyte of coding. Adjusted for the
13931 change for find_charset_in_str.
13932 (Fw16_get_clipboard_data): Likewise.
13933
13934 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
13935 dst_multibyte of coding.
13936 (x_to_w32_font): Likewise.
13937
13938 * w32select.c (Fw32_set_clipboard_data): Setup members
13939 src_multibyte and dst_multibyte of coding. Adjusted for the
13940 change for find_charset_in_str.
13941 (Fw32_get_clipboard_data): Likewise.
13942
13943 * xdisp.c (get_next_display_element): Handle 8-bit characters
13944 correctly.
13945 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
13946 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13947
13948 * xselect.c (selection_data_to_lisp_data): Setup members
13949 src_multibyte and dst_multibyte of coding. Adjusted for the
13950 change for find_charset_in_str.
13951 (lisp_data_to_selection_data): Likewise.
13952
13953 2000-05-19 Gerd Moellmann <gerd@gnu.org>
13954
13955 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
13956
13957 * dispextern.h (Vimage_types): Add extern declaration.
13958
13959 * xdisp.c (Vimage_types): Moved here from xfns.c.
13960 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
13961
13962 * xfns.c (Vimages_types): Moved to xdisp.c.
13963 (syms_of_xfns): Move `image-types' to xdisp.c.
13964
13965 * w32fns.c (Vimage_types): Removed.
13966 (syms_of_w32fns): Remove `image-types'.
13967
13968 2000-05-18 Kenichi Handa <handa@etl.go.jp>
13969
13970 * fns.c (map_char_table): Pay attention to character number of
13971 charset. Check the validity of charset at the first level. For
13972 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
13973 the default value.
13974
13975 * fontset.c: Include "buffer.h".
13976 (fs_load_font): If the face has fontset, record the face ID in
13977 that fontset.
13978 (Finternal_char_font): New function.
13979 (accumulate_font_info): New function.
13980 (Ffontset_info): Rewritten for the new fontset implementation.
13981 (syms_of_fontset): Register Vdefault_fontset in the first element
13982 of Vfontset_table. Include Vdefault_fontset in
13983 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
13984 function.
13985
13986 2000-05-16 Dave Love <fx@gnu.org>
13987
13988 * m/iris5d.h: Deleted -- unused.
13989
13990 2000-05-16 Gerd Moellmann <gerd@gnu.org>
13991
13992 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
13993 `invalid' instead of `illegal'.
13994
13995 * indent.c (Fmove_to_column): When ending within a tab, insert
13996 spaces first so that markers at the end of the tab get adjusted.
13997
13998 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
13999 buffer list that wasn't selected in that frame.
14000
14001 * filelock.c (get_boot_time): To obtain an 8 char file name, which
14002 is needed on mescaline, use a 2 char prefix, and call
14003 make_temp_name with second arg non-zero.
14004
14005 * fileio.c (make_temp_name): New function, extracted from
14006 Fmake_temp_name.
14007 (Fmake_temp_name): Use it.
14008
14009 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
14010
14011 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
14012
14013 2000-05-15 Gerd Moellmann <gerd@gnu.org>
14014
14015 * Makefile.in (lisp): Add env.elc.
14016
14017 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
14018
14019 2000-05-12 Gerd Moellmann <gerd@gnu.org>
14020
14021 * search.c (Freplace_match): Handle case of `\N' in the
14022 replacement when there's no group N.
14023
14024 2000-05-11 Gerd Moellmann <gerd@gnu.org>
14025
14026 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
14027 of the message to message_dolog.
14028
14029 * keyboard.c (read_char): Don't clear current message for help
14030 events; let the code handling help events handle this. Change
14031 code detecting help events that should be ignored.
14032
14033 * xdisp.c (handle_single_display_prop): Don't try to set PT if
14034 we're interating over a string.
14035
14036 2000-05-09 Dave Love <fx@gnu.org>
14037
14038 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
14039 that offset before writing. Move gcpro region past call of
14040 Ffile_regular_p.
14041
14042 2000-05-04 Dave Love <fx@gnu.org>
14043
14044 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
14045
14046 2000-05-04 Gerd Moellmann <gerd@gnu.org>
14047
14048 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
14049 of inserted characters when BUF equals the current buffer, and PT
14050 is in front of or equal to FROM.
14051
14052 2000-05-03 Gerd Moellmann <gerd@gnu.org>
14053
14054 * xdisp.c (handle_single_display_prop): If display property value
14055 is invalid, or something not supported on the frame, restore
14056 iterator's position to what it was initially. Make sure to return
14057 0 for invalid and unsupported property values.
14058
14059 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
14060 that x_per_char_metric returns null.
14061
14062 2000-05-02 Gerd Moellmann <gerd@gnu.org>
14063
14064 * xterm.h (struct face): Add forward declaration.
14065 (struct image): Ditto.
14066 (image_ascent): Add prototype.
14067
14068 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
14069 (x_draw_image_relief, x_draw_image_foreground_1): Call function
14070 image_ascent instead of using IMAGE_ASCENT.
14071
14072 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
14073 (IMAGE_ASCENT): Removed.
14074
14075 * xfns.c (Qcenter): New variable.
14076 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
14077 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
14078 (image_ascent): New function.
14079 (lookup_image): Recognize `:ascent center'.
14080 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
14081 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
14082 (xbm_load): Don't set image's ascent here.
14083 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
14084 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
14085 check ascent values here.
14086 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
14087 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
14088 (syms_of_xfns): Initialize Qcenter.
14089
14090 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
14091 to the limits, increase the limits.
14092
14093 2000-05-01 Kenichi Handa <handa@etl.go.jp>
14094
14095 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
14096 Check Vfont_encoding_alist against the full name of the opened font.
14097
14098 2000-04-28 Gerd Moellmann <gerd@gnu.org>
14099
14100 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
14101 taller than the window.
14102
14103 2000-04-28 Kenichi Handa <handa@etl.go.jp>
14104
14105 * xfaces.c (realize_x_face): Fix the argument of the second
14106 xassert. BASE_FACE may not be a face for ASCII.
14107
14108 2000-04-27 Gerd Moellmann <gerd@gnu.org>
14109
14110 * print.c (print_object): Treat print-length < 0 as nil.
14111
14112 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
14113
14114 * s/freebsd.h (TERMCAP_OBJ): Removed.
14115 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
14116
14117 * lread.c (read1): Don't treat period followed by certain
14118 characters as symbol start.
14119
14120 * xfns.c (slurp_file): New function.
14121 (xbm_image_p): Handle case of in-memory XBM files.
14122 (xbm_scan): Rewritten to work on memory buffers instead of files.
14123 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
14124 Work on memory buffers instead of files. If DATA is null test
14125 if buffer looks like an in-memory XBM file.
14126 (xbm_load_image): Renamed from xbm_load_image_file. Work on
14127 memory buffers instead of files.
14128 (xbm_file_p): New function.
14129 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
14130
14131 * lread.c (end_of_file_error): New function.
14132 (read1): Call it instead of signaling `end-of-file' directly.
14133
14134 * print.c (print_error_message): Print data of `end-of-file'
14135 with Fprinc instead of Fprin1.
14136
14137 2000-04-26 Ken Raeburn <raeburn@gnu.org>
14138
14139 * window.c (freeze_window_start): Check that minibuffer scroll
14140 window isn't nil before extracting the window structure pointer
14141 from it.
14142
14143 * undo.c (record_delete): If we hit the end of the undo list, stop
14144 picking elements apart.
14145
14146 2000-04-26 Gerd Moellmann <gerd@gnu.org>
14147
14148 * xdisp.c (display_line): If lines are continued, restore
14149 iterator's ascent/descent information to the values before the
14150 first glyph not fitting on the line.
14151
14152 2000-04-25 Gerd Moellmann <gerd@gnu.org>
14153
14154 * xdisp.c (try_window_id) <all changes above window start>: Adjust
14155 positions in glyph matrix. Don't compute new window end positions.
14156
14157 * dispnew.c (increment_matrix_positions): Renamed from
14158 increment_glyph_matrix_buffer_positions.
14159 (increment_row_positions): Renamed from
14160 increment_glyph_row_buffer_positions.
14161
14162 * dispextern.h: Change names of renamed functions from dispnew.c
14163 in prototypes.
14164
14165 2000-04-24 Gerd Moellmann <gerd@gnu.org>
14166
14167 * fileio.c (Fdo_auto_save): Create directories for auto-save
14168 list file if necessary.
14169
14170 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
14171 from buffer or frame.
14172 (automatic_hscrolling_p): New variable.
14173 (hscroll_windows): Scroll windows horizontally only if automatic
14174 hscrolling is allowed.
14175 (syms_of_xdisp): New variable `automatic-hscrolling'.
14176
14177 * frame.h (struct frame): Add member extra_line_spacing.
14178
14179 * xfns.c (x_set_line_spacing): New function.
14180 (Fx_create_frame): Set line spacing from resources.
14181 (Qline_spacing): New variable.
14182 (syms_of_xfns): Initialize Qline_spacing.
14183
14184 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
14185
14186 * buffer.c (init_buffer_once): Handle extra_line_spacing.
14187 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
14188 (reset_buffer): Don't initialize extra2 and extra3. Initialize
14189 extra_line_spacing from default value.
14190 (init_buffer_once): Initialize default value of extra_line_spacing.
14191
14192 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
14193 and extra3.
14194
14195 * xterm.c (x_produce_glyphs): Remove reference to struct it's
14196 prompt_width. Add extra line spacing.
14197
14198 * term.c (produce_glyphs): Remove reference to struct it's
14199 prompt_width.
14200
14201 * dispextern.h (struct it): Remove member prompt_width, add
14202 extra_line_spacing.
14203
14204 2000-04-22 Gerd Moellmann <gerd@gnu.org>
14205
14206 * dispnew.c (update_frame_line): When writing a whole line, make
14207 sure cursor is in the right row afterwards, otherwise a use of
14208 capability `ch' in cmgoto might leave the cursor in the row below.
14209
14210 2000-04-21 Gerd Moellmann <gerd@gnu.org>
14211
14212 * lisp.h (struct Lisp_Buffer_Cons): Remove.
14213
14214 * keyboard.c (timer_check): Fix typo in comment.
14215
14216 2000-04-21 Kenichi Handa <handa@etl.go.jp>
14217
14218 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
14219 name change: ch -> character.
14220
14221 2000-04-20 Gerd Moellmann <gerd@gnu.org>
14222
14223 * keyboard.c (echo_message_buffer): New variable.
14224 (echo_now): Set echo_message_buffer to the echo area buffer used
14225 to display the echo.
14226 (cancel_echoing): Reset echo_message_buffer to nil.
14227 (read_char): Code rewritten that handles canceling an echo or
14228 echoing a dash, respectively.
14229
14230 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
14231 directory doesn't exist.
14232
14233 2000-04-19 Dave Love <fx@gnu.org>
14234
14235 * fns.c (syms_of_fns): Defsubr mapc.
14236 (concat): Don't allow numeric args.
14237 (Fconcat): Doc change.
14238
14239 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
14240
14241 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
14242 instead define end_match(1|2) more carefully.
14243 Use GET_CHAR_BEFORE_2 for `begline'.
14244
14245 2000-04-19 Gerd Moellmann <gerd@gnu.org>
14246
14247 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
14248 on 64-bit systems where NULL is defined as `0'.
14249
14250 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
14251 the `variable argument list' to make it work on Alpha.
14252
14253 * m/alpha.h (_LP64) [!_LP64]: Define.
14254 (ORDINARY_LINK): Define for NetBSD.
14255
14256 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
14257
14258 2000-04-19 Dave Love <fx@gnu.org>
14259
14260 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
14261 change.
14262
14263 * Makefile.in (LIBS): Don't use.
14264 (GETLOADAVG_OBJ): Define again.
14265 (otherobj): Add GETLOADAVG_OBJ.
14266
14267 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
14268
14269 2000-04-18 Gerd Moellmann <gerd@gnu.org>
14270
14271 * lread.c (read_filtered_event): Cancel and start busy cursor.
14272
14273 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
14274 that the per-character metrics may be null.
14275
14276 2000-04-17 Gerd Moellmann <gerd@gnu.org>
14277
14278 * buffer.c (clone_per_buffer_values): New function.
14279 (Fmake_indirect_buffer): Add optional argument CLONE. Call
14280 clone_per_buffer_values if CLONE is not nil.
14281
14282 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
14283
14284 2000-04-16 Dave Love <fx@gnu.org>
14285
14286 * Makefile.in: Remove obsolete localcpp stuff.
14287 (GETLOADAVG_OBJ): Don't define.
14288 (obj): Move LIBOBJS...
14289 (otherobj): ... to here.
14290 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
14291 whitespace-only lines after the continuation (Irix).
14292
14293 2000-04-14 Gerd Moellmann <gerd@gnu.org>
14294
14295 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
14296
14297 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
14298
14299 2000-04-14 Dave Love <fx@gnu.org>
14300
14301 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
14302 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
14303 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
14304 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
14305 NLIST_STRUCT.
14306
14307 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
14308 autoconfiscated HAVE_GETLOADAVG.
14309
14310 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
14311 BROKEN_MKTIME.
14312
14313 2000-04-14 Gerd Moellmann <gerd@gnu.org>
14314
14315 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
14316 (fill_in_lock_file_name): Avoid existing files that aren't links.
14317
14318 2000-04-14 Dave Love <fx@gnu.org>
14319
14320 * Makefile.in (LIBS, LIBOBJS): New variable.
14321 (INTERVAL_SRC): Convert to make variable.
14322 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
14323 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
14324 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
14325 add LIBOBJS.
14326 (SOME_MACHINE_OBJECTS): Remove interval stuff.
14327 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
14328 (shortlisp): Add facemenu, float-sup, frame.
14329 (SOME_MACHINE_LISP): Remove them from here.
14330 (LIBES): Change unused LDLIBS to autoconf LIBS.
14331
14332 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
14333
14334 2000-04-14 Kenichi Handa <handa@etl.go.jp>
14335
14336 * composite.c (update_compositions): If FROM and TO are not in a
14337 valid range, do nothing.
14338
14339 2000-04-13 Gerd Moellmann <gerd@gnu.org>
14340
14341 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
14342
14343 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
14344
14345 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
14346 as TERMCAP_OBJ.
14347
14348 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14349
14350 * fileio.c (a_write): Remove redundant semi-colons.
14351 (e_write): Return -1 if failed to write all the data.
14352 This fixes the changes made at 1999-12-15.
14353
14354 2000-04-12 Dave Love <fx@gnu.org>
14355
14356 * fns.c (mapcar1): Test for null vals to support mapc.
14357 (Fmapc): New function.
14358
14359 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
14360
14361 * msdos.c (NUM_MOUSE_BUTTONS): Define.
14362 (IT_frame_up_to_date): Support the buffer local value of
14363 cursor-type, if defined.
14364
14365 2000-04-10 Dave Love <fx@gnu.org>
14366
14367 * editfns.c (preceding-char, following-char): Doc fix.
14368
14369 2000-04-10 Ken Raeburn <raeburn@gnu.org>
14370
14371 * Makefile.in (temacs): Revert 2000-03-12 change.
14372
14373 2000-04-10 Jason Rumney <jasonr@gnu.org>
14374
14375 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
14376
14377 2000-04-10 Gerd Moellmann <gerd@gnu.org>
14378
14379 * xdisp.c (setup_echo_area_for_printing): Choose an echo
14380 area buffer, if it's not set up yet.
14381
14382 * indent.c (compute_motion): Set immediate_quit.
14383
14384 2000-04-09 Gerd Moellmann <gerd@gnu.org>
14385
14386 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
14387 (realize_tty_face): Suppress boldness if colors are the inverse of
14388 the default colors, and tty_suppress_bold_inverse_default_colors_p
14389 is set.
14390 (Ftty_suppress_bold_inverse_default_colors): New function.
14391 (syms_of_xfaces): Defsubr it.
14392
14393 * buffer.c (Frestore_buffer_modified_p): New function.
14394 (syms_of_buffer): Defsubr it.
14395
14396 2000-04-08 Ken Raeburn <raeburn@gnu.org>
14397
14398 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
14399 charset id (int) argument, not a charset (Lisp_Object).
14400
14401 * coding.h (code_convert_string): Declare.
14402 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
14403 object, as the fourth argument to code_convert_string.
14404
14405 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
14406 (Fset_fontset_font): Use EQ to compare lisp objects.
14407
14408 2000-04-05 Ken Raeburn <raeburn@gnu.org>
14409
14410 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
14411 a pointer that looks like a lisp object.
14412 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
14413 zero, instead see whether it's an integer object, since they can't
14414 have intervals.
14415 (GET_INTERVAL_OBJECT): Simply assign to the destination.
14416
14417 * dispnew.c (allocate_matrices_for_frame_redisplay)
14418 (direct_output_forward_char): Use X(U)INT and make_number as needed
14419 to convert between (unsigned) int values and lisp integers.
14420 * keyboard.c (read_key_sequence): Likewise.
14421 * lread.c (substitute_object_recurse): Likewise.
14422 * fns.c (concat, hash_lookup, hash_remove): Likewise.
14423 * minibuf.c (do_completion, Fminibuffer_complete_word)
14424 (Fminibuffer_completion_help): Likewise.
14425 * term.c (produce_special_glyphs): Likewise.
14426
14427 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
14428 * print.c (print_preprocess, print_object): Likewise.
14429
14430 * search.c (compile_pattern): Use NILP when checking for nil.
14431
14432 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
14433 __OPTIMIZE__]: Provide a GNU C macro version that handles
14434 lisp-object unions.
14435 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
14436 field, to better cope with ENABLE_CHECKING and calls that modify a
14437 Lisp_Object using its old value.
14438
14439 2000-04-04 Gerd Moellmann <gerd@gnu.org>
14440
14441 * window.c (compare_window_configurations): Signal an error
14442 if parameters C1 or C2 aren't window configurations.
14443
14444 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
14445 AFTER_POTENTIAL_GC calls around calls to functions that can
14446 signal an error and thus invoke the debugger.
14447
14448 2000-04-03 Gerd Moellmann <gerd@gnu.org>
14449
14450 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
14451 an error if decoding fails.
14452
14453 * keyboard.c (lispy_mouse_names): Variable removed.
14454 (Vlispy_mouse_stem): New variable.
14455 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
14456 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
14457 for any mouse button number. Increase size of mouse_syms and
14458 button_down_location as needed. Call modify_event_symbol with
14459 different arguments.
14460 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
14461 Call modify_event_symbol with different arguments.
14462 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
14463 for any button number. Call modify_event_symbol with different
14464 arguments.
14465 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
14466 Accept a string for NAME_ALIST_OR_STEM.
14467
14468 * lisp.h (larger_vector): Add prototype.
14469
14470 * fns.c (larger_vector): Make externally visible.
14471
14472 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
14473
14474 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
14475
14476 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
14477 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
14478 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
14479 we are between str1 and str2.
14480 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
14481 (PATFETCH): Use `TRANSLATE'.
14482 (PATFETCH_RAW): Fetch multibyte char if applicable.
14483 (PATUNFETCH): Remove.
14484 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
14485 When writing a char, write it directly into the pattern buffer rather
14486 than going needlessly through a temp char-array.
14487 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
14488 multibyte magic and remove the useless `#ifdef emacs'.
14489 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
14490 buffer.
14491
14492 * regex.h (struct re_pattern_buffer): Make field `multibyte'
14493 conditional on `emacs'.
14494
14495 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
14496
14497 2000-04-01 Ken Raeburn <raeburn@gnu.org>
14498
14499 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
14500 non-union-type versions of XMARK and friends here, because XMARK
14501 and friends won't work on an integer field if NO_UNION_TYPE is not
14502 defined.
14503 (make_number): Define as a function if it's not defined as a macro.
14504
14505 * composite.c (run_composite_function): Use NILP when checking for nil.
14506 (syms_of_composite): Delete local var NARGS, pass an int as first
14507 argument to Fmake_hash_table.
14508
14509 * editfns.c (text_property_stickiness): Use NILP to test
14510 Lisp_Object boolean value.
14511 (Fmessage_or_box): Don't use NILP to test int variable.
14512 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
14513 problems reading from and changing the same lisp value in an
14514 XSETSTRING call.
14515
14516 2000-04-01 Gerd Moellmann <gerd@gnu.org>
14517
14518 * term.c (TN_no_color_video): New variable.
14519 (term_init): Intitialize TN_no_color_video.
14520 (enum no_color_bit): New enumeration.
14521 (MAY_USE_WITH_COLORS_P): New macro.
14522 (turn_on_face): Use it to determine if attributes may be used
14523 combined with colors.
14524
14525 2000-04-01 Ken Raeburn <raeburn@gnu.org>
14526
14527 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
14528 with int lvalues via casts; instead, just yield lisp object lvalues.
14529 (enlarge_window): Variable sizep now points to Lisp_Object. Use
14530 proper accessor macros.
14531 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
14532 (grow_mini_window): Fix typo getting int value of root->height.
14533
14534 * xdisp.c (compute_string_pos): Fix order of arguments to
14535 string_pos_nchars_ahead.
14536 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
14537 count arg to variable-arg routines like Frun_hook_with_args and
14538 Fformat.
14539 (back_to_previous_visible_line_start)
14540 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
14541 fixed-arg routines like Fget_char_property and Fmake_string.
14542 (reconsider_clip_changes): Use XINT when comparing integer lisp
14543 objects, or passing them as int arguments.
14544 (mark_window_display_accurate, insert_left_trunc_glyphs)
14545 (append_space, extend_face_to_end_of_line): Use make_number when
14546 storing or passing integer values as lisp objects.
14547 (set_cursor_from_row, highlight_trailing_whitespace): Use
14548 INTEGERP, not implicit test against zero, for glyph object.
14549 (try_window_id): Don't use make_number when we want an int value.
14550
14551 * xfaces.c (xlfd_symbolic_value): Make last argument a
14552 Lisp_Object, to be consistent with callers.
14553 (Fbitmap_spec_p): Use XINT to get numeric value of height.
14554 (lface_hash): Apply XFASTINT to lisp values before folding in.
14555
14556 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
14557 fill in window width and height. Pass an int, not a lisp object,
14558 as first arg to Finsert.
14559
14560 2000-04-01 Gerd Moellmann <gerd@gnu.org>
14561
14562 * xfaces.c (realize_basic_faces): Block input while realizing
14563 the faces.
14564
14565 * keyboard.c (lispy_mouse_names): Add additional mouse names.
14566
14567 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
14568
14569 2000-03-31 Gerd Moellmann <gerd@gnu.org>
14570
14571 * xterm.c (x_produce_glyphs): When displaying unibyte text
14572 or ASCII, handle case that per-char metric is null.
14573
14574 2000-03-30 Ken Raeburn <raeburn@gnu.org>
14575
14576 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
14577
14578 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
14579 (XSUBR, XBUFFER): Verify correct object type before returning
14580 pointer, using eassert.
14581 * frame.h (XFRAME): Likewise.
14582
14583 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
14584 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
14585 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
14586 * data.c (set_internal): Likewise.
14587 * dispextern.h (WINDOW_WANTS_MODELINE_P)
14588 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
14589 * fileio.c (auto_save_1): Likewise.
14590 * insdel.c (check_markers): Likewise.
14591 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
14592 * undo.c (record_insert): Likewise.
14593 * vmsproc.c (child_sig): Likewise.
14594 * window.c (unshow_buffer, window_loop): Likewise.
14595 * xterm.c (x_erase_phys_cursor): Likewise.
14596
14597 2000-03-30 Gerd Moellmann <gerd@gnu.org>
14598
14599 * xfns.c (free_image_cache): Free the cache structure itself
14600 last, after all its members have been freed.
14601
14602 * lisp.h (xstrdup): Add prototype.
14603
14604 * alloc.c (xstrdup): Moved here from xfaces.c.
14605 (allocating_for_lisp): Variable removed.
14606 (lisp_malloc): Block input around the calls to malloc and mem_insert.
14607
14608 * xfaces.c (realize_tty_face): Use find_symbol_value instead
14609 of Fsymbol_value.
14610 (xstrdup): Moved to alloc.c.
14611
14612 2000-03-29 Ken Raeburn <raeburn@gnu.org>
14613
14614 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
14615
14616 * emacs.c (main): Fix sense of no-loadup test.
14617
14618 * config.in (ENABLE_CHECKING): Undef.
14619
14620 * lisp.h (struct interval): Replace "parent" field with a union of
14621 interval pointer and Lisp_Object; add new bitfield to use as
14622 discriminant. Change other flag fields to bitfields.
14623 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
14624 is defined and the supplied test fails, print a message and abort.
14625 (eassert): New macro. Use CHECK to provide an assert-like facility.
14626
14627 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
14628 pointers; abort if the value looks like a lisp object.
14629 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
14630 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
14631 Modify for new interval parent definition.
14632
14633 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
14634 (UNMARK_BALANCE_INTERVALS): Update references that need an
14635 addressable lisp object in the interval structure.
14636 (die): New function.
14637 (suppress_checking): New variable.
14638
14639 * intervals.c (interval_start_pos): Just return 0 if there's no
14640 parent object.
14641
14642 2000-03-29 Gerd Moellmann <gerd@gnu.org>
14643
14644 * lread.c (read1): Accept `.' (period) as symbol start like in CL
14645 and earlier Emacs versions.
14646
14647 * keyboard.c (Ftop_level): Cancel busy-cursor.
14648
14649 * eval.c (call_debugger): Cancel busy-cursor.
14650
14651 2000-03-29 Kenichi Handa <handa@etl.go.jp>
14652
14653 * search.c (Freplace_match): Adjust multibyteness of the current
14654 buffer and NEWTEXT. Free allocated memory before signaling an error.
14655
14656 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
14657
14658 * regex.c (analyse_first): New function obtained by ripping out most
14659 of re_compile_fastmap and generalizing it a little bit so that it
14660 can also just return whether a given (sub)pattern can match the empty
14661 string or not.
14662 (regex_compile): Use `analyse_first' to decide whether the loop-check
14663 needs to be done or not for *, +, *? and +? (the loop check is costly
14664 for non-greedy repetition).
14665 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
14666
14667 2000-03-28 Dave Love <fx@gnu.org>
14668
14669 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
14670
14671 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
14672
14673 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
14674
14675 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
14676 an expression.
14677 (enum re_opcode_t): Update description of succeed_n.
14678 (PATFETCH): Always define.
14679 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
14680 operators, char classes, shy-groups and intervals).
14681 Optimize special cases of intervals so as to only use succeed_n and
14682 jump_n when really needed.
14683 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
14684 that we don't have to handle the special cases any more.
14685 Simplify on_failure_jump handling as well.
14686
14687 2000-03-28 Jason Rumney <jasonr@gnu.org>
14688
14689 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
14690
14691 2000-03-27 Gerd Moellmann <gerd@gnu.org>
14692
14693 * s/freebsd.h (GC_SETJMP_WORKS): Define.
14694
14695 * s/msdos.h (GC_SETJMP_WORKS): Define.
14696
14697 * alloc.c (mark_maybe_object): New function.
14698 (mark_memory): Use it.
14699 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
14700 (setjmp_tested_p, longjmp_done): New variables.
14701 (test_setjmp): New function.
14702 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
14703 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
14704
14705 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
14706 to DEC_TEXT_POS and INC_TEXT_POS.
14707
14708 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
14709 with parameter MULTIBYTE_P.
14710
14711 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
14712
14713 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
14714 buffers because it looks for multibyte character byte sequences
14715 which don't exist in unibyte text.
14716
14717 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
14718
14719 * xfaces.c (register_color, unregister_color, unregister_colors)
14720 [DEBUG_X_COLORS]: New functions.
14721 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
14722
14723 * xfns.c (x_set_cursor_color): Get color reference counts right.
14724
14725 * xterm.c (x_copy_color): New function.
14726 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
14727
14728 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
14729 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
14730 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
14731 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
14732 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
14733 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
14734 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
14735 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
14736 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
14737 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
14738
14739 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
14740 names for handling per-buffer variables.
14741
14742 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
14743 instead of MAX_BUFFER_LOCAL_VARS.
14744 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
14745
14746 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
14747
14748 * xfns.c (x_specified_cursor_type): New function.
14749 (x_set_cursor_type): Use it.
14750
14751 * buffer.h (struct buffer): Add cursor_type.
14752
14753 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
14754
14755 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
14756 (print_partial_compiled_pattern, re_compile_fastmap):
14757 Handle new opcode.
14758 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
14759 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
14760 executing it as well as when popping it off the stack to find infinite
14761 loops in non-greedy repetition operators.
14762
14763 2000-03-26 Gerd Moellmann <gerd@gnu.org>
14764
14765 * doc.c (Qfunction_documentation): New variable.
14766 (syms_of_doc): Initialize Qfunction_documentation.
14767 (Fdocumentation): If FUNCTION is a symbol with non-nil
14768 `function-documentation' property, return a documentation derived
14769 from that.
14770
14771 * buffer.c (syms_of_buffer): Add default-cursor-type.
14772 (init_buffer_once): Don't let cursor_type have a local value
14773 in every buffer.
14774
14775 * xterm.c (x_display_and_set_cursor): Choose cursor depending
14776 on buffer-local value of cursor_type.
14777 (x_draw_bar_cursor): Add parameter WIDTH.
14778
14779 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
14780 (init_buffer_once): Set default cursor_type value to t.
14781 Mark cursor_type as local everywhere.
14782 (syms_of_buffer): New per-buffer variable cursor-type.
14783
14784 * buffer.h (struct buffer): Remove member local_var_flags,
14785 add local_flags.
14786 (MAX_BUFFER_LOCAL_VARS): New macro.
14787 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
14788 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
14789 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
14790 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
14791
14792 * print.c (print_object): Use new macros for per-buffer variables.
14793
14794 * category.c (Fset_category_table): Use new macros for per-buffer
14795 variables.
14796
14797 * buffer.c (buffer_permanent_local_flags): Make a char array.
14798 (max_buffer_local_idx): New variable.
14799 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
14800 for new handling of per-buffer variables.
14801 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
14802 (init_buffer_once): Initialize per-buffer vars differently.
14803 Set max_buffer_local_idx.
14804
14805 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
14806 variables.
14807
14808 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
14809
14810 * data.c (do_symval_forwarding, store_symval_forwarding)
14811 (find_symbol_value, set_internal, default_value, Fset_default)
14812 (Fkill_local_variable, Flocal_variable_p): Use new macros for
14813 per-buffer variables.
14814
14815 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
14816
14817 2000-03-24 Gerd Moellmann <gerd@gnu.org>
14818
14819 * xterm.c (x_term_init): Unblock input around call1 of
14820 Qvendor_specific_keysyms.
14821
14822 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
14823 (find_defun_start): Consider an open parenthesis in column 0
14824 a defun start only if open_paren_in_column_0_is_defun_start is set.
14825 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
14826
14827 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
14828
14829 * eval.c (Fautoload): Add entry in load-history (if after dump).
14830 * lread.c (load-history): Update docstring.
14831
14832 2000-03-24 Gerd Moellmann <gerd@gnu.org>
14833
14834 * indent.c (Fvertical_motion): Always use the current buffer.
14835 Temporarily change the window's buffer, if necessary.
14836
14837 2000-03-23 Gerd Moellmann <gerd@gnu.org>
14838
14839 * xterm.c (fast_find_position): Make sure not to consider rows
14840 not visible in the window.
14841
14842 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
14843
14844 * regex.c (enum syntaxcode): Provide default for non-Emacs.
14845 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
14846
14847 2000-03-22 Jason Rumney <jasonr@gnu.org>
14848
14849 * w32menu.c (single_submenu): Set help string to NULL if none.
14850 (w32_menu_show): Set help string correctly.
14851 (add-menu-item): Set help string in MIIM_DATA for menu item.
14852 Load SetMenuItemInfoA explicitly.
14853 (w32_menu_display_help): New function.
14854
14855 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
14856 (QCdata): Moved to xdisp.c.
14857
14858 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
14859 (Vw32_charset_to_codepage_alist): Removed.
14860 (Vw32_charset_info_alist): New variable.
14861 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
14862 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
14863 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
14864 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
14865 with TODO comment.
14866 (w32_codepage_for_font): Use Vw32_charset_info_alist.
14867 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
14868 Define Vw32_charset_info_alist and w32_charset symbols.
14869
14870 2000-03-22 Jason Rumney <jasonr@gnu.org>
14871
14872 * makefile.nt (w32bdf.obj): Update dependencies.
14873
14874 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
14875
14876 * w32fns.c: Include fontset.h after dispextern.h.
14877 (Fx_create_frame): Do not create fontset.
14878 (w32_load_system_font): Doc fix.
14879 (Fx_close_connection): Free full_name if it is not shared.
14880
14881 * w32term.c: Include fontset.h after dispextern.h.
14882 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
14883 Callers updated.
14884 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
14885 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
14886 (w32_font_is_double_byte): New function, needs body.
14887 (x_append_glyph): Set glyph->glyph_not_available_p.
14888 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14889 it->charset. If it->multibyte_p is zero and it->c is a multibyte
14890 character, convert it to a unibyte character.
14891 (struct glyph_string): Delete member `charset'.
14892 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
14893 calculating it is found.
14894 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14895 the case that per char metric is not available correctly.
14896 (x_fill_glyph_string): Handle the case that the specific glyph is
14897 not available correctly.
14898 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14899 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14900 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14901 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14902 fontset. Don't call FS_LOAD_FONT.
14903
14904 2000-03-22 Ken Raeburn <raeburn@gnu.org>
14905
14906 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
14907 (INT_LISPLIKE): New macro.
14908 (NULL_INTERVAL_P): Use it.
14909 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
14910 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
14911 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
14912
14913 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
14914 explicit references to "parent" field of struct interval and
14915 associated unclean type conversions.
14916 * intervals.c (create_root_interval, root_interval, rotate_right)
14917 (rotate_left, balance_possible_root_interval, split_interval_right)
14918 (split_interval_left, interval_start_pos, find_interval)
14919 (next_interval, previous_interval, update_interval)
14920 (adjust_intervals_for_insertion, delete_node, delete_interval)
14921 (adjust_intervals_for_deletion, merge_interval_right)
14922 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
14923 (copy_intervals_to_string): Likewise.
14924 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
14925 Likewise.
14926 * syntax.c (update_syntax_table): Likewise.
14927
14928 * intervals.c (reproduce_tree_obj): New function, like
14929 reproduce_tree but takes a Lisp_Object for the parent. Declare
14930 with prototype.
14931 (graft_intervals_into_buffer): Use it when appropriate.
14932 (reproduce_tree): Declare with prototype.
14933 (balance_possible_root_interval): Check that the parent is a lisp
14934 object before trying to examine its type.
14935
14936 2000-03-22 Gerd Moellmann <gerd@gnu.org>
14937
14938 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
14939 as strings only if both are known to be strings.
14940
14941 * s/openbsd.h (LIBS_TERMCAP): Undef.
14942
14943 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
14944
14945 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
14946 definitions for non-Emacs compilation.
14947 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
14948 outside of `#ifdef emacs'.
14949 (print_partial_compiled_pattern): Update.
14950 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
14951 (re_compile_fastmap): Merge handling of charset and charset_not (for
14952 emacs and non-emacs compilation as well).
14953 Similarly for (not)categoryspec and (not)syntaxspec.
14954 Don't use the fastmap when reaching `anychar' since the added
14955 complexity is not justified.
14956 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
14957 and (not)syntaxspec. Merge (not)categoryspec.
14958
14959 2000-03-22 Kenichi Handa <handa@etl.go.jp>
14960
14961 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
14962 (FACE_FOR_CHAR): Define them differently for the configuration of
14963 --without-x.
14964
14965 2000-03-21 Dave Love <fx@gnu.org>
14966
14967 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
14968 doc string.
14969
14970 2000-03-21 Gerd Moellmann <gerd@gnu.org>
14971
14972 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
14973 (lface_fully_specified_p): Don't check contents of
14974 LFACE_FONT_INDEX because that attribute is optional.
14975 (realize_x_face): Remove now unwarranted xassert.
14976
14977 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
14978
14979 The following changes are to make font selection based on
14980 characters, not charset. In addition, they recover fontset
14981 facilities while utilizing the new font selection mechanism.
14982
14983 * Makefile.in (fontset.o): Depend on dispextern.h.
14984
14985 * alloc.c (mark_face_cache): Don't mark face->registry.
14986
14987 * dispextern.h (struct glyph): New member glyph_not_available_p.
14988 Use 22 bits for face_id.
14989 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
14990 (struct face): Delete member registry, new member ascii_face.
14991 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
14992 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
14993 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
14994 (struct it): Delete member charset, new member glyph_not_available_p.
14995
14996 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
14997 (struct fontset_info, struct fontset_data): Structs removed.
14998 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
14999 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
15000 (fs_load_font, fs_query_fontset): Adjusted for new argument.
15001 (fs_free_face_fontset, fontset_font_pattern)
15002 (face_suitable_for_char_p, face_for_char)
15003 (make_fontset_for_ascii_face): Extern them.
15004 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
15005 (FS_LOAD_FACE_FONT): New macro.
15006
15007 * fontset.c: All codes rewritten or adjusted for the change of
15008 fontset implementation. Now fontset is represented by char table.
15009 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
15010 Variables removed.
15011 (my_strcasecmp): Function removed.
15012 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
15013 (AREF, ASIZE): New macros.
15014 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
15015 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
15016 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
15017 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
15018 (fontset_id_valid_p, font_family_registry, fontset_name)
15019 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
15020 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
15021 New functions.
15022 (fs_load_font): New arg FACE. Caller changed.
15023 (fs_query_fontset): Argument changed. Caller changed.
15024 (Fquery_fontset): call fs_query_fontset.
15025 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
15026 Functions removed.
15027 (clear_fontset_elements, check_registry_encoding)
15028 (check_fontset_name): New functions.
15029 (syms_of_fontset): Set char-table-extra-slots property of fontset
15030 to 3. Staticpro and initialize Vfontset_table and
15031 Vdefault_fontset. Defsubr fontset_font and fontset_list.
15032
15033 * frame.h (struct frame): Member `fontset_data' removed.
15034 (FRAME_FONTSET_DATA): Macro removed.
15035
15036 * frame.c (make_frame): Don't allocate f->fontset_data.
15037 (Fdelete_frame): Don't free f->fontset_data.
15038
15039 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
15040
15041 * xdisp.c (charset_at_position): Function removed.
15042 (init_iterator): Don't set member charset of struct `it'.
15043 (handle_face_prop, reseat_to_string, set_iterator_to_next)
15044 (next_element_from_display_vector, insert_left_trunc_glyphs):
15045 Likewise.
15046 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
15047 FACE_FOR_CHARSET.
15048 (get_next_display_element, append_space)
15049 (extend_face_to_end_of_line): Likewise.
15050
15051 * xfaces.c (Qx_charset_registry, Vface_default_registry):
15052 Variables removed.
15053 (clear_font_table, frame_update_line_height, load_face_font):
15054 Adjusted for the change of fontset implementation.
15055 (load_face_fontset_font): Function removed.
15056 (pixel_point_size): New function.
15057 (font_list): Argument type changed. Caller changed.
15058 (LFACE_FONT): New macro.
15059 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
15060 (set_lface_from_font_name): Type of arg FONTNAME is changed to
15061 Lisp_Object. Determine the font name by actually loading a font
15062 by the specified pattern. Set LFACE_FONT (lface) to the specified
15063 pattern. Even if a font is not found, don't try alternatives.
15064 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
15065 (set_font_frame_param): If `font' is specified in lface, use it.
15066 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
15067 (lface_same_font_attributes_p): Likewise.
15068 (make_realized_face): Arguent changed. Caller changed. Set
15069 face->ascii_face to face itself.
15070 (free_realized_face): Free face->fontset if face is for ASCII.
15071 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
15072 (deduce_unibyte_registry, x_charset_registry): Functions removed.
15073 (free_realized_multibyte_face): New function.
15074 (lookup_face, lookup_named_face, lookup_derived_face): Argument
15075 changed. Caller changed.
15076 (try_font_list): Argument type changed.
15077 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
15078 (choose_face_font): Argument changed. Handle fontset properly.
15079 (choose_face_fontset_font): Function removed.
15080 (realize_default_face, realize_named_face): Don't remove the
15081 former face here.
15082 (realize_face): Argument changed. Caller changed. Remove face
15083 with the arg former_face_id in advance. Load font for the new face.
15084 (realize_x_face): Argument changed. Caller changed. For a
15085 multibyte character, share fontset with base_face. For a single
15086 byte character, make a new realized fontset. Don't load a font here.
15087 (realize_tty_face): Argument changed. Caller changed.
15088 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
15089 (face_at_buffer_position): Don't check multibyte_p for returning
15090 DEFAULT_FACE_ID.
15091 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
15092 FACE_SUITABLE_FOR_CHARSET_P.
15093 (syms_of_xfaces): Remove code for Qx_charset_registry and
15094 Vface_default_registry.
15095
15096 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
15097 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
15098 (x_per_char_metric): Don't try FONT->default_char. Even if
15099 pcm->width is zero, glyph bits may exist.
15100 (x_encode_char): Always initialize char2b->byte1.
15101 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
15102 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
15103 (x_append_glyph): Set glyph->glyph_not_available_p.
15104 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
15105 it->charset. Handle the case that per char metric is not
15106 available. If it->multibyte_p is zero and it->c is a multibyte
15107 character, convert it to a unibyte character.
15108 (struct glyph_string): Delete member `charset'.
15109 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
15110 the case that per char metric is not available correctly.
15111 (x_fill_glyph_string): Handle the case that the specific glyph is
15112 not available correctly.
15113 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
15114 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
15115 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
15116 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
15117 fontset. Don't call FS_LOAD_FONT.
15118
15119 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
15120 (x_create_tip_frame): Likewise.
15121 (Fx_close_connection): Free full_name of font_info.
15122
15123 * fns.c (optimize_sub_char_table): New function.
15124 (Foptimize_char_table): New function.
15125 (syms_of_fns): Defsubr Soptimize_char_table.
15126
15127 2000-03-20 Gerd Moellmann <gerd@gnu.org>
15128
15129 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
15130 only if buffer is displayed in some window.
15131
15132 * xdisp.c (handle_single_display_prop): Initialize local `value'.
15133 (try_window_reusing_current_matrix): Don't call scroll run
15134 function if run's current and desired position are the same;
15135 this prevents cursor flickering.
15136
15137 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
15138
15139 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
15140
15141 * regex.c (RE_STRING_CHAR): New macro.
15142 (GET_CHAR_AFER_2): Remove.
15143 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
15144 (enum re_opcode_t): Remove on_failure_jump_exclusive.
15145 (print_partial_compiled_pattern, re_compile_fastmap)
15146 (re_match_2_internal): Remove on_failure_jump_exclusive.
15147 (regex_compile): Turn optimizable P+ loops into PP*, so that the
15148 optimization only need to work for * (ie. can use of_keep_string_jump).
15149 Remove the special case for .*\n since it is now covered by the general
15150 optimization.
15151 (re_search_2): Don't bother with `room'.
15152 (skip_one_char): New function.
15153 (skip_noops): Simplify since `memory' is not needed any more.
15154 (mutually_exclusive_p): Restructure slightly to use `switch' and
15155 add handling for "all" remaining cases.
15156 (re_match_2_internal): Change on_failure_jump_smart to use
15157 on_failure_keep_string_jump (and redirect the end-of-loop jump)
15158 rather than on_failure_jump_exclusive.
15159
15160 2000-03-19 Gerd Moellmann <gerd@gnu.org>
15161
15162 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
15163 number of bits per RGB because it's everywhere used as the depth
15164 of the visual.
15165
15166 * term.c (calculate_costs): Remove code dealing with X frames.
15167
15168 2000-03-19 Richard M. Stallman <rms@gnu.org>
15169
15170 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
15171
15172 2000-03-18 Gerd Moellmann <gerd@gnu.org>
15173
15174 * lread.c (read_integer): Unread the last char not consumed.
15175
15176 2000-03-17 Gerd Moellmann <gerd@gnu.org>
15177
15178 * xterm.c (x_update_window_cursor): Don't update in frames
15179 which are in the process of being deleted.
15180
15181 2000-03-16 Gerd Moellmann <gerd@gnu.org>
15182
15183 * Makefile.in (mostlyclean): Add `*.core'.
15184 (clean): Add `bootstrap-emacs'.
15185
15186 * lread.c (read_integer): New function.
15187 (read1): Support read syntax #o, #x, #b, #r.
15188
15189 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
15190
15191 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
15192 make sure POINTER_TO_OFFSET gives the same value before and after
15193 PREFETCH. Use `dfail' to guarantee "atomic" matching.
15194 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
15195 (debug): Now only active if > 0 rather than if != 0.
15196 (DEBUG_*): Update for the new meaning of `debug'.
15197 (print_partial_compiled_pattern): Add missing `succeed' case. Use
15198 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
15199 in `succeed_n', `jump_n' and `set_number_at'.
15200 (store_op1, store_op2, insert_op1, insert_op2)
15201 (at_begline_loc_p, at_endline_loc_p): Add prototype.
15202 (group_in_compile_stack): Move to after its arg's types are
15203 declared and add a prototype.
15204 (PATFETCH): Define in terms of PATFETCH_RAW.
15205 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
15206 (QUIT): Redefine as a nop except for NTemacs.
15207 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
15208 indentation of the greedy-op and shy-group code.
15209 (at_(beg|end)line_loc_p): Fix argument's types.
15210 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
15211 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
15212 (MATCHING_IN_FIRST_STRING): Remove.
15213 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
15214 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
15215 QUIT unconditionally.
15216
15217 2000-03-15 Gerd Moellmann <gerd@gnu.org>
15218
15219 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
15220 a sole completion.
15221
15222 * process.c (send_process): Add a hint that the function
15223 can call Lisp code to its comment.
15224
15225 * lread.c (load_dangerous_libraries): New variable.
15226 (Vbytecomp_version_regexp): New variable.
15227 (safe_to_load_p): New function.
15228 (Fload): Handle files not compiled with Emacs specially.
15229 (syms_of_lread): New Lisp variable load-dangerous-libraries.
15230
15231 2000-03-14 Gerd Moellmann <gerd@gnu.org>
15232
15233 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
15234
15235 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
15236 support functions only if HAVE_X11R6_XIM is defined.
15237 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
15238
15239 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
15240
15241 * xfns.c (X_I18N_INHIBITED): Don't define.
15242 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
15243 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
15244
15245 * config.in (HAVE_X_I18N): Moved here from xterm.h.
15246 (HAVE_X11R6_XIM): Define.
15247
15248 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
15249
15250 * xterm.c (x_term_init): Add support for X resource `synchronous'.
15251 If set, call XSynchronize.
15252
15253 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
15254
15255 * regex.c: Declare a new type `re_char' used throughout the code
15256 for the string char type. It's `const unsigned char' to match the
15257 rest of Emacs. Consistently make sure all pointers to strings use
15258 it and make sure all pointers into the pattern use `unsigned char'.
15259 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
15260 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
15261 code duplication.
15262
15263 * charset.h (GET_CHAR_AFTER_2): Remove.
15264 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
15265
15266 2000-03-12 Ken Raeburn <raeburn@gnu.org>
15267
15268 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
15269 variable before the invocation of YMF_PASS_LDFLAGS, in case both
15270 of them try to use backquotes.
15271
15272 2000-03-12 Dave Love <fx@gnu.org>
15273
15274 * unexelf.c: Restore changes of 1999-10-19.
15275 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
15276 fix its type and alignment; copy it from current process.
15277
15278 2000-03-12 Gerd Moellmann <gerd@gnu.org>
15279
15280 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
15281 has been found. Fix bug not computing timer's predecessor.
15282
15283 * fileio.c (Fread_file_name): Handle case that DIR contains a
15284 file name.
15285
15286 * window.c (Fsave_window_excursion): Doc fix.
15287
15288 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
15289
15290 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
15291
15292 * msdos.c (vga_installed): New function, code moved from
15293 dos_set_window_size.
15294 (Qbar, Qcursor_type, outside_cursor): New variables.
15295 (syms_of_msdos): Intern and staticpro them.
15296 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
15297 shape used outside Emacs when called for the first time.
15298 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
15299 cursor shape used outside Emacs.
15300 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
15301 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
15302 type has changed.
15303 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
15304 parameters specify the cursor. Make qreverse a global
15305 variable (renamed to Qreverse).
15306
15307 2000-03-09 Gerd Moellmann <gerd@gnu.org>
15308
15309 * fns.c (Fy_or_n_p): Cancel busy-cursor.
15310
15311 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
15312
15313 This is a big redesign of failure-stack and register handling, prompted
15314 by bugs revealed when trying to add shy-groups. Overall, what happened
15315 is that loops are now structured a little differently, groups can be
15316 shy and the code is a little simpler.
15317
15318 * regex.h: Update the copyright.
15319 (RE_SHY_GROUPS): New value.
15320 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
15321 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
15322
15323 * regex.c (enum re_opcode_t): Remove jump_past_alt,
15324 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
15325 on_failure_jump_(exclusive, loop and smart). Also fix the comment
15326 for (start|stop)_memory since they now only take one argument (the
15327 second has becomes unnecessary).
15328 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
15329 (print_compiled_pattern): Use %ld to printf long ints and flush to
15330 make debugging a little easier.
15331 (union fail_stack_elt): Make the integer unsigned.
15332 (struct fail_stack_type): Add a `frame' element.
15333 (INIT_FAIL_STACK): Init `frame' as well.
15334 (POP_PATTERN_OP): New macro for re_compile_fastmap.
15335 (DEBUG_PUSH, DEBUG_POP): Remove.
15336 (NUM_REG_ITEMS): Remove.
15337 (NUM_NONREG_ITEMS): Adjust.
15338 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
15339 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
15340 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
15341 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
15342 New macros.
15343 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
15344 address pushed is not the destination of the jump but the source
15345 of it instead.
15346 (NUM_FAILURE_ITEMS): Remove.
15347 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
15348 registers before the actual failure point). Don't hardcode any
15349 meaning for str==NULL anymore.
15350 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
15351 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
15352 Remove.
15353 (REG_UNSET_VALUE): Use NULL (why not?).
15354 (compile_range): Remove declaration since it doesn't exist.
15355 (struct compile_stack_elt_t): Remove inner_group_offset.
15356 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
15357 (regex_grow_registers): Remove dead code.
15358 (FIXUP_ALT_JUMP): New macro.
15359 (regex_compile): Add shy-groups Change loops to use
15360 on_failure_jump_smart&jump instead of
15361 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
15362 initial (dummy_failure_)jump. Remove c1_base (looks like unused
15363 variable to me). Use `jump' instead of `jump_past_alt' and don't
15364 bother with push_dummy_failure in alternatives since it is now
15365 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
15366 emacs' for (re)allocating the stack.
15367 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
15368 from loop when bufp->can_be_null rather than jumping to `done'.
15369 Avoid jumping backwards so as to ensure termination. Use
15370 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
15371 backreferences. Remove dead code in handling of `anychar'.
15372 (skip_noops, mutually_exclusive_p): New functions taken from the
15373 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
15374 improve mutually_exclusive_p to handle ".+\n".
15375 (lowest_active_reg, highest_active_reg)
15376 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
15377 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
15378 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
15379 variables. Push register (in `start_memory') on the stack rather
15380 than storing it in old_reg(start|end). Remove the cycle detection
15381 from `stop_memory', replaced by the use of on_failure_jump_loop
15382 for greedy loops. Add code for the new on_failure_jump_<foo>.
15383 Remove ad-hoc code in `on_failure_jump' to push more registers in
15384 the case of a loop. Take out code from `maybe_pop_jump' into
15385 separate functions and adapt it to the semantics of
15386 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
15387 and push_dummy_failure. Remove dummy_failure handling and
15388 handling of `failures to jump to on_failure_jump' (this last one
15389 was already dead code, it seems).
15390 (group_match_null_string_p, alt_match_null_string_p)
15391 (common_op_match_null_string_p): Remove.
15392
15393 2000-03-08 Dave Love <fx@gnu.org>
15394
15395 * config.in: Don't depend on __STDC__ for volatile.
15396 Add POINTER_TYPE, PTR, PROTOTYPES.
15397
15398 * hftctl.c, strftime.c: Use PROTOTYPES.
15399 * eval.c (find_handler_clause): Likewise.
15400
15401 * mem-limits.h: Use POINTER_TYPE.
15402
15403 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
15404 (memory_warnings): Declare using POINTER_TYPE.
15405
15406 2000-03-08 Gerd Moellmann <gerd@gnu.org>
15407
15408 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
15409
15410 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
15411
15412 * xfns.c: Remove obsolete code in #if 0.
15413 (Fx_focus_frame): New function.
15414
15415 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15416
15417 * coding.c (coding_category_name): Add coding-category-utf-8,
15418 coding-category-utf-16-be, coding-category-utf-16-le.
15419 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
15420 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
15421 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
15422 (detect_coding_utf_8): New function.
15423 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
15424 UTF_16_LOW_SURROGATE_P): New macros.
15425 (detect_coding_utf_16): New function
15426 (detect_coding_mask): When priorities are specified, skip any
15427 categories that have `nil' coding-system. Fix bug of returning
15428 wrong mask when PRIORITIES is specified and detect_coding_XXX()
15429 returns a mask not set in PRIORITIES.
15430 (detect_eol_type_in_2_octet_form): New function.
15431 (detect_eol): selects detect_eol_type_XXX to call according to
15432 cooding->category_idx.
15433 (detect_coding_system): Remove `nil' coding-system in the result.
15434 (Fupdate_coding_systems_internal): Update all coding-categories.
15435
15436 * coding.h (CODING_CATEGORY_IDX_UTF_8)
15437 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
15438 New macros.
15439 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
15440 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
15441 (CODING_CATEGORY_IDX_UTF_16_LE)
15442 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
15443 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
15444 (CODING_CATEGORY_MASK_ANY): Include the above macros.
15445 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
15446
15447 2000-03-07 Gerd Moellmann <gerd@gnu.org>
15448
15449 * doc.c (Fdocumentation_property): If value is not a string,
15450 and doesn't refer to etc/DOC, evaluate it to obtain a string.
15451
15452 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
15453 close the display with XtCloseDisplay. This caused a bus error
15454 on OpenWindows.
15455
15456 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
15457 complete but not unique.
15458
15459 2000-03-06 Gerd Moellmann <gerd@gnu.org>
15460
15461 * process.c (send_process): Remove local variable `procname' that
15462 might become invalid when a GC happens. Instead, access the
15463 process name slot directly.
15464
15465 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
15466 orig_height if set.
15467
15468 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
15469 orig_height if set.
15470
15471 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
15472
15473 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
15474 glyph matrices have been freed.
15475
15476 2000-03-05 Gerd Moellmann <gerd@gnu.org>
15477
15478 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
15479 (bootstrap-temacs): Set LC_ALL to C like for temacs.
15480
15481 * xfns.c (QCdata): Moved to xdisp.c.
15482
15483 * xdisp.c (QCdata): Moved here from xfns.c.
15484 (syms_of_xdisp): Initialize QCdata.
15485
15486 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
15487
15488 * window.c (coordinates_in_window): Use
15489 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
15490 FRAME_INTERNAL_BORDER_WIDTH.
15491
15492 * xdisp.c (try_window_id): Recompute unchanged information if
15493 it is obviously invalid.
15494
15495 * xterm.c (x_term_init): Create a colormap if not using the
15496 default visual.
15497
15498 * xterm.h (select_visual): Change prototype.
15499
15500 * xfns.c (select_visual): Rewritten. Recognize user-specified
15501 visual classes.
15502 (visual_classes): New variable.
15503
15504 2000-03-04 Gerd Moellmann <gerd@gnu.org>
15505
15506 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
15507 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
15508 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
15509 (x_decode_color): Don't handle allocation of white and black specially.
15510 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
15511 XtNcolormap resources.
15512 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
15513 (Fx_create_frame): Initialize color members of x_output structure.
15514 (xpm_load): Pass colormap to XPM lib.
15515
15516 * xfaces.c (x_free_colors): Access colormap of frame using
15517 FRAME_X_COLORMAP. Be paranoid about freeing black and white
15518 when default colormap is used.
15519
15520 * xterm.c (x_term_init): Set Colormap member of x_display_info
15521 structure. Copy colormap if resource `privateColormap' is
15522 specified (PseudoColor only).
15523 (x_setup_relief_color): Access colormap of frame using
15524 FRAME_X_COLORMAP.
15525
15526 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
15527 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
15528
15529 2000-03-04 Jason Rumney <jasonr@gnu.org>
15530
15531 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
15532 other non-platform-specific equivalents.
15533 [WINDOWSNT]: Include w32term.h, fontset.h and define X
15534 specific functions and macros as their w32 equivalents where
15535 non-platform-specifics are not available.
15536 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
15537 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
15538 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
15539 (frame_update_line_height): Use macros to access f->output_data.
15540 (defined_color): Remove FIXME comments; fixed.
15541 (x_face_list_fonts, prepare_face_for_display): Put X specifics
15542 into #ifdef blocks. Add WINDOWSNT blocks.
15543 (Fx_list_fonts): Use macros for accessing font data.
15544 (set_lface_from_font_name): Different default fonts for X and
15545 WINDOWSNT.
15546 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
15547 scalable for backward compatibility.
15548 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
15549 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
15550
15551 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
15552 syms_of_w32faces.
15553
15554 * makefile.nt (w32faces.obj): Remove.
15555 (xfaces.obj): Add.
15556
15557 2000-03-03 Jason Rumney <jasonr@gnu.org>
15558
15559 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
15560 correct parameters.
15561
15562 2000-03-03 Ken Raeburn <raeburn@gnu.org>
15563
15564 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
15565 standard ELF definitions here if the system header does not.
15566
15567 2000-03-03 Gerd Moellmann <gerd@gnu.org>
15568
15569 * xterm.c (PER_CHAR_METRIC): Removed.
15570 (x_per_char_metric_1, x_default_char): New functions.
15571 (x_per_char_metric): If font's default char is invalid, return
15572 metrics of a suitably chosen usable default char.
15573 (x_draw_glyph_string_foreground): If font has an invalid default
15574 char, replace occurrences of unprintable chars with a suitably
15575 chosen usable default char.
15576
15577 2000-03-02 Gerd Moellmann <gerd@gnu.org>
15578
15579 * xterm.c (note_mouse_highlight): Return quickly if frame's
15580 glyph matrices have been freed.
15581
15582 * dispnew.c (free_glyphs): Block input while freeing matrices.
15583
15584 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
15585
15586 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
15587 Use x_free_colors.
15588
15589 * dispextern.h (x_free_colors): Add prototype.
15590
15591 * xfaces.c (x_free_colors): New function.
15592 (unload_color, free_face_colors): Use it.
15593
15594 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15595
15596 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
15597
15598 * window.c [MSDOS]: Include msdos.h.
15599
15600 2000-03-02 Dave Love <fx@gnu.org>
15601
15602 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
15603
15604 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
15605 set C_OPTIMIZE_SWITCH for gcc.
15606
15607 2000-03-02 Kenichi Handa <handa@etl.go.jp>
15608
15609 * coding.c (coding_save_composition): Be sure to allocate
15610 composition data area in coding even if there's no composition in
15611 the current run.
15612
15613 2000-03-01 Jason Rumney <jasonr@gnu.org>
15614
15615 * w32term.c: Equivalent changes to those made to xterm.c on
15616 2000-02-25 and 2000-02-24.
15617
15618 * w32fns.c: Equivalent changes to those made to xfns.c on
15619 2000-02-25 and 2000-02-21.
15620
15621 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
15622 correct line-end convention is followed.
15623
15624 * w32menu.c [HAVE_BOXES]: Remove #undef.
15625 (single_keymap_panes): Remove code for simulating checkmarks.
15626 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
15627 Remove code for drawing simulated checkmarks.
15628 (w32_menu_show): make unibyte help string correctly.
15629 (add_menu_item): draw standard Windows checkmarks. Draw radio
15630 buttons as radio buttons if possible.
15631
15632 2000-03-01 Gerd Moellmann <gerd@gnu.org>
15633
15634 * sysdep.c (start_of_text): Don't define this function for NetBSD
15635 with ELF.
15636
15637 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
15638 Don't define.
15639 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
15640 (LINKER): Don't undef if __NetBSD__ is defined.
15641
15642 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
15643
15644 * fileio.c [__NetBSD__]: Define `unix'.
15645
15646 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
15647
15648 2000-02-29 Gerd Moellmann <gerd@gnu.org>
15649
15650 * atimer.c (start_atimer): Don't abort when timers are stopped.
15651 (append_atimer_lists): New function.
15652 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
15653 arbitrary lists of stopped and running atimers.
15654
15655 * atimer.c (cancel_atimer): Handle canceling an atimer when
15656 some timers are stopped.
15657
15658 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
15659 after canceling it.
15660
15661 * fns.c (maybe_resize_hash_table): Handle case of new size
15662 coming out as being the same as old size.
15663
15664 2000-02-27 Jason Rumney <jasonr@gnu.org>
15665
15666 * makefile.nt: Add atimer.h to dependencies.
15667 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
15668 * w32console.c: Only disable window system features for dispextern.h
15669 (initialize_w32_display): Build a display info for the console.
15670 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
15671 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
15672 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
15673 as 2 button mice.
15674 * w32gui.h (struct W32FontStruct): Revert last change after change
15675 to xdisp.c.
15676 * w32menu.c (single_submenu): Set up help string.
15677 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
15678 (w32_dialog_show): Set up help string.
15679 * w32term.c (w32_display_info_for_display): Remove unused function.
15680 (w32_draw_bitmap): Use pre-built bitmaps.
15681 (w32_initialize_display_info): New function to initialize parts of
15682 display info that are common to both GUI and console frames.
15683 (w32_term_init): Use w32_initialize_display_info. Do not set
15684 Vw32_num_mouse_buttons here, as it is not called for console
15685 frames. Build bitmaps for indicating truncated lines etc.
15686 (x_delete_display): Destroy pre-built bitmaps.
15687 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
15688 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
15689
15690 2000-02-27 Dave Love <fx@gnu.org>
15691
15692 * lisp.h: Add a bunch of prototypes.
15693
15694 2000-02-26 Kenichi Handa <handa@etl.go.jp>
15695
15696 * keyboard.c (read_char): Set `usec' correctly.
15697
15698 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15699
15700 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
15701 `lambda', set reg[RRR] to the map index.
15702 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
15703 reg[RRR] to 0. Otherwise, set it to -1.
15704
15705 2000-02-25 Gerd Moellmann <gerd@gnu.org>
15706
15707 * emacs.c (main): Remove code snippet commented out with `//'.
15708
15709 2000-02-25 Richard M. Stallman <rms@gnu.org>
15710
15711 * fileio.c (Ffile_symlink_p): If result starts with a `/'
15712 and contains a `:', prepend `/:'.
15713
15714 * window.c (select_window_1): If selected_window is nil,
15715 don't "swap out" the buffer's point.
15716 (Fset_window_configuration): Set selected_window to nil
15717 before calling Fselect_window.
15718 (unshow_buffer): Don't set point in buffer from window's point
15719 if another more recently selected window also shows the buffer.
15720
15721 2000-02-25 Gerd Moellmann <gerd@gnu.org>
15722
15723 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
15724
15725 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
15726 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
15727 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
15728 New variables.
15729 (DEFAULT_BUSY_CURSOR_DELAY): New define.
15730 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
15731 (hide_busy_cursor): New functions.
15732 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
15733
15734 * minibuf.c (read_minibuf): Cancel busy-cursor.
15735
15736 * keyboard.c (command_loop_1): Call start_busy_cursor before
15737 Fcommand_execute and cancel_busy_cursor after it.
15738 (timer_check): Remove busy-cursor code.
15739 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
15740 cursor timer.
15741
15742 * process.c (wait_reading_process_input): Remove busy-cursor code.
15743
15744 * eval.c (Fsignal): Call cancel_busy_cursor instead of
15745 Fx_hide_busy_cursor.
15746
15747 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
15748 Remove prototyoes.
15749 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
15750
15751 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
15752
15753 * xterm.c (XTread_socket): Remove busy-cursor code.
15754
15755 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
15756 (build_frame_matrix_from_leaf_window): Put code handling
15757 glyph row's not being a slice of a frame row in #if 0.
15758 (sync_window_with_frame_matrix_rows): New function.
15759 (frame_row_to_window): New function.
15760 (mirror_line_dance): Handle copies between windows.
15761
15762 * lread.c (Fload): Use `xfree' instead of `free'.
15763 (init_obarray): Use `xmalloc' instead of `malloc'.
15764
15765 * window.c (Fset_window_buffer): Set WINDOW to the window
15766 after decoding.
15767 (coordinates_in_window): Take frame's internal border width
15768 into account.
15769
15770 2000-02-24 Gerd Moellmann <gerd@gnu.org>
15771
15772 * xterm.c (x_display_and_set_cursor): Display cursor of
15773 non-selected windows depending on the setting of
15774 cursor_in_non_selected_windows.
15775
15776 * xdisp.c (cursor_in_non_selected_windows): New variable.
15777 (syms_of_xdisp): DEFVAR_BOOL it.
15778
15779 2000-02-23 Gerd Moellmann <gerd@gnu.org>
15780
15781 * data.c (Fstring_to_number): If number is greater than what
15782 fits into an integer, return a float.
15783
15784 * eval.c (specbind): Remove references to
15785 keyword_symbols_constant_flag.
15786
15787 * data.c (keyword_symbols_constant_flag): Removed.
15788 (Fmakunbound, set_internal, syms_of_data): Remove references to
15789 keyword_symbols_constant_flag.
15790
15791 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
15792
15793 2000-02-23 Kenichi Handa <handa@etl.go.jp>
15794
15795 * syntax.c (multibyte_syntax_as_symbol): New variable.
15796 (syms_of_syntax): Declare it as a Lisp variable.
15797 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
15798 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
15799 nonzero, treat all multibyte characters as symbol.
15800 (init_syntax_once): Give syntax `word' to all multibyte characters.
15801
15802 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15803
15804 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
15805 a deleted frame.
15806
15807 2000-02-21 Gerd Moellmann <gerd@gnu.org>
15808
15809 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
15810
15811 * xfns.c (x_window_to_frame, x_any_window_to_frame)
15812 (x_non_menubar_window_to_frame): Check the busy-cursor window.
15813
15814 2000-02-21 Dave Love <fx@gnu.org>
15815
15816 * frame.c (Vmouse_position_function): New variable.
15817 (Fmouse_position): Use it.
15818 (syms_of_frame): Install it.
15819
15820 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
15821
15822 2000-02-20 Gerd Moellmann <gerd@gnu.org>
15823
15824 * fileio.c (Finsert_file_contents): Unbind the binding of
15825 standard-output done by temp_output_buffer_setup.
15826
15827 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
15828 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
15829 (specbind, unbind_to): Handle most common case of non-constant
15830 symbol with trivial value specially.
15831
15832 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
15833
15834 2000-02-20 Richard M. Stallman <rms@gnu.org>
15835
15836 * data.c (Fmake_variable_buffer_local): Doc fix.
15837 Init found_for_buffer to 0.
15838 (Fmake_variable_frame_local): If the variable has already
15839 been buffer-local, set the check_frame field.
15840
15841 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
15842
15843 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
15844 produced for CODING_MODE_LAST_BLOCK requires.
15845
15846 2000-02-18 Dave Love <fx@gnu.org>
15847
15848 * keyboard.c (echo_keystrokes): Remove declaration.
15849 (Vecho_keystrokes) New variable.
15850 (read_char, record_menu_key, read_key_sequence): Use it to allow
15851 use of float value.
15852 (syms_of_keyboard): Change Vecho_keystrokes declaration.
15853
15854 * lread.c: Undef feature selection macros before defining.
15855
15856 2000-02-18 Gerd Moellmann <gerd@gnu.org>
15857
15858 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
15859 for symbols other than the symbol in question.
15860
15861 2000-02-17 Dave Love <fx@gnu.org>
15862
15863 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
15864
15865 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15866
15867 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
15868
15869 * alloc.c (enum mem_type): Compile unconditionally.
15870
15871 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
15872
15873 * xfaces.c (tty_defined_color): Don't return faulire indication
15874 for unspecified-fg and unspecified-bg pseudo-colors.
15875
15876 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15877
15878 * alloc.c (mark_object): Don't mark symbol names in pure space.
15879 (gc_sweep): Don't unmark symbol names in pure space.
15880
15881 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15882 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15883 [GC_MARK_STACK]: New defines.
15884 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
15885 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
15886
15887 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
15888
15889 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
15890 allocate_buffer instead of xmalloc.
15891
15892 * alloc.c (toplevel): Include setjmp.h.
15893 (PURE_POINTER_P): New define.
15894 (enum mem_type) [GC_MARK_STACK]: New enumeration.
15895 (Vdead) [GC_MARK_STACK]: New variable.
15896 (lisp_malloc): Add parameter TYPE, call mem_insert if
15897 GC_MARK_STACK is defined.
15898 (allocate_buffer): New function.
15899 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
15900 (free_float) [GC_MARK_STACK]: Set type to Vdead.
15901 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
15902 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
15903 (MEM_NIL) [GC_MARK_STACK]: New define.
15904 (struct mem_node) [GC_MARK_STACK]: New structure.
15905 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
15906 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
15907 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
15908 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
15909 (mark_stack) [GC_MARK_STACK]: New functions.
15910 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
15911 (clear_marks): Removed.
15912 (gc_sweep): Set free conses' car, free floats' type, free
15913 symbols' function to Vdead. Use lisp_free to free buffers.
15914 (init_alloc_once): Initialize Vdead.
15915 (survives_gc_p): Return non-zero for pure objects.
15916
15917 * alloc.c: Add comments throughout the file.
15918
15919 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
15920 that unblocks alarms.
15921
15922 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
15923 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
15924 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
15925
15926 * frame.c (make_frame): Set frame initiallly to `garbaged'.
15927
15928 2000-02-17 Kenichi Handa <handa@etl.go.jp>
15929
15930 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
15931 avoid infinite error signaling. Allocate sufficient memory for
15932 eol_str in the case that eoltype is Lisp_Int.
15933
15934 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
15935
15936 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
15937 depends on the previous behavior.
15938
15939 2000-02-16 Gerd Moellmann <gerd@gnu.org>
15940
15941 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
15942
15943 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15944
15945 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
15946
15947 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
15948 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
15949 write(2).
15950
15951 2000-02-15 Richard M. Stallman <rms@gnu.org>
15952
15953 * data.c (set_internal): Don't make variable buffer-local
15954 if within a let-binding for the same buffer.
15955 (let_shadows_buffer_binding_p): New function.
15956
15957 * eval.c (specbind): For buffer-local value,
15958 record the current buffer also.
15959 (unbind_to): Cope with that change.
15960
15961 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15962
15963 * window.c (Fsave_window_excursion): Doc fix.
15964
15965 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
15966
15967 * syntax.c (back_comment): Make sure we only consider comment-starters
15968 of the relevant style and return -1 in case of a failure to find the
15969 beginning of the comment.
15970 (Fforward_comment): If back_comment fails, go back to the position just
15971 after the comment-end.
15972 (scan_lists): Add comment describing a very minor bug.
15973
15974 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15975
15976 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
15977 `completion-regexp-list' in the docstring.
15978
15979 2000-02-14 Dave Love <fx@gnu.org>
15980
15981 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
15982
15983 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15984
15985 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
15986 to Emacs' syntax. Also fix the comment about set/not-set meanings
15987 since Emacs syntax is not the value 0 any more.
15988 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
15989 since it's now part of RE_SYNTAX_EMACS.
15990
15991 2000-02-12 Dave Love <fx@gnu.org>
15992
15993 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
15994
15995 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15996
15997 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
15998
15999 2000-02-12 Dave Love <fx@gnu.org>
16000
16001 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
16002
16003 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
16004 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
16005 * s/hpux.h: Don't define HAVE_VFORK.
16006
16007 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
16008
16009 * s/nextstep.h: Don't define HAVE_ALLOCA.
16010
16011 * config.in: Add vfork bits.
16012
16013 2000-02-12 Gerd Moellmann <gerd@gnu.org>
16014
16015 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
16016 unwind function to undo the effect of stopping atimers.
16017
16018 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
16019
16020 * atimer.c (stopped_atimers): New variable.
16021 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
16022 New functions.
16023
16024 * atimer.h (stop_other_atimers, run_all_atimers)
16025 (unwind_stop_other_atimers): Add function prototypes.
16026
16027 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
16028
16029 2000-02-11 Ken Raeburn <raeburn@gnu.org>
16030
16031 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
16032 library may depend on jpeg.
16033 (atimer.o): Depends on atimer.c.
16034
16035 2000-02-11 Kenichi Handa <handa@etl.go.jp>
16036
16037 * insdel.c (del_range_1): Call update_compositions.
16038 (del_range_both): Call update_compositions just once..
16039
16040 2000-02-10 Dave Love <fx@gnu.org>
16041
16042 * xfns.c (create_frame_xic): Fix initialization of automatic
16043 aggregates for pcc.
16044
16045 2000-02-09 Kenichi Handa <handa@etl.go.jp>
16046
16047 * ccl.c (CCL_MAKE_CHAR): New macro.
16048 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
16049 registers by CCL_MAKE_CHAR before calling translate_char.
16050 <CCL_TranslateCharacterConstTbl> Likewise.
16051
16052 2000-02-08 Dave Love <fx@gnu.org>
16053
16054 * lread.c (__EXTENSIONS__): Define.
16055
16056 2000-02-08 Gerd Moellmann <gerd@gnu.org>
16057
16058 * puresize.h (BASE_PURESIZE): Increase to 650000.
16059
16060 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
16061
16062 * msdos.c (XMenuActivate): Turn off the cursor after displaying
16063 the help message.
16064
16065 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
16066
16067 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
16068 md, mh, mb, mr, and me to the fake termcap entry.
16069
16070 2000-02-06 Ken Raeburn <raeburn@gnu.org>
16071
16072 * sound.c (sound_cleanup): Don't call device close routine if the
16073 function pointer is null.
16074
16075 2000-02-06 Andrew Innes <andrewi@gnu.org>
16076
16077 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
16078 around image definitions and prototypes.
16079 (gamma_correct) [WINDOWSNT]: New prototype.
16080
16081 * w32term.c (x_make_frame_visible): Replace call to
16082 input_poll_signal with poll_for_input.
16083
16084 * window.c [WINDOWSNT]: Include w32term.h.
16085
16086 * xdisp.c [WINDOWSNT]: Include w32term.h.
16087
16088 * makefile.nt: Add dependencies on w32gui.h.
16089 (OBJ1): Include atimer.obj.
16090 ($(BLD)\atimer.obj): New dependency rule.
16091
16092 * w32.c (sigmask): New function (does nothing).
16093 (sigunblock): Ditto.
16094
16095 * frame.c [WINDOWSNT]: Include w32term.h.
16096
16097 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
16098
16099 * lread.c (syms_of_lread): Fix literal newlines.
16100
16101 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
16102 the string constant limit (2048 bytes) in MSVC.
16103 (main): Ditto.
16104
16105 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
16106
16107 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
16108 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
16109 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
16110 dispatch the event.
16111
16112 2000-02-04 Dave Love <fx@gnu.org>
16113
16114 * fileio.c: Remove some unused vars.
16115 (_GNU_SOURCE): Define (for euidaccess).
16116
16117 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
16118
16119 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
16120 gcpro1, gcpro2.
16121 (read_minibuf): Deal with allow_props correctly.
16122
16123 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
16124
16125 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
16126
16127 2000-02-03 Ken Raeburn <raeburn@gnu.org>
16128
16129 * search.c (compile_pattern): If a cache entry has a nil regexp,
16130 fill in that entry instead of clobbering a previously cached
16131 string regexp.
16132
16133 2000-02-02 Ken Raeburn <raeburn@gnu.org>
16134
16135 * puresize.h (BASE_PURESIZE): Increase to 610000.
16136
16137 2000-02-02 Gerd Moellmann <gerd@gnu.org>
16138
16139 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
16140 can GC.
16141
16142 2000-02-02 Kenichi Handa <handa@etl.go.jp>
16143
16144 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
16145 instead of incrementing ic directly.
16146 <CCL_WriteExprConst> Likewise.
16147 <ccl_set_expr>: Set ic to jump_address.
16148
16149 * fileio.c (e_write): Fix the handling of
16150 CODING_FINISH_INSUFFICIENT_SRC.
16151
16152 2000-02-01 Dave Love <fx@gnu.org>
16153
16154 * editfns.c (Fpropertize): Doc fix.
16155
16156 * process.c (Fstart_process): Doc fix.
16157
16158 * eval.c: Fix various doc strings not to duplicate information
16159 from help-manyarg-func-alist.
16160
16161 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
16162
16163 * doc.c (Vhelp_manyarg_func_alist): New variable.
16164 (Fdocumentation): Use it.
16165 (syms_of_doc): Define it.
16166
16167 2000-01-31 Gerd Moellmann <gerd@gnu.org>
16168
16169 * xterm.c (xim_open_dpy): Remove unused local variable.
16170
16171 * emacs.c (USAGE): Use term `display options' instead of `X options'.
16172
16173 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
16174 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
16175
16176 * fns.c (sweep_weak_table): New function.
16177 (sweep_weak_hash_tables): Use it. Keep on marking until there
16178 is no more change.
16179
16180 2000-01-30 Gerd Moellmann <gerd@gnu.org>
16181
16182 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
16183 that XTread_socket does not crash by trying to call XNoOp on a
16184 closed display.
16185
16186 2000-01-30 Jason Rumney <jasonr@gnu.org>
16187
16188 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16189 Change selected_frame to SELECTED_FRAME ().
16190 (w32_console_mouse_position): Remove #ifndef MULE from around
16191 `insist' parameter.
16192
16193 * makefile.nt: Remove dosfns.obj.
16194
16195 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
16196
16197 * w32fns.c (w32_defined_color): Check for valid frame before
16198 applying gamma correction. Eliminate dependency on frame elsewhere.
16199 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
16200 (w32_to_x_font): Use resx and resy not height_in and width_in.
16201 (x_to_w32_font): Doc fix.
16202 (xlfd_strip_height): New function to strip and return font height.
16203 (w32_font_match): Compare height separately from rest of xlfd
16204 spec, using xlfd_strip_height.
16205
16206 * w32term.c (w32_term_init): Swap resx and height_in, resy and
16207 width_in. Use w32_defined_color in place of defined_color.
16208
16209 * w32faces.c: Merge more of DOS and X specifics in preparation for
16210 merge with xfaces.c.
16211 (defined_color): Remove FIXME comment.
16212 (tty_color_name): Provide w32-specific function.
16213 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
16214
16215 * w32console.c (turn_on_face, turn_off_face): Removed.
16216 (w32_face_attributes): New function.
16217 (Global_variables): Reduce scope where possible.
16218 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
16219 fill attribute.
16220 (hl_mode): Don't modify text attributes.
16221 (write_glyphs): Don't do anything if len <= 0. Use
16222 w32_face_attributes to get attributes for drawing. Write
16223 terminating codes using char_attr_normal.
16224 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
16225 (update_begin, update_end): Likewise.
16226 (vga_stdcolor_name): New function.
16227 (initialize_w32_display): Remove char_attr_reverse and char_attr.
16228 (Fset_screen_color): Remove char_attr_reverse.
16229
16230 2000-01-29 Gerd Moellmann <gerd@gnu.org>
16231
16232 * xfns.c (xic_set_preeditarea): Take window parameter and
16233 window-relative pixel-positions.
16234
16235 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
16236 is its frame's selected window.
16237 (xim_instantiate_callback): Likewise.
16238
16239 * xfns.c (x_create_im): Removed.
16240 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
16241 (supported_xim_styles): Renamed from supported_styles.
16242 (best_xim_style): Renamed from best_style.
16243 (create_frame_xic): Renamed from xic_create_frame.
16244 (free_frame_xic): Renamed from xic_destroy_frame.
16245
16246 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
16247
16248 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
16249 our frames, call XFilterEvent with 2nd parameter `None'.
16250 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
16251 returning XBufferOverflow.
16252 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
16253 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
16254 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
16255 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
16256 (xim_initialize, xim_close)
16257 [HAVE_X_I18N && HAVE_X11R6]: New functions.
16258 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
16259 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
16260 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
16261
16262 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
16263 and `xim_styles'.
16264 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
16265 `xic_style' and `xic_xfs'.
16266 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
16267 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
16268 (FRAME_XIM): Removed.
16269
16270 * xfns.c (supported_styles): New variable.
16271 (DEFAULT_STYLE, DEFAULT_FONT): New macros
16272 (xic_create_xfontset, best_style, xic_create_frame)
16273 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
16274 (xic_set_xfontset): New functions.
16275
16276 2000-01-28 Dave Love <fx@gnu.org>
16277
16278 * s/irix6-5.h: Revert last change after change to irix5-0.h.
16279
16280 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
16281
16282 2000-01-28 Gerd Moellmann <gerd@gnu.org>
16283
16284 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
16285 for *scratch* if it already existed.
16286
16287 * emacs.c (USAGE): New macro.
16288 (main): Use it to display usage information.
16289
16290 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
16291
16292 Support for the menu-help feature:
16293
16294 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
16295
16296 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
16297 part of the line to the termscript file.
16298 (IT_clear_to_end): Clear the entire line, not just its beginning.
16299 (menu_help_message, prev_menu_help_message): New variables.
16300 (IT_menu_make_room): Make room for the help_text member.
16301 (IT_menu_display): New argument disp_help; all callers changed.
16302 If disp_help is non-zero, store the help text of the active menu
16303 item in menu_help_message.
16304 (XMenuAddPane): Initialize the help_text member to NULL.
16305 (XMenuAddSelection): New argument help_text. Store it in the
16306 XMenu structure.
16307 (XMenuActivate): New argument help_callback. If the value of
16308 menu_help_message has changed since the last time, display the
16309 menu help message text while waiting for the mouse to move. Clear
16310 the echo area before exiting.
16311 (XMenuDestroy): Free the help_text member.
16312
16313 2000-01-27 Gerd Moellmann <gerd@gnu.org>
16314
16315 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
16316 XMenuAddSelection. Pass help callback to XMenuActivate.
16317 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
16318
16319 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
16320
16321 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
16322 and EMACS_SET_USECS.
16323
16324 2000-01-26 Dave Love <fx@gnu.org>
16325
16326 * editfns.c (Fchar_after, Fchar_before): Doc fix.
16327
16328 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
16329 an error may be signalled.
16330
16331 2000-01-26 Gerd Moellmann <gerd@gnu.org>
16332
16333 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
16334 LD_SWITCH_SYSTEM inherited from irix5-0.h.
16335
16336 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
16337
16338 2000-01-25 Gerd Moellmann <gerd@gnu.org>
16339
16340 * charset.c (Fstring): If there is a multibyte char among
16341 the args, always return a multibyte string.
16342
16343 2000-01-25 Gerd Moellmann <gerd@gnu.org>
16344
16345 * sysdep.c (sys_select): Turn atimers off and on instead of
16346 recording and restoring old alarm handler
16347
16348 * process.c (toplevel): Include atimer.h.
16349 (create_process_1): Rewritten.
16350 (create_process): Use atimers instead of alarm.
16351 (wait_reading_process_input) [hpux]: Turn atimers off instead
16352 of turning off SIGALRM.
16353 (wait_reading_process_input): Turn off atimers instead off
16354 calling stop_polling.
16355
16356 * emacs.c (main): Call init_atimer.
16357
16358 * keyboard.c (toplevel): Include systime.h and atimer.h.
16359 (polling_for_input): Removed because unused.
16360 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
16361 (poll_timer): New variable.
16362 (poll_for_input, poll_for_input_1): New functions.
16363 (start_polling, stop_polling): Rewritten.
16364
16365 * keyboard.h (polling_for_input): Removed.
16366
16367 * atimer.h, atimer.c: New files.
16368
16369 * Makefile.in (obj): Add atimer.o.
16370 (atimer.o): New target.
16371
16372 * blockinput.h (pending_atimers): Add extern declaration.
16373 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
16374
16375 * lisp.h (popup_activated_flag): Add extern declaration.
16376
16377 * xmenu.c (popup_activated_flag): Make externally visible.
16378 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
16379 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
16380
16381 * xterm.c (toplevel): Include atimer.h.
16382 (toolkit_scroll_bar_interaction): New variable.
16383 (Fxt_process_timeouts): Removed.
16384 (x_process_timeouts): New function.
16385 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
16386 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
16387 (x_make_frame_visible): Call poll_for_input_1 instead of
16388 input_poll_signal. Don't call alarm.
16389 (x_initialize): Install timer calling x_process_timeouts.
16390
16391 2000-01-24 Dave Love <fx@gnu.org>
16392
16393 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
16394 Don't use -cckr -- apparently not now necessary.
16395
16396 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
16397
16398 * msdos.c (IT_menu_display): Truncate long menu lines at the right
16399 screen boundary.
16400
16401 2000-01-23 Jason Rumney <jasonr@gnu.org>
16402
16403 * w32fns.c (w32_defined_color): Apply gamma correction before
16404 trying to map to the palette.
16405 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
16406 to w32_clear_rect.
16407
16408 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
16409 here. Callers changed to always pass real device context.
16410 (w32_draw_bitmap): Likewise.
16411 (w32_get_glyph_overhangs): Likewise.
16412 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
16413 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
16414 pfnSetScrollInfo and SetScrollRange.
16415 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
16416 back into MULE characters after decoding them.
16417 (x_get_glyph_face_and_encoding): Likewise.
16418 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
16419 GetCharABCWidthsW fails, since this is defined on Windows 9x.
16420 (x_produce_glyphs): Calculate per char metrics for a character
16421 that we know exists in default font when font_not_found_p is true.
16422
16423 2000-01-22 Jason Rumney <jasonr@gnu.org>
16424
16425 * makefile.nt (intervals.obj, composite.obj): New modules.
16426 (composite.h): Added as dependency where appropriate.
16427
16428 * w32gui.h (XGCValue): New struct for emulating X GCs.
16429
16430 * w32term.h (XCharStruct): New struct for emulating X.
16431
16432 * w32console.c (turn_on_face, turn_off_face): New functions.
16433 (change_line_highlight): New prototype for new redisplay.
16434 (write_glyphs): Support multibyte text. Support faces.
16435
16436 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
16437
16438 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
16439 throughout. struct frame * in place of FRAME_PTR.
16440 Skeleton support for images, toolbars, tooltips from xfns.c.
16441 (Fx_create_frame): Use system default for default scroll bar width.
16442 (w32_get_arg): Renamed from x_get_arg.
16443 (Fx_file_dialog): New function.
16444 (w32_list_fonts): Check cache before asking system.
16445 (Vw32_enable_synthesized_fonts): New variable.
16446 (Vw32_enable_italics): Obsolete, removed.
16447
16448 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16449 Use SELECTED_FRAME macro.
16450
16451 * w32menu.c: Add skeleton support for help strings on menus.
16452 (add_menu_item): Native checkbox and radio support added, but not
16453 yet enabled due to bugs.
16454 (push_menu_item): Add parameters type, selection and help.
16455 Callers updated.
16456 Formatting changes to reduce unnecessary diffs with xmenu.c.
16457
16458 * w32select.c (Fw32_set_clipboard_data): Update call to
16459 find_charset_in_str.
16460
16461 * w32term.c: Complete rewrite for new redisplay based on new
16462 xterm.c with necessary sections merged back in from old w32term.c.
16463
16464 2000-01-21 Richard M. Stallman <rms@gnu.org>
16465
16466 * data.c (set_internal): Further fix in same criterion.
16467
16468 2000-01-20 Richard M. Stallman <rms@gnu.org>
16469
16470 * data.c (set_internal): Fix the criteria for whether
16471 to swap out the old cached binding.
16472
16473 2000-01-19 Dave Love <fx@gnu.org>
16474
16475 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
16476
16477 2000-01-18 Kenichi Handa <handa@etl.go.jp>
16478
16479 * regex.c (re_compile_fastmap): While checking a range table for
16480 `charset', skip flag bits for a character class correctly.
16481
16482 2000-01-17 Gerd Moellmann <gerd@gnu.org>
16483
16484 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
16485
16486 * xfns.c (x_window): Call lw_create_widget with new parameter list.
16487
16488 * widget.c (EmacsFrameSetCharSize): Change size of children first
16489 because of problems with main window geometry management under Lesstif.
16490
16491 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
16492 MENU_ITEMS_ITEM_.*.
16493 (MENU_ITEMS_ITEM_HELP): New enumerator.
16494 (push_menu_item): Add parameter HELP. Record help in menu_items.
16495 (single_menu_item, single_submenu, list_of_items): Call
16496 push_menu_item with new parameter.
16497 (single_submenu): Set help string in widget value.
16498 (menu_highlight_callback): New function.
16499 (set_frame_menubar): Call lw_create_widget with new
16500 parameter list.
16501 (xmenu_show, xdialog_show): Ditto.
16502
16503 2000-01-13 Gerd Moellmann <gerd@gnu.org>
16504
16505 * sound.c (Fplay_sound): Improve doc string.
16506
16507 2000-01-11 Richard M. Stallman <rms@gnu.org>
16508
16509 * lisp.h (set_internal): Enter the new arg.
16510
16511 * eval.c (specbind): Record buffer-local variables specially,
16512 indicating which buffer's binding was saved.
16513 (unbind_to): Restore buffer-local variables specially
16514 in the proper buffer.
16515
16516 * data.c (set_internal): New arg BUF.
16517
16518 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
16519 * data.c (Fset): Pass new arg to set_internal.
16520 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
16521
16522 2000-01-11 Gerd Moellmann <gerd@gnu.org>
16523
16524 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
16525
16526 2000-01-11 Richard M. Stallman <rms@gnu.org>
16527
16528 * minibuf.c (Ftry_completion): Doc fix.
16529
16530 2000-01-11 Gerd Moellmann <gerd@gnu.org>
16531
16532 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
16533 vector, too.
16534
16535 2000-01-11 Andreas Schwab <schwab@suse.de>
16536
16537 * coding.c (code_convert_region): Initialize total_skip.
16538
16539 2000-01-08 Dave Love <fx@gnu.org>
16540
16541 * eval.c (Fuser_variable_p): Check customizability too.
16542
16543 2000-01-07 Gerd Moellmann <gerd@gnu.org>
16544
16545 * minibuf.c (Fcompleting_read): Doc fix.
16546
16547 2000-01-05 Gerd Moellmann <gerd@gnu.org>
16548
16549 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
16550 -L /usr/local/lib.
16551
16552 * xfns.c (x_create_im): New function to set IM and IC of a frame.
16553 Check that input style is supported before trying to create an
16554 IC for it.
16555 (x_window): Call x_create_im.
16556
16557 2000-01-04 Gerd Moellmann <gerd@gnu.org>
16558
16559 * xfns.c (current_gif_memory_src): New variable.
16560 (gif_load): Record the address of the current memory source
16561 in current_gif_memory_src.
16562 (gif_read_from_memory): Use current_gif_memory_src.
16563
16564 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
16565 macros statement form.
16566
16567 * sound.c (struct sound): Renamed from struct sound_file.
16568 (struct sound): Add members `data' and `header_size'.
16569 (enum sound_attr): Add SOUND_DATA.
16570 (current_sound, current_sound_device): Variables renamed from
16571 sound_file and sound_device.
16572 (parse_sound): Parse :data.
16573 (parse_sound): Handle sound data in strings.
16574 (find_sound_type): Function renamed from find_sound_file_type.
16575 (wav_init, au_init): Fail if sound's header_size is smaller than
16576 needed header size.
16577 (wav_play, au_play): Play sounds from string data.
16578
16579 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
16580
16581 * lisp.h: Add prototype for allocate_string_data.
16582
16583 * alloc.c (Fgarbage_collect): Return number of live and free strings.
16584
16585 * alloc.c (mark_buffer): Remove code in #if 0.
16586 (gc_sweep): Ditto.
16587 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
16588 (strings_consed): New variable.
16589 (allocate_string): Set it.
16590 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
16591 (Fmemory_use_counts): Return strings_consed. Use Flist.
16592
16593 * alloc.c: General cleanup in comments etc. Remove conditional
16594 compilation for `standalone'.
16595
16596 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
16597
16598 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
16599 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
16600 (DONT_COPY_FLAG): Removed.
16601 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
16602 (struct sdata, struct sblock): New
16603 (struct string_block): Rewritten.
16604 (STRINGS_IN_STRING_BLOCK): New macro.
16605 (oldest_sblock, current_sblock, total_strings, total_free_strings)
16606 (large_sblocks, string_blocks, string_free_list): New variables.
16607 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
16608 (init_strings): Rewritten.
16609 (allocate_string, allocate_string_data, compact_small_strings)
16610 (free_large_strings, sweep_strings): New functions.
16611 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
16612 (struct string_block_head, current_string_block)
16613 (first_string_block, large_string_blocks, STRING_FULLSIZE)
16614 (STRING_PAD): Removed.
16615 (make_uninit_multibyte_string, make_pure_string): Rewritten.
16616 (Fgarbage_collect): Don't set mark bit in large strings.
16617 (mark_object): Mark strings differently. Mark symbol names
16618 differently.
16619 (survives_gc_p): Test marked strings differently.
16620 (gc_sweep): Sweep strings differently, unmark strings in
16621 symbol names.
16622 (compact_strings): Removed.
16623
16624 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
16625
16626 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
16627 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
16628
16629 2000-01-04 Kenichi Handa <handa@etl.go.jp>
16630
16631 * fileio.c (Finsert_file_contents): Signal error if visiting file
16632 in a non-empty buffer.
16633
16634 * term.c (encode_terminal_code): Fix the previous change.
16635
16636 2000-01-03 Gerd Moellmann <gerd@gnu.org>
16637
16638 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
16639 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
16640
16641 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
16642
16643 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16644
16645 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
16646 need to test for MSDOS frames.
16647
16648 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16649
16650 * dosfns.c (unspecified_colors): Remove.
16651 (msdos_stdcolor_idx): Use global variables unspecified_fg and
16652 unspecified_bg.
16653 (msdos_stdcolor_name): Return strings for unspecified fore- and
16654 back-ground colors.
16655
16656 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
16657 (syms_of_xfaces): Remove their staticpro's.
16658 (tty_color_name): Return Lisp strings for unspecified fore- and
16659 back-ground colors.
16660 (Finternal_set_lisp_face_attribute): Remove the special treatment
16661 for Qunspecified_{f,b}g.
16662 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
16663
16664 2000-01-03 Gerd Moellmann <gerd@gnu.org>
16665
16666 * xdisp.c (reseat_at_next_visible_line_start): Position before
16667 newline only if ending up on a newline.
16668 (next_element_from_ellipsis): Return success. Handle case of
16669 displaying no ellipsis. Fix case of ellipsis defined in display table.
16670 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
16671 returns 0.
16672
16673 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16674
16675 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
16676 (Fcolor_supported_p): Renamed from face-color-supported-p.
16677
16678 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16679
16680 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
16681 list of colors renamed to tty-defined-color-alist.
16682 (tty_color_name): Pass the frame to tty-color-by-index.
16683 (realize_tty_face): tty-color-alist is now a function which
16684 accepts the frame as argument.
16685
16686 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
16687
16688 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16689
16690 * term.c (insert_glyphs): Pass glyph, not &glyph, to
16691 encode_terminal_code.
16692
16693 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16694
16695 * dispnew.c (mode_line_string): Support termcap frames as well.
16696
16697 2000-01-01 Gerd Moellmann <gerd@gnu.org>
16698
16699 * syntax.c (Fforward_word): Undo previous change.
16700
16701 * editfns.c (Fconstrain_to_field): Don't constrain if
16702 inhibit-field-text-motion is non-nil.
16703 (Fline_beginning_position): Undo previous change.
16704 (Fline_end_position): Ditto.
16705
16706 * syntax.c (Fforward_word): Notice field boundaries only if
16707 inhibit-field-text-motion is nil.
16708
16709 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
16710
16711 * editfns.c (Vinhibit_field_text_motion): New variable.
16712 (inhibit-field-text-motion): New DEFVAR_LISP.
16713 (Fline_beginning_position, Fline_end_position): Notice field
16714 boundaries only if inhibit-field-text-motion is nil.
16715
16716 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
16717 All calls adjusted.
16718 (x_build_heuristic_mask): Likewise.
16719 (xbm_load_image_from_file): Change error output.
16720 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
16721 (gif_load, gs_load, x_kill_gs_process): Ditto.
16722
16723 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
16724 color indices when accessing raster pixels.
16725 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
16726 one of :file or :data.
16727 (enum pbm_keyword_index): Add PBM_DATA.
16728 (pbm_format): Add :data.
16729 (pbm_image_p): Allow either :file or :data.
16730 (pbm_read_file): New function.
16731 (pbm_scan_number): Rewritten to read from string.
16732 (pbm_load): Support :data.
16733
16734 See ChangeLog.8 for earlier changes.
16735
16736 ;; Local Variables:
16737 ;; coding: iso-2022-7bit
16738 ;; End:
16739
16740 Copyright (C) 2001 Free Software Foundation, Inc.
16741 Copying and distribution of this file, with or without modification,
16742 are permitted provided the copyright notice and this notice are preserved.