]> code.delx.au - gnu-emacs/blob - src/ChangeLog.7
*** empty log message ***
[gnu-emacs] / src / ChangeLog.7
1 1998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
2
3 * Version 20.3 released.
4
5 * callproc.c (Fcall_process): Use malloc for decoding_buf.
6
7 * s/freebsd.h (LD_SWITCH_SYSTEM): Delete -dp.
8
9 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Increased.
10
11 1998-08-18 Richard Stallman <rms@psilocin.ai.mit.edu>
12
13 * xselect.c (selection_data_to_lisp_data): Code-convert selections
14 regardless of enable-multibyte-characters.
15 (lisp_data_to_selection_data): Likewise for decoding.
16
17 1998-08-18 Ken'ichi Handa <handa@delysid.gnu.org>
18
19 * ccl.c (ccl_driver): In case
20 ccl_read_multibyte_character_suspend:, if ccl->last_block is
21 nonzero, jump to ccl_repeat.
22
23 1998-08-18 Kenichi Handa <handa@etl.go.jp>
24
25 * ccl.c (CCL_READ_CHAR): If eof is encounterd while processing the
26 last block, don't just finish but processes eol block of the
27 current CCL program.
28 (ccl_driver): Add a new jump label ccl_repeat for the above change.
29
30 * coding.c (ccl_coding_driver): Setup ccl->last_block properly.
31 (setup_coding_system): Correctly setup `valid_codes' member.
32
33 * term.c (write_glyphs): When terminal_coding require flushing,
34 call encode_coding with "" as the SOURCE arg so that ccl_driver
35 correctly processes eof block of a CCL program.
36
37 1998-08-18 Richard Stallman <rms@psilocin.ai.mit.edu>
38
39 * keyboard.c (read_char): If not reading a key sequence (MAPS is nil),
40 bind input-method-exit-on-first-char and input-method-use-echo-area
41 to t.
42 (read_char): If PREV_EVENT is non-nil, don't run the input method.
43 (read_key_sequence): Do not bind input-method-function.
44
45 * callint.c (Fcall_interactively): Pass new args to Fread_event
46 and Fread_char. Let Fread_char do the prompting.
47
48 * lread.c (read_filtered_event): New arg INPUT_METHOD. Calls changed.
49 (Fread_event): New args PROMPT and SUPPRESS-INPUT-METHOD.
50 (Fread_char, Fread_char_exclusive): Likewise.
51 * lisp.h (Fread_event, Fread_char, Fread_char_exclusive):
52 Update declarations.
53
54 * fns.c (Fy_or_n_p): Don't bind input-method-function.
55 Instead, pass 0 as INPUT_METHOD to read_filtered_event.
56
57 * insdel.c (replace_range): Rename NOMARKERS arg to MARKERS.
58
59 * editfns.c (Ftranspose_regions): Pass 0 as NOMARKERS to replace_range.
60
61 * cmds.c (internal_self_insert): Pass 1 as NOMARKERS to replace_range.
62
63 * fns.c (Fy_or_n_p): Bind input-method-function to nil.
64
65 1998-08-17 Richard Stallman <rms@psilocin.ai.mit.edu>
66
67 * keyboard.c (Freset_this_command_lengths): Return nil.
68 (read_char): [Changes in the input method code.]
69 Process and clear before_command_restore_flag before the input method.
70 Save and restore ok_to_echo_at_next_pause and
71 current_kboard->echo_after_prompt.
72 Save, copy and empty this_command_keys, if it is not empty.
73 Clear the echo area before the input method.
74 Then in all cases restore this_command_keys, and reenable echoing
75 if it was enabled before.
76
77 1998-08-16 Richard Stallman <rms@psilocin.ai.mit.edu>
78
79 * charset.c (Fmultibyte_char_to_unibyte): New function.
80 (syms_of_charset): Defsubr it.
81
82 1998-08-15 Richard Stallman <rms@psilocin.ai.mit.edu>
83
84 * xterm.c, xterm.h: x_display_unibyte_char_with_fontset renamed to
85 unibyte_display_via_language_environment.
86
87 * xfns.c (unibyte_display_through_language_environment):
88 Renamed from x_display_unibyte_char_with_fontset.
89
90 * xterm.h (widget_store_internal_border): Conditionalize declaration.
91
92 1998-08-15 Kenichi Handa <handa@etl.go.jp>
93
94 * coding.c (coding_category_name): Fix the order of initial
95 contents.
96 (detect_coding_mask): Fix previous change.
97
98 * insdel.c (copy_text): Fix previous change, call
99 multibyte_char_to_unibyte.
100
101 * puresize.h (BASE_PURESIZE): Increased.
102
103 * xfns.c (x_display_unibyte_char_with_fontset): New variable.
104 (syms_of_xfns): Declare x-display-unibyte-char-with-fontset as a
105 Lisp variable.
106
107 * xterm.h (x_display_unibyte_char_with_fontset): Extern it.
108
109 * xterm.c (dumpglyphs): If x_display_unibyte_char_with_fontset is
110 nonzero, convert a unibyte 8-bit char to a multibyte char and
111 display it by a font listed in the current fontset.
112
113 * xselect.c (Vnext_selection_coding_system): New variable.
114 (selection_data_to_lisp_data): If Vnext_selection_coding_system is
115 non-nil, use it.
116 (lisp_data_to_selection_data): Likewise.
117 (syms_of_xselect): Declare next-selection-coding-system as a Lisp
118 variable.
119
120 1998-08-13 Eli Zaretskii <eliz@delysid.gnu.org>
121
122 * msdos.c (dos_set_keyboard): Set up stack and flags before
123 calling _go32_dpmi_simulate_int.
124
125 1998-08-13 Andrew Innes <andrewi@harlequin.co.uk>
126
127 * w32.c (stat): Fall-back to default behaviour when we cannot get
128 accurate information on file attributes.
129
130 1998-08-12 Richard Stallman <rms@psilocin.ai.mit.edu>
131
132 * indent.c (vmotion): Don't use WINDOW for Fget_char_property
133 when it is not showing the right buffer.
134
135 1998-08-11 Richard Stallman <rms@psilocin.ai.mit.edu>
136
137 * process.c (wait_reading_process_input): If a pty gives EIO,
138 raise SIGCHLD just in case.
139
140 1998-08-10 Richard Stallman <rms@psilocin.ai.mit.edu>
141
142 * syntax.c (scan_sexps_forward): Set up the syntax table scanning
143 stuff before jumping into the loop.
144
145 1998-08-10 Eli Zaretskii <eliz@delysid.gnu.org>
146
147 * msdos.c (IT_cmgoto): In the echo area, only put the cursor at
148 the end of text if it is beyond the displayed text end.
149
150 1998-08-10 Richard Stallman <rms@psilocin.ai.mit.edu>
151
152 * keyboard.c (read_char): Don't decrement this_command_key_count
153 when saving it.
154
155 1998-08-09 Kenichi HANDA <handa@etl.go.jp>
156
157 * fileio.c (Fwrite_region): Reflect the eol conversion
158 specification of default value of buffer-file-coding-system if
159 any.
160
161 * coding.c (default_buffer_file_coding): New variable.
162 (init_coding_once): Initialize default_buffer_file_coding.
163
164 * coding.h (default_buffer_file_coding): Extern it.
165
166 1998-08-09 Richard Stallman <rms@psilocin.ai.mit.edu>
167
168 * s/freebsd.h (__FreeBSD_version): Define it, or else
169 include osreldate.h to define it.
170 (LIB_GCC): Unconditional definition deleted.
171 [ELF] (LD_SWITCH_SYSTEM, START_FILES, UNEXEC, LIB_STANDARD, LIB_GCC):
172 New alternative definitions.
173 [! ELF] (START_FILES, LIB_GCC): New alternative definitions.
174
175 * unexelf.c (unexec): Check for section names end and edata
176 with no underscore.
177
178 * coding.c (CHARSET_OK): Check that coding_system_table[IDX] != 0.
179
180 1998-08-08 Richard Stallman <rms@psilocin.ai.mit.edu>
181
182 * coding.c: Avoid using initializers for Lisp_Object.
183
184 1998-08-07 Paul Eggert <eggert@twinsun.com>
185
186 * xterm.c (x_term_init): Don't reset LC_TIME to "C", since we
187 want strftime to be localized.
188
189 1998-08-07 Richard Stallman <rms@psilocin.ai.mit.edu>
190
191 * s/ptx4-2.h: New file.
192
193 * xterm.c (x_list_fonts): Fix previous change.
194
195 * callproc.c (Fcall_process): Check type of process cmd args
196 earlier on.
197
198 * process.c (Fprocess_send_eof): Transfer proc_encode_coding_system
199 data to the new outfd.
200
201 * commands.h (Vthis_command): Renamed from this_command.
202
203 * minibuf.c (Fminibuffer_complete):
204 this_command renamed to Vthis_command.
205
206 * macros.c (Fcall_last_kbd_macro):
207 this_command renamed to Vthis_command.
208
209 * keyboard.c (Vthis_command): Renamed from this_command.
210 (real_this_command): New variable, but not a Lisp variable;
211 updated like Vthis_command, but never altered by Lisp programs.
212 (command_loop_1): Use real_this_command to set Vreal_last_command.
213
214 1998-08-07 Kenichi Handa <handa@etl.go.jp>
215
216 * cmds.c (internal_self_insert): If enable-multibyte-characters is
217 nil, convert a multibyte character to unibyte appropriately.
218
219 * editfns.c (general_insert_function): Likewise.
220
221 * charset.c (multibyte_char_to_unibyte): New function.
222 (charset_id_internal): Avoid initializer for Lisp_Object.
223 (init_charset_once): Likewise.
224
225 * lisp.h (multibyte_char_to_unibyte): Extern it.
226
227 1998-08-06 Richard Stallman <rms@psilocin.ai.mit.edu>
228
229 * window.c (Fsplit_window): Doc fix.
230
231 * macros.c (Fexecute_kbd_macro): Fix error message.
232 (Fend_kbd_macro): Fix error message.
233
234 * coding.c (setup_coding_system): Avoid initializer for Lisp_Object.
235 (setup_raw_text_coding_system, detect_coding): Likewise.
236 (code_convert_region, code_convert_string): Likewise.
237 (Fset_coding_priority_internal): Likewise.
238
239 1998-08-06 Kenichi Handa <handa@etl.go.jp>
240
241 * dired.c (Fdirectory_files): If MATCH is non-nil, decode filenames
242 before checking them against MATCH.
243
244 1998-08-05 Richard Stallman <rms@psilocin.ai.mit.edu>
245
246 * keyboard.c (read_char): When input method returns no chars,
247 call cancel_echoing. Restore the previous echo area message
248 and this_command_keys, too.
249
250 * abbrev.c (Funexpand_abbrev): Add ADJUST instead of subtracting.
251
252 * w32select.c (Vselection_coding_system):
253 Renamed from Vclipboard_coding_system.
254 (syms_of_w32select): No need to staticpro Vselection_coding_system.
255
256 1998-08-04 Eli Zaretskii <eliz@delysid.gnu.org>
257
258 * w16select.c (Vselection_coding_system):
259 Renamed from Vclipboard_coding_system.
260 (Fw16_set_clipboard_data): Don't count trailing zero in the string
261 for the purposes of conversion.
262
263 1998-08-04 Richard Stallman <rms@psilocin.ai.mit.edu>
264
265 * xterm.c (x_list_fonts): Call XFreeFont after the new call
266 to XLoadQueryFont.
267 (fast_find_position): Handle case where position is before
268 an invisible character, thus not actually listed in charstarts.
269
270 * keyboard.c (Vinput_method_previous_message): New variable.
271 (syms_of_keyboard): Set up lisp variable.
272 (Qinput_method_exit_on_first_char, Qinput_method_use_echo_area):
273 New variables.
274 (syms_of_keyboard): Initialize them.
275 (Fread_key_sequence): New arg COMMAND_LOOP.
276 Bind those variables.
277
278 * lisp.h (Fread_key_sequence): Update declaration.
279
280 * callint.c (Fcall_interactively): Pass new arg to Fread_key_sequence.
281
282 1998-08-03 Richard Stallman <rms@psilocin.ai.mit.edu>
283
284 * window.c (Fmove_to_window_line): Doc fix.
285
286 * xterm.h (FRAME_OUTER_WINDOW): New macro.
287
288 * xterm.c (x_make_frame_visible): Use XGetGeometry to see if
289 position has been changed by the window manager. Use
290 FRAME_OUTER_WINDOW.
291
292 * insdel.c (replace_range): Don't assume PT is at the place
293 where the change is being done.
294
295 * editfns.c (Fsubst_char_in_region): Use replace_range in case
296 where we may need to combine bytes.
297 (Ftranslate_region): Likewise.
298
299 1998-08-01 Richard Stallman <rms@psilocin.ai.mit.edu>
300
301 * lread.c (read1): In reading a string, treat Qlambda
302 like Qget_file_char.
303
304 * doc.c (Fdocumentation): Specify UNIBYTE = 0
305 when calling get_doc_string for a compiled function.
306
307 1998-08-01 Kenichi HANDA <handa@etl.go.jp>
308
309 * ccl.h (ccl_spec): New member valid_codes.
310
311 * coding.c (Qvalid_codes): New variable.
312 (coding_category_name): Include "coding-category-ccl".
313 (detect_coding_ccl): New function.
314 (setup_coding_system): Setup coding->spec.ccl.valid_codes from the
315 coding system priority `valid-codes' for CCL based coding systesm.
316 (detect_coding_mask): Check also a CCL based coding system.
317 (Fupdate_coding_systems_internal): Renamed from
318 Fupdate_iso_coding_systems.
319 (syms_of_coding): Change property char-table-extra-slot of
320 translation-table to 1. Initialize and static pro Qvalid_codes.
321
322 * coding.h (CODING_CATEGORY_IDX_CCL): New macro.
323 (CODING_CATEGORY_IDX_BIG5, CODING_CATEGORY_IDX_RAW_TEXT,
324 CODING_CATEGORY_IDX_BINARY, CODING_CATEGORY_IDX_MAX): Increased by
325 one.
326 (CODING_CATEGORY_MASK_CCL): New macro.
327 (CODING_CATEGORY_MASK_ANY): Include CODING_CATEGORY_MASK_CCL.
328
329 * insdel.c (copy_text): In multibyte to unibyte conversion, take
330 nonascii-translation-table and nonascii-insert-offset into
331 account.
332
333 1998-07-30 Paul Eggert <eggert@twinsun.com>
334
335 * src/Makefile.in (widget.o, xfns.o, xmenu.o):
336 Prepend $(srcdir)/ to rule dependencies outside this dir.
337
338 1998-07-29 Kenichi Handa <handa@etl.go.jp>
339
340 * fns.c (concat): Fix previous change.
341
342 1998-07-29 Richard Stallman <rms@psilocin.ai.mit.edu>
343
344 * process.c (create_process): For outchannel, set up
345 proc_encode_coding_system, not proc_decode_coding_system.
346
347 1998-07-28 Richard Stallman <rms@psilocin.ai.mit.edu>
348
349 * keymap.c (push_key_description): Output multibyte char as itself.
350
351 1998-07-27 Richard Stallman <rms@psilocin.ai.mit.edu>
352
353 * keyboard.c (Fexecute_extended_command):
354 Don't delay before displaying the suggestion message
355 if the command did not display anything in the echo area.
356
357 1998-07-26 Richard Stallman <rms@psilocin.ai.mit.edu>
358
359 * s/ultrix4-3.h (rint): Add declaration.
360
361 1998-07-25 Richard Stallman <rms@psilocin.ai.mit.edu>
362
363 * s/aix3-2.h (HAVE_STRING_H): Move #undef here.
364 * s/aix4.h (HAVE_STRING_H): Delete #undef here.
365
366 * sysdep.c [AIXHFT] (hft_init, hft_reset): Add declarations.
367
368 1998-07-25 Kenichi Handa <handa@etl.go.jp>
369
370 * coding.c (syms_of_coding): Mention auto-coding-alist in the
371 docstring of file-coding-system-alist.
372
373 * fileio.c (Finsert_file_contents): Call Vset_auto_coding_function
374 with two arguments.
375 (Fwrite_region): If buffer-file-coding-system is set locally, use
376 the coding system whithout checking file-coding-system-alist.
377 (syms_of_fileio): Docstring of set-auto-coding-function adjusted
378 for the change of argument number.
379
380 1998-07-20 Kenichi HANDA <handa@etl.go.jp>
381
382 * callproc.c (Fcall_process): Use alloca instead of
383 get_conversion_buffer.
384
385 * coding.c (init_coding): New function.
386 (init_coding_once): Don't initialize conversion_buffer here. It
387 is done in init_coding.
388
389 * emacs.c (main): Call init_coding.
390
391 * lisp.h (init_coding): Extern it.
392
393 1998-07-19 Kenichi Handa <handa@etl.go.jp>
394
395 * charset.c (Fdefine_charset): Fix doc-string.
396
397 * xterm.c (dumpglyphs): After calling ccl_driver, set cp->byte1 to
398 zero for 1-byte font.
399
400 1998-07-15 kenichi HANDA <handa@kowloon.etl.go.jp>
401
402 * process.c (read_process_output): Even if we read data without
403 code conversion, calculate character counts. If we insert the
404 data into a unibyte buffer, treat the data as unibyte.
405
406 1998-07-14 Richard Stallman <rms@psilocin.ai.mit.edu>
407
408 * keyboard.c (Qinput_method_function): New variable.
409 (syms_of_keyboard): Init and staticpro it.
410 (read_key_sequence): Bind input-method-function,
411 and set it to nil after reading the first event.
412 (raw_keybuf, raw_keybuf_count): New variables, to record
413 raw input events as they are read with read_char.
414 (GROW_RAW_KEYBUF): New macro.
415 (Fthis_single_command_raw_keys): New function.
416 (syms_of_keyboard): defsubr it.
417
418 1998-07-13 Andrew Innes <andrewi@delysid.gnu.org>
419
420 * w32menu.c (add_menu_item): Draw menu items like titles if
421 call_data is 0.
422
423 1998-07-13 Eli Zaretskii <eliz@mescaline.gnu.org>
424
425 * w16select.c (set_clipboard_data, get_clipboard_data,
426 Fw16_set_clipboard_data, Fw16_get_clipboard_data,
427 Fx_selection_exists_p): Use CF_OEMTEXT instead of CF_TEXT.
428
429 1998-07-12 Andrew Innes <andrewi@delysid.gnu.org>
430
431 * w32select.c: (Fw32_set_clipboard_data): Set Vlast_coding_system_used.
432 (Fw32_get_clipboard_data): Likewise.
433
434 1998-07-12 Richard Stallman <rms@psilocin.ai.mit.edu>
435
436 * marker.c (Fcopy_marker): Make return from wrong_type_argument
437 fall thru into normal case.
438
439 * fileio.c (Finsert_file_contents): When replacing, in multibyte bfr,
440 always extend the range to a character boundary.
441
442 1998-07-11 Richard Stallman <rms@psilocin.ai.mit.edu>
443
444 * keyboard.c (read_char): Call the input method if appropriate.
445 Change logic for distinguishing rereads from new events;
446 use local var `reread'. Take events from
447 Vunread_input_method_events and Vunread_post_input_method_events.
448 (Vunread_input_method_events, Vunread_post_input_method_events)
449 (Vinput_method_function): New variable.
450 (syms_of_keyboard): Set up Lisp vars.
451 (command_loop_1): Check Vunread_input_method_events and
452 Vunread_post_input_method_events along with Vunread_command_events.
453
454 1998-07-11 Andrew Innes <andrewi@harlequin.co.uk>
455
456 * w32menu.c (w32_menu_show): Set widget call_data to 0 if
457 definition is nil.
458 (add_menu_item): Gray menu entry if widget call_data is 0.
459
460 1998-07-11 Richard Stallman <rms@psilocin.ai.mit.edu>
461
462 * xselect.c (Vselection_coding_system):
463 Renamed from Vclipboard_coding_system. All uses changed.
464 (syms_of_xselect): Rename Lisp variable.
465
466 1998-07-09 Eli Zaretskii <eliz@mescaline.gnu.org>
467
468 * w16select.c (Vclipboard_coding_system): New variable.
469 (set_clipboard_data, set_clipboard_data): New parameter Raw
470 determines whether CRLF <-> NL translation needs to be done. All
471 callers changed.
472 (Fw16_set_clipboard_data): Encode the text using
473 Vclipboard_coding_system, if necessary.
474 (Fw16_get_clipboard_data): Decode the text using
475 Vclipboard_coding_system, if necessary.
476 (syms_of_win16select): DEFVAR Vclipboard_coding_system and
477 staticpro it.
478
479 1998-07-09 Kenichi Handa <handa@etl.go.jp>
480
481 * coding.c (code_convert_string): Count characters again if we
482 encounter some invalid code while decoding.
483
484 1998-07-09 Kenichi Handa <handa@etl.go.jp>
485
486 * ccl.c: Typo in comments fixed.
487
488 * coding.c (DECODE_ISO_CHARACTER): While decoding two-byte code,
489 if the sencond byte is invalid, produce the first byte as is.
490
491 * fontset.c (fs_load_font): Typo in comments fixed.
492
493 * xselect.c (selection_data_to_lisp_data): Set
494 Vlast_coding_system_used.
495 (lisp_data_to_selection_data): Likewize.
496
497 1998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu>
498
499 * charset.c (Fchars_in_region): Coerce markers.
500
501 1998-07-08 Kenichi Handa <handa@etl.go.jp>
502
503 * editfns.c (Fformat): Replace explicit numeric constants with
504 proper macros.
505
506 * fns.c (concat): Likewize.
507
508 1998-07-06 Kenichi Handa <handa@etl.go.jp>
509
510 * charset.h (MAX_CHAR_COMPOSITION): Defined as (GLYPH_MASK_CHAR - 1),
511 one less than the previous value.
512 (GENERIC_COMPOSITION_CHAR): New macro.
513
514 * charset.c (Vgeneric_character_list): New variable.
515 (init_charset_once): Init and staticpro it.
516 (Fgeneric_character_list): New function.
517 (syms_of_charset): defsubr it.
518
519 * fns.c (Fset_char_table_default): Check only if the charset of
520 the arg CH is in the valid range or not. Handle the case that CH
521 is a generic character for composite characters.
522
523 1998-07-06 Kenichi Handa <handa@etl.go.jp>
524
525 * editfns.c (Fformat): Pay attention to the byte combining problem.
526
527 * fileio.c (Finsert_file_contents): Cancel previous change. Setup
528 the variable coding even if the inserted bytes is zero.
529
530 * fns.c (concat): Deal with combining bytes between two args.
531
532 1998-07-03 Richard Stallman <rms@psilocin.ai.mit.edu>
533
534 * print.c (print_escape_multibyte, Qprint_escape_multibyte)
535 (Qprint_escape_nonascii): New variables.
536 (syms_of_print): Initialize them and set up Lisp variable.
537 (PRINTPREPARE): Bind print-escape-multibyte to t if appropriate.
538 Also bind print-escape-nonascii if appropriate.
539 (print): Test print_escape_multibyte and print_escape_nonascii,
540 rather than enable-multibyte-characters.
541
542 1998-06-29 Andrew Innes <andrewi@harlequin.co.uk>
543
544 * fileio.c (Ffile_regular_p) [WINDOWSNT]: Bind
545 `w32-get-true-file-attributes' to t while calling stat.
546 (Finsert_file_contents) [WINDOWSNT]: Likewise.
547 (Fwrite_region): Don't try seeking to end of FILENAME for
548 appending if not a regular file.
549
550 1998-07-03 Kenichi Handa <handa@etl.go.jp>
551
552 * editfns.c (Finsert): Typo in doc-string fixed.
553 (Finsert_and_inherit, Finsert_before_markers,
554 Finsert_and_inherit_before_markers): Likewize.
555
556 1998-07-02 Ken'ichi Handa <handa@melange.gnu.org>
557
558 * fileio.c (Finsert_file_contents): Do not set Vlast_coding_system
559 if inserted bytes is zero.
560
561 1998-06-28 Eli Zaretskii <eliz@is.elta.co.il>
562
563 * unexec.c [COFF]: New variable coff_offset.
564 (make_hdr) [MSDOS]: If a_name is a coff-go32-exe executable with a
565 prepended stub, compute coff_offset.
566 (make_hdr, copy_sym) [COFF]: Use coff_offset when seeking into temacs.
567
568 1998-06-29 Richard Stallman <rms@psilocin.ai.mit.edu>
569
570 * editfns.c (Fbyte_to_position): New function.
571 (syms_of_editfns): defsubr it.
572
573 1998-06-29 Eli Zaretskii <eliz@delysid.gnu.org>
574
575 * callproc.c (Fcall_process) [! subprocesses]: Balance parentheses
576 in an if clause.
577
578 1998-06-28 Richard Stallman <rms@psilocin.ai.mit.edu>
579
580 * fileio.c (Fread_file_name): Bind minibuffer-completing-file-name to t.
581
582 * minibuf.c (Vminibuffer_completing_file_name): New var.
583 (syms_of_minibuf): Set up Lisp variable.
584 (Fminibuffer_complete_word): Test it, instead of checking
585 specifically for Qread_file_name_internal.
586 (Fcompleting_read): Likewise.
587
588 1998-06-27 Richard Stallman <rms@psilocin.ai.mit.edu>
589
590 * xterm.c (x_list_fonts): Fix prev change: cast result of alloca.
591
592 1998-06-26 Ken'ichi Handa <handa@melange.gnu.org>
593
594 * coding.h (Qemacs_mule): Extern it.
595
596 * process.c (init_process): Initilize Vdefault_process_coding_system.
597
598 1998-06-26 Kenichi Handa <handa@etl.go.jp>
599
600 * coding.c (setup_raw_text_coding_system): New function.
601 (decode_coding_sjis_big5): Bug for handling invalid code fixed.
602
603 * coding.h (setup_raw_text_coding_system): Extern it.
604
605 * fileio.c (Finsert_file_contents): Call
606 setup_raw_text_coding_system.
607
608 * process.c (Fstart_process): Check process-coding-system-alist
609 and default-process-coding-system even in unibyte mode.
610 (create_process): In unibyte mode, suppress character code
611 conversion.
612
613 1998-06-25 Andrew Innes <andrewi@harlequin.co.uk>
614
615 * w32fns.c (Fx_list_fonts): Bring arglist into sync with xfns.c.
616 (x_set_font): Call face-set-after-frame-default.
617 (Qface_set_after_frame_default): New variable.
618 (syms_of_w32fns): Initialize it.
619
620 1998-06-25 Richard Stallman <rms@psilocin.ai.mit.edu>
621
622 * search.c (wordify): Fix i_byte even in unibyte case for copy loop.
623 If input is unibyte, make the output unibyte.
624
625 1998-06-24 Richard Stallman <rms@psilocin.ai.mit.edu>
626
627 * print.c (PRINTFINISH): Convert text to unibyte before
628 inserting in a unibyte buffer.
629
630 * doc.c (get_doc_string): Take both UNIBYTE and DEFINITION as args.
631 All callers changed.
632 * lisp.h (get_doc_string): Adjust declaration.
633
634 * lread.c (read_list): Pass new arg to get_doc_string.
635
636 * doc.c (get_doc_string): 2nd arg is now DEFINITION;
637 if non-nil, read a dynamic function definition.
638 (read_doc_string): Don't call read here.
639
640 1998-06-23 Richard Stallman <rms@psilocin.ai.mit.edu>
641
642 * indent.c (indented_beyond_p): Return the right kind of value.
643
644 1998-06-22 Richard Stallman <rms@psilocin.ai.mit.edu>
645
646 * emacs.c (sort_args): Discard duplicate options with no args.
647 (main): With duplicate -d options, use the last one. Likewise for -t.
648 Check -d last, by checking for -nl earlier on.
649
650 1998-06-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
651
652 * keyboard.c (command_loop): Reset executing_macro after
653 command_loop_2 has returned, in case a throw to exit or top-level
654 was executed as part of a keyboard macro.
655
656 * callproc.c (Fcall_process): Handle third argument BUFFER
657 consistently when it is an integer or a list.
658
659 1998-06-22 Kenichi Handa <handa@etl.go.jp>
660
661 * syntax.c (Fmodify_syntax_entry): Use macro STRING_BYTES to get
662 byte size of a string.
663
664 1998-06-22 Andrew Innes <andrewi@harlequin.co.uk>
665
666 * w32select.c: Include buffer.h, charset.h, and coding.h.
667 (Vclipboard_coding_system): New variable.
668 (syms_of_w32select): DEF_VAR it.
669 (Fw32_set_clipboard_data): Encode string using
670 Vclipboard_coding_system if necessary.
671 (Fw32_get_clipboard_data): Decode clipboard contents using
672 Vclipboard_coding_system if necessary.
673
674 * w32console.c (initialize_w32_display): Call init_crit to
675 initialize interrupt_handle (referenced by sys_select).
676
677 1998-06-22 Richard Stallman <rms@gnu.org>
678
679 * print.c (print_string): Properly compute number of chars
680 in multibyte case, before calling strout.
681
682 * lisp.h (Qinhibit_redisplay): Declared.
683
684 * keyboard.c (menu_item_eval_property): Bind Qinhibit_redisplay.
685
686 * xdisp.c (Vinhibit_redisplay, Qinhibit_redisplay): New variables.
687 (syms_of_xdisp): Set up Lisp var.
688 (redisplay_internal): Test Vinhibit_redisplay.
689
690 1998-06-21 Ken'ichi Handa <handa@melange.gnu.org>
691
692 * process.c (read_process_output): While processing carryover,
693 check the size of p->decoding_buf.
694
695 1998-06-21 Eli Zaretskii <eliz@mescaline.gnu.org>
696
697 * process.c (wait_reading_process_input) [! subprocesses]:
698 Recompute timeout each time through the loop. Check
699 requeued_events_pending_p and exit the loop if there is unread
700 keyboard input.
701
702 1998-06-20 Richard Stallman <rms@gnu.org>
703
704 * search.c (Freplace_match): Work by chars, not by bytes,
705 for scanning the old text, and for inserting new string in buffer.
706
707 1998-06-20 Karl Heuer <kwzh@gnu.org>
708
709 * xterm.c (x_list_fonts): Keep alloca usage simple.
710
711 1998-06-20 Per Starback <starback@strindberg.ling.uu.se>
712
713 * xdisp.c, charset.h, coding.c, emacs.c: Doc fixes.
714
715 1998-06-20 Kenichi Handa <handa@etl.go.jp>
716
717 * print.c (strout): Show multibyte message correctly.
718
719 * ccl.c: Comment for CCL_MapMultiple modified.
720
721 * charset.c (find_charset_in_str): Do not set the value of
722 charsets[LEADING_CODE_COMPOSITION].
723
724 * process.c (read_process_output): Handle carryover correctly.
725
726 * xterm.c (dumpglyphs): Check the case that FACE_FONT (face) is
727 NULL. While displaing cursor with non-default face, if the
728 variable `font' is NULL, don't set GCFont.
729
730 1998-06-19 Richard Stallman <rms@gnu.org>
731
732 * minibuf.c (syms_of_minibuf): Initialize buffer-name-history.
733
734 1998-06-18 Richard Stallman <rms@gnu.org>
735
736 * casefiddle.c (casify_object): Cope with modifier bits in character.
737
738 1998-06-17 Geoff Voelker <voelker@cs.washington.edu>
739
740 * w32.c (is_unc_volume, open_unc_volume, read_unc_volume,
741 close_unc_volume, unc_volume_file_attributes): New functions.
742 (wnet_enum_handle): New variable.
743 (opendir, readdir, closedir, sys_access, stat): Handle UNC volumes.
744
745 1998-06-16 Kenichi Handa <handa@etl.go.jp>
746
747 * xterm.c (x_list_fonts): If SIZE is zero and MAXNAMES is 1, use
748 XLoadQueryFont instead of XListFonts.
749 (x_load_fonts): Call x_list_fonts with MAXNAMES 1.
750
751 1998-06-16 Andrew Innes <andrewi@harlequin.co.uk>
752
753 * xdisp.c (message_dolog): GCPRO the oldpoint, oldbegv and oldzv
754 markers, and old_deactivate_mark.
755
756 1998-06-15 Andrew Innes <andrewi@harlequin.co.uk>
757
758 * w32.c (sys_rename): On some network drives, rename fails with
759 EACCES instead of EEXIST if target already exists.
760
761 * coding.c (encode_eol): Fix typo that prevented converting to Mac
762 line endings. Always update dst_bytes to number of bytes actually
763 copied.
764 (decode_eol): Fix value of coding->produced when decoding Unix
765 line endings (in case this function is ever used for that).
766
767 1998-06-14 Ken'ichi Handa <handa@melange.gnu.org>
768
769 * fileio.c (Finsert_file_contents): Redo the change for handling
770 set-auto-coding while adding a kludgy code to avoid a compiler
771 bug.
772 (syms_of_fileio): Doc-string of the variable
773 set-auto-coding-function modified for the change above.
774
775 1998-06-14 Eli Zaretskii <eliz@mescaline.gnu.org>
776
777 * msdos.c (dos_set_keyboard): Call Int 2Fh via the DPMI server,
778 not directly.
779 (dos_yield_time_slice): New function.
780 (sys_select): Use it instead of __dpmi_yield.
781
782 1998-06-14 Erik Naggum <erik@naggum.no>
783
784 * minibuf.c (Fcompleting_read): Escape bare newline in doc string.
785
786 1998-06-14 Richard Stallman <rms@psilocin.ai.mit.edu>
787
788 * fileio.c (Finsert_file_contents): Fix change to set INSERTED.
789
790 1998-06-13 Richard Stallman <rms@psilocin.ai.mit.edu>
791
792 * keyboard.c (parse_menu_item): Put a quote around DEF
793 to pass it as an argument to the filter function.
794
795 * syntax.c (skip_chars):
796 Don't examine STRING before verifying that it is a string.
797
798 1998-06-13 Kenichi Handa <handa@etl.go.jp>
799
800 * coding.c (detect_coding_system): Always return a list of HIGHEST
801 is zero.
802 (Fdetect_coding_region): Doc-string adjusted for the above change.
803 (Fdetect_coding_string): Likewise.
804
805 1998-06-12 Richard Stallman <rms@psilocin.ai.mit.edu>
806
807 * emacs.c (standard_args): Fix arg order to match code in `main'.
808
809 1998-06-12 Ken'ichi Handa <handa@melange.gnu.org>
810
811 * fileio.c (Finsert_file_contents): Undo the previous change for
812 handling set-ault-coding.
813
814 1998-06-11 Richard Stallman <rms@psilocin.ai.mit.edu>
815
816 * fileio.c (Finsert_file_contents): After calling handler,
817 get INSERTED from the handler's value.
818
819 * callint.c (Fcall_interactively) <k, K>: If sequence ends in a down
820 event, discard following up event.
821
822 1998-06-12 Kenichi Handa <handa@etl.go.jp>
823
824 * fileio.c (set_auto_coding_unwind): New function.
825 (Finsert_file_contents): If the current buffer is empty, decide
826 the coding system after the file is inserted in the buffer. If
827 not, insert the head and tail of a file in a temporary buffer and
828 call set-auto-coding-function.
829 (e_write): If there are carryover bytes in encoding because of
830 incomplete multibyte form, write them out as is.
831
832 1998-06-11 Richard Stallman <rms@psilocin.ai.mit.edu>
833
834 * syntax.c (scan_lists): Use prev_char_comend_first, not ...comstart...
835
836 1998-06-11 Geoff Voelker <voelker@cs.washington.edu>
837
838 * makefile.nt (LINK_FLAGS): Place debug info in executable in
839 unoptimized compile. Link to run off of cd or network.
840
841 1998-06-10 Richard Stallman <rms@psilocin.ai.mit.edu>
842
843 * syntax.c (Fforward_comment):
844 Properly compute BYTEPOS arg to char_quoted.
845
846 1998-06-09 Andrew Innes <andrewi@harlequin.co.uk>
847
848 * w32.c (sys_rename): Don't examine errno if rename didn't fail.
849
850 * s/ms-w32.h (getcwd): Remove define.
851 (getdefdir) [emacs]: Redefine to always return root directory.
852
853 1998-06-09 Richard Stallman <rms@psilocin.ai.mit.edu>
854
855 * lisp.h (Feval_region): Accept 4 args.
856
857 * lread.c (readevalloop): New arg READFUN. Callers changed.
858 (Feval_region): New arg READ_FUNCTION.
859
860 1998-06-08 Richard Stallman <rms@psilocin.ai.mit.edu>
861
862 * syntax.h (SETUP_SYNTAX_TABLE): Don't call update_syntax_table
863 for FROM-1 if that's before BEGV.
864
865 1998-06-07 Richard Stallman <rms@psilocin.ai.mit.edu>
866
867 * syntax.c (struct lisp_parse_state): New field, levelstarts.
868 (scan_sexps_forward): Use 10th elt of STATE to set levelstarts.
869 (parse-partial-sexp): Add 10th elt to return value.
870
871 * keyboard.c (lispy_function_keys): Add kanji...eisu-toggle.
872
873 * keyboard.c (cmd_error): Init Vlast_prefix_arg.
874 (init_kboard, command_loop_1): Init Vlast_prefix_arg.
875 (Fcommand_execute): Set Vlast_prefix_arg to prefix arg used.
876
877 * callint.c (syms_of_callint): Set up Lisp variable.
878
879 * alloc.c (mark_kboards): Mark all the Lisp_Object fields.
880
881 * keyboard.c (command_loop_1):
882 Set Vreal_last_command with Vlast_command.
883 (init_kboard): Init Vreal_last_command field.
884 (syms_of_keyboard): Set up Lisp var real-last-command.
885
886 * keyboard.h (struct kboard): New elts Vreal_last_command
887 and Vlast_prefix_arg.
888
889 1998-06-06 Richard Stallman <rms@psilocin.ai.mit.edu>
890
891 * xterm.c (XTread_socket): Accept Japanese XK keysyms.
892
893 * xdisp.c (redisplay_internal): If cursor's in the frame's echo area,
894 make last_point invalid instead of setting it normally.
895 (display_text_line): If cursor's in the frame's echo area,
896 don't set this_line_endpos.
897 (redisplay_window): Use Fwindow_end to find lower scroll margin.
898
899 * syntax.c (scan_lists): Properly skip the comment-fence character
900 that ends a comment, when moving forward.
901 (Fbackward_prefix_chars): Return immediately if point is at BEGV.
902
903 * callproc.c (init_callproc): Check Vinstallation_directory
904 even if !initialized.
905
906 1998-06-06 Richard Stallman <rms@sucrose.ai.mit.edu>
907
908 * syntax.c (prev_char_comend_first): New function.
909 (back_comment): Use that. Carefully update syntax table position
910 for each character that is fetched.
911 (Fforward_comment): Likewise.
912 (scan_lists): Likewise.
913 (prev_char_comstart_first): New function.
914
915 * syntax.c
916 1998-06-05 Andrew Innes <andrewi@harlequin.co.uk>
917
918 * w32.c: #include sys/file.h
919 (sys_access): Provide our own implementation which recognizes D_OK.
920 (is_exec): New function.
921 (stat): Use it.
922 (init_environment): Set TMPDIR to an existing directory.
923 Abort if none of the usual places is available.
924 (sys_rename): On Windows 95, choose a temp name that
925 includes the original file's base name and use an explicit loop
926 rather than calling mktemp. Only attempt to unlink the newname if
927 the rename fails, rather than second-guessing whether the old and
928 new names refer to the same file.
929
930 * fileio.c (Finsert_file_contents): Always update
931 Vlast_coding_system_used when we actually perform IO.
932 (Fwrite_region): Update documentation.
933
934 1998-06-03 Richard Stallman <rms@gnu.org>
935
936 * emacs.c (main): Don't implement --version if not initialized.
937
938 * intervals.c (create_root_interval): Initialize position to 0
939 for a string.
940 (interval_start_pos): New function.
941 (find_interval): Handle string positions starting at 0.
942 (adjust_intervals_for_insertion): Likewise.
943 (adjust_intervals_for_deletion): Likewise.
944 (compare_string_intervals): Likewise.
945 (graft_intervals_into_buffer): Set `position' in reproduce_tree value.
946 (copy_intervals): Init `position' to 0.
947
948 * textprop.c: Handle the new convention that `position' values
949 in a string's intervals start from zero.
950 (validate_interval_range, interval_of, Fnext_property_change)
951 (property_change_between_p, Fnext_single_property_change)
952 (Fprevious_property_change, Fprevious_single_property_change):
953 (Ftext_property_any, Ftext_property_not_all): Implement that.
954
955 * textprop.c: Undo previous change.
956
957 * coding.c (code_convert_string_norecord): New function.
958 Does encoding or decoding but doesn't set Vlast_coding_system_used.
959
960 * coding.h (DECODE_FILE, ENCODE_FILE):
961 Use code_convert_string_norecord.
962
963 1998-06-02 Richard Stallman <rms@gnu.org>
964
965 * sysdep.c (sys_subshell): Cast arg to chdir.
966 (init_sys_modes): Cast arg to setbuf or setvbuf.
967
968 * keyboard.c (syms_of_keyboard): Doc fix for suggest-key-bindings.
969
970 1998-06-02 Ken'ichi Handa <handa@melange.gnu.org>
971
972 * charset.c (string_to_non_ascii_char): Don't check the arg
973 EXCLUDE_TAIL_GARBAGE for an invalid composite characters.
974
975 1998-06-01 Ken'ichi Handa <handa@melange.gnu.org>
976
977 * coding.c (detect_coding_mask): Initilize local variable C.
978
979 1998-06-01 Richard Stallman <rms@gnu.org>
980
981 * emacs.c (main): Test `initialized' before clearing *Messages*.
982
983 1998-06-01 Karl Heuer <kwzh@gnu.org>
984
985 * s/aix4.h (SOCKLEN_TYPE): Define as int.
986
987 * callproc.c (Fcall_process): Avoid initializer on auto struct.
988
989 1998-06-01 Andrew Innes <andrewi@mescaline.gnu.org>
990
991 * s/ms-w32.h: Use 1 as explicit value of empty #defines.
992
993 * makefile.nt (LOCAL_FLAGS): Define HAVE_NTGUI if appropriate.
994
995 1998-05-31 Karl Heuer <kwzh@gnu.org>
996
997 * doprnt.c (doprnt1): Fix char signedness mismatches.
998 * fileio.c (Finsert_file_contents): Likewise.
999
1000 1998-05-31 Richard Stallman <rms@gnu.org>
1001
1002 * dispnew.c (Fredraw_frame): Don't erase frame or its glyph records
1003 if it hasn't got any.
1004
1005 1998-05-30 Geoff Voelker <voelker@cs.washington.edu>
1006
1007 * w32proc.c (sys_spawnve): Place Emacs pid in EM_PARENT_PROCESS_ID.
1008
1009 * w32.c (sys_rename): Handle filenames with accented characters.
1010 (stat): Handle "c:/.." and "/.." specially.
1011
1012 * unexw32.c (w32_fatal_reload_error): Update error message.
1013
1014 1998-05-30 Karl Heuer <kwzh@gnu.org>
1015
1016 * Makefile.in (distclean): Delete config.stamp, stamp-oldxmenu.
1017
1018 * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix.
1019 * charset.c (syms_of_charset): Put \n\ at eol of docstring.
1020
1021 1998-05-29 Richard Stallman <rms@gnu.org>
1022
1023 * textprop.c (Fnext_property_change): Properly offset interval
1024 position for string when comparing with LIMIT.
1025 (property_change_between_p): Likewise.
1026 (Fnext_single_property_change, Fprevious_property_change): Likewise.
1027 (Fprevious_single_property_change): Likewise.
1028
1029 1998-05-28 Richard Stallman <rms@psilocin.ai.mit.edu>
1030
1031 * keyboard.c (command_loop_1): In shortcuts for forward-char etc.,
1032 use FETCH_CHAR not FETCH_BYTE.
1033
1034 1998-05-28 Andrew Innes <andrewi@harlequin.co.uk>
1035
1036 * lread.c (read1): Swap saved_doc_string_length and
1037 prev_saved_doc_string_length.
1038 (read_list): Negate docstring position if negative before checking
1039 against saved_doc_string_length et al.
1040
1041 1998-05-28 Richard Stallman <rms@psilocin.ai.mit.edu>
1042
1043 * lread.c: Remember the last TWO strings skipped with #@.
1044 (prev_saved_doc_string*): New variables.
1045 (Fload): Initalize prev_saved_doc_string.
1046 (read1): Copy saved_doc_string to prev_saved_doc_string
1047 before storing a new string in saved_doc_string.
1048 (read_list): Look in prev_saved_doc_string as well as
1049 in saved_doc_string.
1050
1051 1998-05-25 Andrew Innes <andrewi@harlequin.co.uk>
1052
1053 * doc.c (get_doc_string): Make non-static.
1054
1055 * lisp.h: Add prototype for get_doc_string.
1056
1057 * lread.c (read_vector): Add bytecodeflag parameter, which is
1058 nonzero when reading a bytecode object. If
1059 `load-force-doc-strings' is t when reading a lazily-loaded
1060 bytecode vector, the loaded docstring must be treated as unibyte
1061 and passed to Fread to obtain the actual bytecode string and
1062 constants vector.
1063 (read1): Add extra parameter to read_vector calls.
1064
1065 (read1): Enable saving of doc strings on WINDOWSNT.
1066 (read_list): Call get_doc_string instead of read_doc_string, when
1067 forced to load doc strings.
1068
1069 1998-05-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1070
1071 * s/gnu-linux.h (setpgrp): Remove extra parens around parameters.
1072
1073 * xterm.c (XTread_socket): Fix second argument of
1074 x_any_window_to_frame.
1075
1076 * print.c (print) <Lisp_Cons>: Detect circular list.
1077
1078 1998-05-25 Kenichi Handa <handa@etl.go.jp>
1079
1080 * coding.c (detect_coding_system): Treat CODING_EOL_INCONSISTENT
1081 like CODING_EOL_UNDECIDED.
1082
1083 * coding.c (ascii_skip_code): New variable.
1084 (detect_coding_mask): Skip ASCII codes at the head according to
1085 ascii_skip_code.
1086 (coding_priorities): New variable.
1087 (Fset_coding_priority_internal): New function.
1088 (detect_coding): Call set_coding_mask with coding_priorities as
1089 arg CODING.
1090 (init_coding_once): Initialize ascii_skip_code.
1091 (syms_of_coding): Declare set-coding-priority-internal as a Lisp
1092 function.
1093
1094 1998-05-25 Richard Stallman <rms@psilocin.ai.mit.edu>
1095
1096 * config.in (RE_TRANSLATE): Use CHAR_TABLE_TRANSLATE.
1097
1098 * lisp.h (CHAR_TABLE_TRANSLATE): New macro.
1099
1100 1998-05-24 Richard Stallman <rms@psilocin.ai.mit.edu>
1101
1102 * window.c (Fdelete_windows_on): For FRAME, change t to nil
1103 and nil to t, but don't change other values.
1104
1105 * xdisp.c (message_dolog): Do set windows_or_buffers_changed,
1106 if *Messages* is displayed in a window.
1107
1108 1998-05-22 Richard Stallman <rms@psilocin.ai.mit.edu>
1109
1110 * indent.c (compute_motion): Check for past vpos/hpos target
1111 before skipping invisible chars.
1112
1113 * buffer.c (Fother_buffer): Doc fix.
1114
1115 * window.c (window_loop): Pass new arg to Fother_buffer.
1116
1117 * frame.c (frame_buffer_predicate): New arg FRAME.
1118 (frame_buffer_list, set_frame_buffer_list): Likewise.
1119 (make_frame): Pass new arg to Fother_buffer.
1120
1121 * buffer.c (Fother_buffer): New arg FRAME.
1122 Pass it to frame_buffer_list, frame_buffer_predicate.
1123 Calls changed.
1124 (record_buffer): Pass selected frame to them
1125 and set_frame_buffer_list.
1126
1127 * lisp.h (frame_buffer_predicate, frame_buffer_list)
1128 (set_frame_buffer_list, Fother_buffer): Decls changed.
1129
1130 * window.c (select_window_1): New subroutine, from Fselect_window.
1131 (Fselect_window): Use select_window_1.
1132 (temp_output_buffer_show): Use select_window_1.
1133
1134 1998-05-22 Kenichi Handa <handa@etl.go.jp>
1135
1136 * ccl.c: Change term "character translation table" to "translation
1137 table".
1138
1139 * charset.c: Change term "character translation table" to
1140 "translation table".
1141 (string_to_non_ascii_char): New arg EXCLUDE_TAIL_GARBAGE. Caller
1142 changed.
1143 (Funibyte_char_to_multibyte): Doc-string fixed.
1144 (syms_of_charset): Doc-string fixed.
1145
1146 * charset.h (STRING_CHAR_AND_CHAR_LENGTH): New macro.
1147 (string_to_non_ascii_char): Adjusted for the new arg.
1148
1149 * coding.c: Change term "character translation table" to
1150 "translation table".
1151
1152 * coding.h: Change term "character translation table" to
1153 "translation table".
1154
1155 * print.c (print_string): Don't ignore garbage bytes following a
1156 multibyte characters.
1157 (print): Likewise.
1158
1159 1998-05-22 Richard Stallman <rms@psilocin.ai.mit.edu>
1160
1161 * search.c (shrink_regexp_cache): New function.
1162
1163 * alloc.c (Fgarbage_collect): Call shrink_regexp_cache.
1164
1165 1998-05-20 Richard Stallman <rms@psilocin.ai.mit.edu>
1166
1167 * editfns.c (Fchar_after): Make nil fully equivalent to (point) as arg.
1168 (Fchar_before): Likewise.
1169
1170 1998-05-20 Eli Zaretskii <eliz@is.elta.co.il>
1171
1172 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory)
1173 [DOS_NT]: Handle the special construct "/:" when followed by d:foo.
1174
1175 * buffer.c (init_buffer): Support DOS_NT absolute file names.
1176
1177 1998-05-20 Kenichi Handa <handa@etl.go.jp>
1178
1179 * charset.c (find_charset_in_str): New arg CMPCHARP.
1180 (Ffind_charset_region): Call find_charset_in_str with CMPCHARP 0.
1181 (Ffind_charset_string): Likewise.
1182
1183 * charset.h (find_charset_in_str): Number of arguments fixed.
1184
1185 * coding.c (shrink_decoding_region): No short cut by
1186 coding->heading_ascii if eol conversion is necessary.
1187
1188 * fns.c (Fstring_make_multibyte): Call CHECK_STRING.
1189 (Fstring_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte):
1190 Likewise.
1191
1192 * xselect.c (lisp_data_to_selection_data): Call
1193 find_charset_in_str with CMPCHARP 1 to encode Lisp string if it
1194 contains a composite character.
1195
1196 1998-05-19 Richard Stallman <rms@psilocin.ai.mit.edu>
1197
1198 * minibuf.c (syms_of_minibuf): Doc fix.
1199
1200 * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fixes.
1201
1202 * frame.c (make_frame_visible_1): New function.
1203 (Fmake_frame_visible): Use that.
1204
1205 * xdisp.c (redisplay_window): Don't use window->start
1206 if it is out of range of BEGV/ZV.
1207
1208 1998-05-18 Richard Stallman <rms@psilocin.ai.mit.edu>
1209
1210 * minibuf.c (read_minibuf): If history list var is void, make it nil.
1211
1212 1998-05-18 Ken'ichi Handa <handa@melange.gnu.org>
1213
1214 * syntax.c (skip_chars): Fix previous change.
1215
1216 1998-05-17 Kenichi HANDA <handa@etl.go.jp>
1217
1218 * ccl.c: Change term translation to code conversion, then change
1219 terms unify/unification to translate/translation respectively
1220 throughtout the file.
1221
1222 * charset.c: Change terms unify/unification to
1223 translate/translation respectively throughtout the file.
1224 (ONE_BYTE_CHAR_WIDTH): Delete unnecessary continuation line at the
1225 tail.
1226
1227 * charset.h: Change terms unify/unification to
1228 translate/translation respectively throughtout the file.
1229 (GET_TRANSLATION_TABLE): Name changed from UNIFICATION_ID_TABLE.
1230
1231 * coding.c: Change terms unify/unification to
1232 translate/translation respectively throughtout the file.
1233 (encode_coding_iso2022): Fix bug in encoding a text ending by a
1234 composite character.
1235 (check_composing_code): If we are decoding the last block of data,
1236 return 0 even if the source doesn't end by an escape sequence
1237 which terminates the current composing sequence.
1238 (decode_coding_iso2022): Decode correctly even if the source
1239 doesn't end by an escape sequence which terminates the current
1240 composing sequence.
1241
1242 * coding.h: Change terms unify/unification to
1243 translate/translation respectively throughout the file.
1244
1245 * fns.c (concat): Fix bug in concatinating a list of multibyte and
1246 unibyte characters.
1247
1248 * lisp.h (Vnonascii_translation_table): Name changed from
1249 Vnonascii_translate_table.
1250
1251 * syntax.c (skip_chars): Fix bug in handling a range which
1252 contains multibyte characters.
1253
1254 1998-05-17 Richard Stallman <rms@psilocin.ai.mit.edu>
1255
1256 * filelock.c (get_boot_time): Scan the whole wtmp file
1257 to find the most recent reboot.
1258
1259 * window.c (Fselect_window): Doc fix.
1260 (temp_output_buffer_show): Make the temp buffer current
1261 before running Qtemp_buffer_show_hook.
1262
1263 * fileio.c (Fexpand_file_name): Change conditional
1264 in previous change from WINDOWSNT to DOS_NT.
1265
1266 1998-05-16 Richard Stallman <rms@psilocin.ai.mit.edu>
1267
1268 * buffer.h (struct buffer): New slot display_time.
1269
1270 * buffer.c (syms_of_buffer): Set up Lisp variable buffer-display-time.
1271 Doc fixes.
1272 (reset_buffer): Initialize display_time slot.
1273 (init_buffer_once): Initialize display_time slot.
1274
1275 * window.c (Fset_window_buffer): Update buffer's display_time.
1276
1277 * insdel.c (insert_1_both, insert_from_string_1, replace_range)
1278 (insert_from_buffer_1, adjust_before_replace, adjust_after_replace):
1279 Don't copy text being deleted, if undo is disabled.
1280
1281 * lread.c (readchar): Use readchar_backlog again
1282 to read a character byte by byte, if its byte sequence
1283 does not really match the character code.
1284 (unreadchar): Handle readchar_backlog.
1285 (readevalloop, Fread): Initialize readchar_backlog to -1.
1286
1287 1998-05-15 Geoff Voelker <voelker@cs.washington.edu>
1288
1289 * fileio.c (Fexpand_file_name) [WINDOWSNT]: Be careful not to
1290 concatenate the directory prefix and file name to accidentally
1291 create a network share name.
1292
1293 1998-05-14 Andrew Innes <andrewi@harlequin.co.uk>
1294
1295 * w32xfns.c (interrupt_handle): New variable.
1296 (init_crit): Initialize it.
1297 (delete_crit): Cleanup on exit.
1298 (signal_quit): New function. Signal any threads that are blocked
1299 on a "system" call (provided they have been specially written to
1300 check for this), so the call can fail with EINTR as on Unix.
1301
1302 * w32term.h (signal_quit): Add prototype.
1303
1304 * w32fns.c (w32_wnd_proc): Call signal_quit when C-g is received.
1305
1306 * w32proc.c (sys_select): Always wait on interrupt_handle, so that
1307 user can break out of `accept-process-input' (for instance) by
1308 typing C-g.
1309
1310 1998-05-14 Richard Stallman <rms@psilocin.ai.mit.edu>
1311
1312 * keyboard.c (read_char): If redisplay is preempted,
1313 try swallow_events; if that clears input_pending,
1314 finish the redisplay.
1315
1316 1998-05-14 Geoff Voelker <voelker@cs.washington.edu>
1317
1318 * w32term.c (w32_ring_bell): Flash window correctly.
1319
1320 1998-05-13 Richard Stallman <rms@psilocin.ai.mit.edu>
1321
1322 * fileio.c (Finsert_file_contents): Don't check non-regular
1323 files for a coding: specification.
1324
1325 1998-05-13 Inge Frick <inge@nada.kth.se>
1326
1327 * keyboard.c (parse_menu_item): Removed unnecessary gcproing.
1328 Fix a test of inmenubar.
1329
1330 1998-05-13 Eli Zaretskii <eliz@mescaline.gnu.org>
1331
1332 * msdos.c (init_environment): Set TMPDIR to an existing
1333 directory. Abort if none of the usual places is available.
1334
1335 1998-05-13 Richard Stallman <rms@psilocin.ai.mit.edu>
1336
1337 * syntax.c (skip_chars): When fetching char after \,
1338 don't fail to set c_leading_code.
1339
1340 1998-05-12 Richard Stallman <rms@psilocin.ai.mit.edu>
1341
1342 * fileio.c (Finsert_file_contents): Check that a -*- coding: -*- spec
1343 or a local variables list exists, before Vset_auto_coding_function.
1344
1345 * minibuf.c (Fminibuffer_complete_word):
1346 Fix the string-comparison loop.
1347
1348 * search.c (search_buffer): Set search regs for all success
1349 with an empty string.
1350 (set_search_regs): Clear out all regs except 0.
1351
1352 * minibuf.c (Fall_completions, Ftry_completion):
1353 Compare char sizes, not STRING_BYTES.
1354
1355 1998-05-12 Inge Frick <inge@nada.kth.se>
1356
1357 * keyboard.c (parse_menu_item): Argument inmenubar < 0 now means
1358 parsing a keyboard menu item.
1359 (read_char_minibuf_menu_prompt): Use `parse_menu_item' to understand
1360 new menu item format.
1361
1362 1998-05-12 Andrew Innes <andrewi@harlequin.co.uk>
1363
1364 * w32.c (stat, get_long_basename): Fail if filename contains any
1365 characters that are illegal in file names.
1366
1367 1998-05-11 Richard Stallman <rms@psilocin.ai.mit.edu>
1368
1369 * minibuf.c (assoc_for_completion): Use Fcompare_strings.
1370 (test_completion): In obarray, try both unibyte and multibyte strings.
1371 (read_minibuf): Convert unibyte prompt to multi if minibuffer is multi.
1372 (Fdisplay_completion_list): Convert unibyte to strings to multibyte
1373 to conform to the buffer.
1374
1375 * fileio.c (Finsert_file_contents): Don't use the fast replace code
1376 if coding needs eol conversion.
1377 (Finsert_file_contents) [DOS_NT]: When setting buffer_file_type,
1378 if code conversion is needed, file is not binary.
1379
1380 * xdisp.c (redisplay_window): Handle scroll_step along with
1381 scroll_conservatively. Fix 1-off error checking the limit for them.
1382
1383 * filelock.c (unlock_file): Encode the file name.
1384
1385 1998-05-10 Richard Stallman <rms@psilocin.ai.mit.edu>
1386
1387 * buffer.c (Fset_buffer_multibyte): Error if marker is put
1388 on buffer's marker-chain while we have temporarily put nil there.
1389
1390 * marker.c (unchain_marker): Abort if the marker is not
1391 in its buffer's chain.
1392 (buf_bytepos_to_charpos): Fix assignment of `record'
1393 when scanning from below.
1394 Don't create a marker if buffer's marker chain is empty.
1395
1396 * coding.c (code_convert_region1): Set Vlast_coding_system_used.
1397 (code_convert_string1): Likewise.
1398 (Fdecode_coding_region, Fencode_coding_region): Doc fixes.
1399 (Fdecode_coding_string, Fencode_coding_string): Doc fixes.
1400
1401 * Makefile.in (TAGS): Specify directory when running etags.
1402
1403 1998-05-09 Richard Stallman <rms@psilocin.ai.mit.edu>
1404
1405 * bytecode.c (Fbyte_code): Don't use Bmark.
1406
1407 * .gdbinit (xstring): Handle unibyte strings.
1408 (xchartable, xboolvector): New commands.
1409
1410 * xdisp.c (redisplay_window): Don't use last_point_x and last_point_y
1411 if cursor_in_echo_area.
1412
1413 * minibuf.c (Qbuffer_name_history): New variable.
1414 (syms_of_minibuf): Initialize it.
1415 (Fread_buffer): Use that history list.
1416
1417 1998-05-09 Richard Stallman <rms@psilocin.gnu.org>
1418
1419 * syntax.c (scan_lists, scan_sexps_forward): Move complex expressions
1420 outside of the switch statement.
1421
1422 1998-05-09 Ken'ichi Handa <handa@melange.gnu.org>
1423
1424 * indent.c (compute_motion): Fix previous change.
1425
1426 1998-05-08 Kenichi Handa <handa@etl.go.jp>
1427
1428 * coding.c (detect_coding_mask): Check also coding-category-binary.
1429
1430 1998-05-08 Richard Stallman <rms@psilocin.gnu.org>
1431
1432 * doc.c (get_doc_string): New arg UNIBYTE
1433 Maybe use make_unibyte_string. All callers changed.
1434 (read_doc_string): Specify 1 for UNIBYTE.
1435
1436 * process.c (Fstart_process): Remove the special case for
1437 unibyte, for initializing the process coding systems.
1438 Instead, use the normal multibyte code, but check
1439 BUFFER's value and the default value of enable-multibyte-characters.
1440 (Fopen_network_stream): Likewise.
1441
1442 1998-05-08 Ken'ichi Handa <handa@melange.gnu.org>
1443
1444 * indent.c (compute_motion): Fix, in a different way, the bug of
1445 handling wide-column character around right margin.
1446
1447 1998-05-07 Richard Stallman <rms@psilocin.gnu.org>
1448
1449 * indent.c (compute_motion): Undo both May 7 changes.
1450
1451 * doprnt.c (doprnt1): Cast arg to CHAR_STRING.
1452
1453 1998-05-07 Andrew Innes <andrewi@harlequin.co.uk>
1454
1455 * callproc.c (Fcall_process): Fix test for when to call
1456 Ffind_operation_coding_system.
1457
1458 1998-05-07 Ken'ichi Handa <handa@melange.gnu.org>
1459
1460 * indent.c (compute_motion): Fix previous change.
1461
1462 1998-05-07 Richard Stallman <rms@psilocin.gnu.org>
1463
1464 * search.c (Freplace_match): Fix the loop for copying text
1465 from a string, in handling lastpos and pos.
1466
1467 1998-05-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1468
1469 * data.c (set_internal): Properly compare lisp objects.
1470 (Fmakunbound): Likewise.
1471 * lread.c (Fintern): Properly compare lisp objects.
1472
1473 1998-05-07 Andrew Innes <andrewi@harlequin.co.uk>
1474
1475 * fileio.c (Fexpand_file_name) [DOS_NT]: Note when special escape
1476 prefix /: is present, and reinsert after name has been expanded.
1477 Only recognize drive specifier at beginning of name.
1478
1479 * fileio.c (Fexpand_file_name):
1480 Don't strip trailing slash if newdir is just /.
1481
1482 1998-05-07 Eli Zaretskii <eliz@mescaline.gnu.org>
1483
1484 * process.c (init_process, syms_of_process) [not subprocesses]:
1485 Make definition consistent with prototypes on lisp.h
1486
1487 1998-05-07 Kenichi Handa <handa@etl.go.jp>
1488
1489 * indent.c (compute_motion): Fix bug of handling wide-column
1490 character around right margin.
1491
1492 1998-05-07 Richard Stallman <rms@psilocin.gnu.org>
1493
1494 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
1495
1496 1998-05-07 Kenichi Handa <handa@etl.go.jp>
1497
1498 * callproc.c (Fcall_process): If we must display received data on
1499 the fly, don't wait until a buffer is filled.
1500
1501 1998-05-05 Richard Stallman <rms@psilocin.gnu.org>
1502
1503 * fileio.c (barf_or_query_if_file_exists): Encode file name.
1504
1505 1998-05-04 Kenichi HANDA <handa@etl.go.jp>
1506
1507 * coding.c (encode_coding_iso2022): Don't skip a code following
1508 some invalid code.
1509
1510 1998-05-04 Richard Stallman <rms@psilocin.gnu.org>
1511
1512 * fileio.c (Finsert_file_contents): Don't use gap pos to set point
1513 if del_range_byte deleted 0 characters.
1514
1515 * search.c (boyer_moore): Check more reliably for ptr[1] being
1516 out of range. Use pat_end to point at the pattern's end.
1517
1518 * emacs.c (main): Call the syms_of_... and keys_of_... functions
1519 earlier, before init_vms_input and init_display.
1520
1521 1998-05-04 E. Jay Berkenbilt <ejb@ql.org>
1522
1523 * window.h (WINDOW_RIGHT_MARGIN): Don't subtract 1 from width when
1524 there are no vertical scrollbars and this is the rightmost window
1525 in the frame.
1526
1527 1998-05-04 Eli Zaretskii <eliz@mescaline.gnu.org>
1528
1529 * lread.c (Fload): Rename dosmode to fmode and use it on all
1530 platforms. Avoid calling fdopen only for WINDOWSNT, use fdopen
1531 for the MSDOS version.
1532 (read1): Avoid recording doc strings positions only for WINDOWSNT,
1533 not for MSDOS.
1534
1535 1998-05-04 Andreas Schwab <schwab@delysid.gnu.org>
1536
1537 * xterm.c: Include syssignal.h after lisp.h.
1538
1539 * syssignal.h: Declare init_signals and add prototypes.
1540
1541 * lisp.h: Declare init functions.
1542
1543 1998-05-03 Richard Stallman <rms@psilocin.gnu.org>
1544
1545 * s/sunos4shr.h (LIBXMU): Don't bother testing CANNOT_DUMP.
1546
1547 * Makefile.in (TAGS-LISP): New target.
1548 (${lispsource}TAGS): Target deleted.
1549 (tags): Depend on TAGS-LISP.
1550 (TAGS): Generate the TAGS file in the build dir.
1551 (lisptagsfiles): Variable deleted.
1552
1553 * Makefile.in (shortnamesdir, cppdir): Vars deleted.
1554 (shortnames): Target deleted.
1555 (temacs): Don't use $(SHORT).
1556 (SHORT): Var deleted.
1557
1558 1998-05-02 Richard Stallman <rms@psilocin.gnu.org>
1559
1560 * alloc.c (Fmake_bool_vector): Clear out extraneous bits at end.
1561
1562 * lread.c (read1): Clear out extraneous bits at end of bool-vector.
1563
1564 * search.c (compile_pattern_1): Declare raw_pattern as unsigned char *.
1565 Fix casts when assigning raw_pattern.
1566 Cast raw_pattern when calling re_compile_pattern.
1567
1568 1998-05-02 Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
1569
1570 * process.c (create_process): Add cast when calling encode_coding
1571 and another when storing buf into new_argv.
1572
1573 * search.c (search_buffer): Fix casts when assigning raw_pattern.
1574
1575 * editfns.c (Fformat): Fix casts when assigning buf.
1576
1577 * lread.c (isfloat_string): Don't look at bytes before the string.
1578
1579 1998-05-02 Richard Stallman <rms@psilocin.gnu.org>
1580
1581 * s/nextstep.h (HAVE_STRING_H): Add #undef.
1582 (NO_ABORT): Defined.
1583
1584 * editfns.c (Finsert_char): Doc fix.
1585
1586 1998-05-02 Hrvoje Niksic <hniksic@srce.hr>
1587
1588 * fileio.c (Fmake_temp_name): Improve randomness of generated file
1589 names.
1590
1591 1998-05-01 Richard Stallman <rms@psilocin.gnu.org>
1592
1593 * search.c (wordify): Do the second loop by chars, not by bytes.
1594
1595 1998-05-01 Kenichi Handa <handa@etl.go.jp>
1596
1597 * coding.c (encode_coding_iso2022): If encoding a last block,
1598 reset graphic planes and registers.
1599
1600 1998-04-30 Geoff Voelker <voelker@cs.washington.edu>
1601
1602 * keyboard.c (Qdrag_n_drop, drag_n_drop_syms, lispy_drag_n_drop_names)
1603 New variables.
1604 (make_lispy_event): Handle drag_n_drop events.
1605 (syms_of_keyboard): Initialize new symbols.
1606
1607 * w32fns.c (enum_font_cb2): Only ignore raster fonts when
1608 determining height and width.
1609
1610 * termhooks.h (event_kind): New event type `drag_n_drop'.
1611
1612 * makefile.nt (LIBS): Link in shell32.lib.
1613
1614 * w32fns.c: Include shellapi.h.
1615 (w32_createwindow): Enable drag-n-drop on new windows.
1616 (w32_wnd_proc): Handle WM_DROPFILES messages.
1617 Disable drag-n-drop on closing windows.
1618
1619 * w32term.c: Include shellapi.h.
1620 (construct_drag_n_drop): New function.
1621 (w32_read_socket): Handle WM_DROPFILES messages.
1622
1623 1998-04-30 Skip Collins <ColliBF1@APLMSG.JHUAPL.EDU>
1624
1625 * w32fns.c (msh_mousewheel): New variable.
1626 (w32_msg_pump): Register that Emacs accepts mousewheel events.
1627 (w32_wnd_proc): Check for mousewheel events.
1628
1629 * w32term.c (msh_mousewheel): Declare.
1630 (w32_read_socket): Check for mousewheel events.
1631
1632 * w32term.h (WM_MOUSEWHEEL): Define relative to WM_MOUSELAST.
1633 (MSH_MOUSEWHEEL): New macro.
1634
1635 1998-04-29 Richard Stallman <rms@psilocin.gnu.org>
1636
1637 * indent.c (compute_motion): When invisible text cross TO,
1638 return TO, not the start of the invisible text.
1639
1640 * process.c (Fset_process_inherit_coding_system_flag, Fstart_process):
1641 Store inherit_coding_system_flag as a Lisp_Object.
1642 (Fopen_network_stream): Likewise.
1643 (Fprocess_inherit_coding_system_flag): Access it as Lisp_Object.
1644 (read_process_output): Likewise.
1645
1646 * process.h (struct Lisp_Process):
1647 Make inherit_coding_system_flag a Lisp_Object.
1648
1649 1998-04-29 David Mosberger-Tang <David.Mosberger@acm.org>
1650
1651 * unexelf.c [__alpha__ && !__NetBSD__ && !__OpenBSD__]:
1652 Include definition of HDRR structure that used to be in sym.h,
1653 instead of sym.h
1654
1655 1998-04-29 Andreas Schwab <schwab@delysid.gnu.org>
1656
1657 * xfns.c: Fix -Wimplicit warnings.
1658
1659 * xdisp.c (redisplay_window): Update STARTP_BYTE alongside with
1660 STARTP. New variable scroll_margin_bytepos, to parallel
1661 scroll_margin_pos. Fix arguments of pos_tab_offset to agree with
1662 the first argument of compute_motion.
1663
1664 * window.c (make_window): Initialize last_point field.
1665
1666 * sysdep.c (emacs_get_tty): Zero out termios structure before
1667 getting attributes to get consistent values for holes.
1668 (emacs_set_tty): Likewise.
1669
1670 * lisp.h: Declare Fcompare_strings.
1671
1672 * fns.c: Include <time.h> for time.
1673
1674 * emacs.c (main): Use Vbuffer_alist instead of Fbuffer_list.
1675 (syms_of_emacs): Fix doc of Vsignal_USR1_hook and
1676 Vsignal_USR2_hook.
1677
1678 * coding.c (setup_coding_system): Properly check for nil.
1679
1680 1998-04-29 Richard Stallman <rms@psilocin.gnu.org>
1681
1682 * editfns.c (Fcompare_buffer_substrings): Rewrite to loop by chars.
1683
1684 * coding.h (Vfile_name_coding_system)
1685 (Vdefault_file_name_coding_system): Declarations added.
1686
1687 * emacs.c (abort): Omit this definition, if NO_ABORT.
1688 End by calling exit, to avoid warning.
1689
1690 1998-04-28 Richard Stallman <rms@psilocin.gnu.org>
1691
1692 * filelock.c: Include coding.h.
1693 (lock_file): Encode the file name, to make lock file name.
1694
1695 * editfns.c (Fgap_position, Fgap_size): New functions.
1696 (syms_of_editfns): defsubr them.
1697
1698 * filelock.c (lock_file): gcpro `fn'.
1699
1700 * insdel.c (insert_1_both): Call prepare_to_modify_buffer before
1701 moving or making gap.
1702 (insert_from_string_1): Don't check max buffer size here.
1703
1704 * data.c (Flsh, Fash): Handle out-of-range shift counts reasonably.
1705
1706 1998-04-28 Dave Love <d.love@dl.ac.uk>
1707
1708 * s/aix4.h (HAVE_STRING_H): Add #undef.
1709 (HAVE_WAIT_HEADER): Defined.
1710
1711 1998-04-28 Richard Stallman <rms@psilocin.gnu.org>
1712
1713 * emacs.c (main): Fix bug report address in --help message.
1714 (main): Doc --multibyte and --unibyte in --help message.
1715
1716 * fns.c [HAVE_MENUS]: Include xterm.h only if HAVE_X_WINDOWS.
1717
1718 1998-04-28 Eli Zaretskii <eliz@mescaline.gnu.org>
1719
1720 * Makefile.in (callproc.o, print.o, cmds.o, dispnew.o, fileio.o,
1721 frame.o, keyboard.o, minibuf.o, process.o, scroll.o, sysdep.o,
1722 term.o, w16select.o, window.o, xdisp.o, xfaces.o, lread.o): Depend
1723 on msdos.h.
1724 (print.o): Depend on dispextern.h.
1725
1726 1998-04-28 Andreas Schwab <schwab@delysid.gnu.org>
1727
1728 * process.c (Fset_process_inherit_coding_system_flag):
1729 Fix test for non-nil FLAG.
1730
1731 * lread.c: Fix -Wimplicit warnings.
1732 (readevalloop): Fix type of UNIBYTE parameter.
1733
1734 1998-04-27 Richard Stallman <rms@psilocin.gnu.org>
1735
1736 * xterm.c (XTwrite_glyphs): Don't advance cursor X beyond limit.
1737 (XTcursor_to): Likewise.
1738
1739 * blockinput.h (reinvoke_input_signal): Don't use prototype decl.
1740
1741 1998-04-27 Hrvoje Niksic <hniksic@srce.hr>
1742
1743 * fns.c (Fload_average): New arg USE_FLOATS.
1744
1745 1998-04-27 Eli Zaretskii <eliz@mescaline.gnu.org>
1746
1747 * fns.c [HAVE_MENUS]: Include xterm.h only if HAVE_WINDOW_SYSTEM
1748 is defined.
1749
1750 * callproc.c, fileio.c: Include msdos.h after lisp.h.
1751
1752 * msdos.c (IT_ring_bell, IT_write_glyphs, IT_clear_end_of_line,
1753 IT_clear_screen, IT_clear_to_end, IT_clear_to_end, IT_cursor_to,
1754 IT_cmgoto, IT_reassert_line_highlight, IT_change_line_highlight,
1755 IT_update_begin, IT_update_end, IT_set_terminal_modes,
1756 IT_reset_terminal_modes, IT_set_terminal_window,
1757 pixel_to_glyph_coords, IT_menu_display): Bring definitions in
1758 accordance with prototype declarations.
1759
1760 * msdos.h [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
1761 and prototypes for external functions.
1762
1763 1998-04-26 Richard Stallman <rms@psilocin.gnu.org>
1764
1765 * fns.c (Fcompare_strings): Doc fix.
1766
1767 * minibuf.c (minibuf_conform_representation): New function.
1768 (Ftry_completion): Use it to return multibyte string
1769 if and only if the completion table has a multibyte string.
1770 (Fdisplay_completion_list):
1771 Convert string to unibyte before displaying it, if default is unibyte.
1772
1773 * eval.c (find_handler_clause): Cast Fbacktrace to proper type.
1774
1775 * data.c (Fmakunbound): Test keywordness only in initial obarray.
1776
1777 1998-04-26 Erik Naggum <erik@naggum.no>
1778
1779 * emacs.c (standard_args): Apply --unibyte/multibyte after --nw.
1780
1781 * lisp.h: Include initial_obarray from lread.c
1782
1783 * data.c (set_internal): Test keywordness only in initial obarray.
1784
1785 * lread.c (Fintern): Initialize keywords only in initial obarray.
1786
1787 1998-04-25 Richard Stallman <rms@psilocin.gnu.org>
1788
1789 * sysdep.c (croak): Add forward declaration.
1790
1791 * xfns.c (x_set_foreground_color, x_set_background_color)
1792 (x_set_mouse_color, x_set_cursor_color): Don't call unload_color
1793 if same pixel is used in another slot in the frame.
1794
1795 * xterm.c (x_display_cursor): Use FRAME_CURSOR_X_LIMIT.
1796
1797 * dispnew.c (change_frame_size_1): Use FRAME_CURSOR_X_LIMIT.
1798 (update_frame): Likewise.
1799
1800 * frame.h (FRAME_CURSOR_X_LIMIT): New macro.
1801
1802 1998-04-25 Erik Naggum <erik@naggum.no>
1803
1804 * lread.c (Fread_from_string): Initialize startval and endval.
1805
1806 1998-04-24 Richard Stallman <rms@psilocin.gnu.org>
1807
1808 * lread.c (read1): Allow multibyte and unibyte together
1809 in one string.
1810
1811 * xdisp.c (Qinhibit_point_motion_hooks): New variable.
1812 (syms_of_xdisp): Init and staticpro it.
1813 (redisplay_window): Bind the symbol to t.
1814
1815 1998-04-24 Geoff Voelker <voelker@cs.washington.edu>
1816
1817 * w32.c (sys_socket): Make sockets non-inheritable.
1818
1819 1998-04-23 Andrew Innes <andrewi@harlequin.co.uk>
1820
1821 * coding.c (shrink_decoding_region): Do not consider LF as ascii
1822 if preceded by CR, since that confuses eol decoding.
1823 (code_convert_region): When conversion fails with
1824 CODING_FINISH_INSUFFICIENT_SRC, was overwriting src with garbage
1825 from dst instead of copying from src to dst.
1826
1827 * fileio.c (Fcopy_file): Skip dev/inode check on Windows.
1828
1829 * lread.c (dir_warning): Don't log a warning if Emacs hasn't
1830 finished initializing.
1831
1832 * s/ms-w32.h (utimbuf): New macro.
1833
1834 * w32.c (fstat, utime): New functions; these are provided in
1835 conjunction with stat to make handling of file timestamps
1836 consistent.
1837 (convert_from_time_t): Fix calculation of low-order bits.
1838 (sys_unlink): Allow read-only files to be unlinked as on Unix.
1839
1840 * w32fns.c (x_set_vertical_scroll_bars): Put scroll bars on the
1841 right, as is conventional on MS-Windows.
1842 (w32_wnd_proc): Add code to draw popup menu titles.
1843 Ensure mouse capture is released before running popup menu.
1844
1845 * w32term.c (w32_read_socket): Don't misinterpret WM_PAINT message
1846 as an expose event if the repaint region is actually empty. Also
1847 use the standard menubar_selection_callback routine.
1848
1849 * w32menu.c: Replace code with a new version written from scratch
1850 based on xmenu.c; menu construction is now completely lazy.
1851
1852 * w32proc.c (sys_kill): Fix indenting.
1853
1854 1998-04-23 Inge Frick <inge@nada.kth.se>
1855
1856 * keyboard.c: (parse_menu_item): Support keywords :keys and
1857 :key-sequence. Some changes to provide GC-protection. Some
1858 cosmetic changes.
1859 (syms_of_keyboard): Define new symbols `:keys' and `:key-sequence'.
1860
1861 1998-04-23 Richard Stallman <rms@psilocin.gnu.org>
1862
1863 * Makefile.in (emacs.o): Depend on buffer.h.
1864
1865 * charset.c (syms_of_charset): Doc fix for nonascii-insert-offset.
1866
1867 * editfns.c (Fbuffer_substring): Doc fix.
1868 (Finsert_and_inherit_before_markers): Doc fix.
1869 (Finsert_and_inherit, Finsert_before_markers, Finsert): Doc fixes.
1870
1871 * fns.c (Fstring_make_multibyte): Doc fix.
1872 (Fstring_make_unibyte): Doc fix.
1873
1874 1998-04-22 Richard Stallman <rms@psilocin.gnu.org>
1875
1876 * charset.c (Funibyte_char_to_multibyte): Doc fix.
1877
1878 * xfns.c (x_set_foreground_color): Call unload_color on the old color.
1879 (x_set_background_color, x_set_mouse_color): Likewise.
1880 (x_set_cursor_color, x_set_border_pixel): Likewise.
1881
1882 * xfaces.c (unload_color): No longer static.
1883
1884 * insdel.c (insert_from_string, insert_from_string_before_markers):
1885 Don't special case LENGTH = 0.
1886 (insert_from_buffer): Likewise.
1887
1888 1998-04-22 Erik Naggum <erik@naggum.no>
1889
1890 * filelock.c (get_boot_time): Remove extraneous semicolon.
1891
1892 * lisp.h: Remove extraneous semicolon.
1893
1894 1998-04-22 Eli Zaretskii <eliz@delysid.gnu.org>
1895
1896 * w16select.c (Fwin16_set_clipboard_data): Call UNBLOCK_INPUT
1897 before calling sit_for.
1898 (Fwin16_get_clipboard_data, Fwin16_set_clipboard_data): Balance
1899 the calls to BLOCK_INPUT and UNBLOCK_INPUT.
1900 (alloc_xfer_buf): If want_size is more than 1MB, return
1901 immediately with failure.
1902 (Fw16_set_clipboard_data, Fw16_get_clipboard_data): Replace win16
1903 with w16.
1904
1905 1998-04-21 Richard Stallman <rms@psilocin.gnu.org>
1906
1907 * eval.c (Fsignal): Unconditionally do TOTALLY_UNBLOCK_INPUT.
1908
1909 * dispnew.c (update_frame): Move echo area cursor into range.
1910
1911 1998-04-21 Eli Zaretskii <eliz@delysid.gnu.org>
1912
1913 * callproc.c (Fcall_process) [MSDOS]: Call child_setup instead of
1914 run_msdos_command.
1915 (child_setup) [MSDOS]: Call run_msdos_command here.
1916 (child_setup) [DOS_NT]: Get past drive letter in pwd. Don't call
1917 close_load_descs, since we are not in a vfork.
1918
1919 * msdos.c (run_msdos_command): Don't construct process
1920 environment, it's already done in child_setup.
1921 (run_msdos_command): Add ENVV to argument list.
1922
1923 1998-04-20 Richard Stallman <rms@psilocin.gnu.org>
1924
1925 * emacs.c (main): Move the --unibyte code below
1926 the most basic initializations.
1927 Clear out *Messages* at that point.
1928
1929 * lread.c (read_from_string_index_byte): New variable.
1930 (read_from_string_index): Now counts characters.
1931 (readchar, unreadchar, Fread_from_string): Changed accordingly.
1932
1933 * lread.c (readchar): Read a multibyte char all at once
1934 from a buffer, marker or string.
1935 (unreadchar): Unread a multibyte char all at once.
1936 (read1): Properly handle non-escaped multibyte chars.
1937 They force a string to be multibyte.
1938 When reading direct from a file, any multibyte sequence means
1939 a multibyte string.
1940 Insist on MAX_LENGTH_OF_MULTI_BYTE_FORM bytes when checking
1941 for read_buffer full; this way need not check specially for multibyte.
1942
1943 * emacs.c: Include buffer.h
1944 (main): When handling --unibyte, mark all existing
1945 buffers as unibyte; but don't handle it when dumping.
1946
1947 * alloc.c (Fgarbage_collect): Don't truncate command-history here.
1948
1949 * callint.c (Fcall_interactively): Truncate command-history here.
1950
1951 * keyboard.c (Fcommand_execute): Truncate command-history here.
1952
1953 * lread.c (readevalloop): New arg UNIBYTE. Callers changed.
1954 Use it to bind load_convert_to_unibyte.
1955 (Feval_buffer): New arg UNIBYTE. Pass it to readevalloop.
1956 (readevalloop_1): New unwind-protect subroutine.
1957 (load_convert_to_unibyte): New variable.
1958 (syms_of_lread): Set up Lisp var.
1959 (read1): If load_convert_to_unibyte, convert strings to unibyte.
1960
1961 * insdel.c (copy_text): Count down bytes_left properly
1962 in multibyte to unibyte case.
1963
1964 * fns.c (Fcompare_strings): Require first 6 args.
1965
1966 1998-04-20 Kenichi HANDA <handa@etl.go.jp>
1967
1968 * Makefile.in (lisp): Add czech.elc, slovak.elc, and romanian.elc.
1969 (shortlisp): Likewise.
1970
1971 * coding.c (setup_coding_system): For a type 4 coding system,
1972 FLAGS member of coding spec is a cons of CCL program symbols.
1973
1974 * ccl.c (Fregister_ccl_program): Put ccl-program-idx property to
1975 NAME.
1976
1977 1998-04-19 Eli Zaretskii <eliz@delysid.gnu.org>
1978
1979 * process.h (struct Lisp_Process): Add inherit_coding_system_flag
1980 member.
1981
1982 * process.c (Fset_process_inherit_coding_system_flag,
1983 Fprocess_inherit_coding_system_flag): New functions.
1984 (syms_of_process): Defsubr them.
1985 (Fstart_process, Fopen_network_stream): Initialize
1986 inherit_coding_system_flag.
1987 (read_process_output): If the process buffer isn't dead, call
1988 after-insert-file-set-buffer-file-coding-system.
1989
1990 1998-04-18 Hrvoje Niksic <hniksic@srce.hr>
1991
1992 * fileio.c (Fmake_temp_name): Complete rewrite.
1993
1994 1998-04-18 Richard Stallman <rms@psilocin.gnu.org>
1995
1996 * minibuf.c (Ftry_completion): Use Fcompare_strings.
1997 (Fall_completions, Fminibuffer_complete_word): Likewise.
1998
1999 * fns.c (Fcompare_strings): New function.
2000 (syms_of_fns): defsubr it.
2001
2002 * xselect.c (Fx_get_cut_buffer_internal):
2003 If FORMAT is 0, cut buffer is empty.
2004
2005 * emacs.c (main): --unibyte affects minibuffer too.
2006
2007 1998-04-17 Richard Stallman <rms@psilocin.gnu.org>
2008
2009 * emacs.c (syms_of_emacs): Fix patching error in previous change.
2010
2011 * lread.c (read1): Compute NaN and infinities using 0.0 in a
2012 variable, to cope with compilers that think they are smarter than us.
2013
2014 * lread.c (readchar): Find the previous byte's address properly
2015 for the buffer case, as for the marker case.
2016
2017 1998-04-17 Geoff Voelker <voelker@cs.washington.edu>
2018
2019 * emacs.c (Vpath_separator): New variable.
2020 (syms_of_emacs): Define Vpath_separator using SEPCHAR.
2021
2022 * lastfile.c (_my_endbss, my_endbss_static): New variables.
2023
2024 * term.c (reset_terminal_modes): Only invoke hook if defined.
2025
2026 * makefile.nt (LINK_TYPE): Do not include debug info in optimized
2027 binary.
2028 (LIBS): Include mpr.lib.
2029 (clean): Delete patch generated files, optimized build directory.
2030
2031 * s/ms-w32.h (HAVE_STRING_H, HAVE_STRFTIME): Define macros.
2032 (SYSTEM_PURESIZE_EXTRA): Increase to handle more dumped lisp files.
2033
2034 * unexw32.c (my_begbss_static, my_endbss_static): Declare.
2035 (get_bss_info_from_map_file): Only define if SEPARATE_BSS_SECTION.
2036 (get_section_info): Use my_begbss_static, my_endbss_static to
2037 determine bounds of bss.
2038 (w32_fatal_reload_error): New function.
2039 (read_in_bss, map_in_heap): Invoke w32_fatal_reload_error upon error.
2040
2041 * w32.c (sys_read): Clear carriage return flag.
2042 Report normal EOF when read fails if nothing in buffer.
2043 Only read more if more remaining.
2044 (check_windows_init_file): New function.
2045 (term_ntproc): Invoke check_windows_init_file.
2046
2047 * w32.h (FILE_SEND_SIGCHLD): New macro.
2048
2049 * w32faces.c (Qforeground_color, Qbackground_color): Declare.
2050 (compute_char_face, merge_face_list): Update from xterm.c.
2051
2052 * w32fns.c (w32_msg_pump): Handle WM_EMACS_SETLOCALE.
2053 (w32_wnd_proc): Handle WM_EMACS_SETFOREGROUND.
2054
2055 * w32heap.c (recreate_heap): Invoke w32_fatal_reload_error upon error.
2056 * w32heap.h (w32_fatal_reload_error): Declare.
2057
2058 * w32inevt.c (Vw32_recognize_altgr): Declare.
2059 (w32_kbd_mods_to_emacs): Obey Vw32_recognize_altgr.
2060 Add more keys for Vw32_capslock_is_shiftlock.
2061 (w32_kbd_patch_key): Obey Vw32_recognize_altgr.
2062 (map_virt_key): Brazilian keyboards use 0xc1 for /(?) key.
2063
2064 * w32menu.c (Vmenu_updating_frame): New variable.
2065 (Fx_popup_menu, set_frame_menubar): Record frame whose menu is
2066 being updated.
2067 (syms_of_w32menu): Define Vmenu_updating_frame.
2068
2069 * w32proc.c (w32_executable_type): Properly cast dos_header when
2070 making size comparison.
2071 (sys_spawnve): Update comments.
2072 (sys_select): Ignore children dead children with pending input.
2073 Delay sending SIGCHLD until all output has been read.
2074 (sys_kill): Sleep to allow focus change events to propagate.
2075 Use TerminateProcess on Win95.
2076 (int_from_hex, enum_locale_fn, Fw32_get_valid_locale_ids):
2077 New functions.
2078 (Vw32_valid_locale_ids): New variable.
2079 (Fw32_set_current_locale): Send message to input thread.
2080 (syms_of_ntproc): defsubr Sw32_get_valid_locale_ids.
2081
2082 * w32term.c (Vw32_recognize_altgr): New variable.
2083 (dumpglyphs): Update from xterm.c.
2084 (w32_ring_bell): Flash window, don't just reset its state.
2085 (dumprectangle, show_mouse_face, x_draw_single_glyph): Use new
2086 args to dumpglyphs.
2087 (my_set_foreground_window): New function.
2088 (w32_condemn_scroll_bars): Mark all as condemned scroll bars.
2089 (w32_redeem_scroll_bar): Look through all scroll bars.
2090 (w32_judge_scroll_bars): Don't clear out condemned list.
2091 (w32_read_socket): Clip window after frame has been restored.
2092 (x_focus_on_frame, x_raise_frame): Use my_set_foreground_window.
2093 (syms_of_w32term): Define Vw32_recognize_altgr.
2094
2095 * w32term.h (WM_EMACS_SETFOREGROUND, WM_EMACS_SETLOCALE):
2096 New message macros.
2097
2098 1998-04-16 Richard Stallman <rms@psilocin.gnu.org>
2099
2100 * callproc.c (Fcall_process_region): Unbind coding-system-for-write
2101 after calling Fwrite_region.
2102
2103 * eval.c (Fcatch): Doc fix.
2104
2105 * mocklisp.c (Fml_if): Initialize val.
2106
2107 1998-04-16 Erik Naggum <erik@naggum.no>
2108
2109 * emacs.c (main): Fix typo, add --multibyte and --no-multibyte.
2110 (standard_args): Add --multibyte and --no-multibyte.
2111
2112 1998-04-16 Richard Stallman <rms@psilocin.gnu.org>
2113
2114 * fns.c (time): Declare it only if not HAVE_UNISTD_H.
2115
2116 * emacs.c (standard_args): Add --no-unibyte.
2117 (main): Recognize --no-unibyte to inhibit EMACS_UNIBYTE.
2118
2119 * fns.c (Frequire): Doc fix.
2120
2121 * fileio.c (file_name_as_directory): For empty arg, return `./'.
2122
2123 1998-04-16 Eli Zaretskii <eliz@gnu.org>
2124
2125 * msdos.c (it_keyboard): New variable, supports Italian keyboard.
2126 (keyboard_layout_list): Add Italian keyboard.
2127
2128 1998-04-15 Ken'ichi Handa <handa@melange.gnu.org>
2129
2130 * coding.c (code_convert_region): If point in the conversion
2131 region, move it to FROM in advance.
2132
2133 1998-04-15 Eli Zaretskii <eliz@delysid.gnu.org>
2134
2135 * callproc.c (Fcall_process): Call
2136 after-insert-file-set-buffer-file-coding-system if
2137 inherit-process-coding-system is non-nil.
2138
2139 * coding.c (syms_of_coding): Declare and define
2140 inherit-process-coding-system.
2141
2142 * coding.h: Declare inherit-process-coding-system.
2143
2144 * w32.c (sys_pipe): Use binary pipe I/O unconditionally.
2145
2146 * callproc.c: Remove binary-process-{in,out}put.
2147 (syms_of_callproc): Likewise.
2148 (Fcall_process, Fcall_process_region): Don't use
2149 binary-process-{in,out}put.
2150
2151 1998-04-15 Andreas Schwab <schwab@delysid.gnu.org>
2152
2153 * config.in (RE_TRANSLATE_P): Define.
2154
2155 1998-04-15 Ken'ichi Handa <handa@melange.gnu.org>
2156
2157 * ccl.c (Fccl_execute_on_string): Put \n\ at eol of docstring.
2158
2159 * xfns.c (x_set_font): Give 2nd arg nil to Fquery_fontset.
2160 (Fx_create_frame): Likewise.
2161
2162 1998-04-15 Kenichi Handa <handa@etl.go.jp>
2163
2164 * ccl.c: Typo in comments fixed.
2165 (Qccl_program_idx, Qunification_table, Qunification_table_id): New
2166 variables.
2167 (syms_of_ccl): Initialize and staticpro them.
2168 (CCL_ReadMultibyteChar2): Macro name changed from
2169 CCL_ReadMultibyteCharacter.
2170 (CCL_WriteMultibyteChar2): Macro name changed from
2171 CCL_WriteMultibyteChar2.
2172 (CCL_
2173 (MAX_TABLE_SET_LEVEL): New macro.
2174 (tr_stack): New type.
2175 (translate_stack, translate_stack_pointer): New variables.
2176 (PUSH_TRANSLATE_STACK, POP_TRANSLATE_STACK): New macros.
2177 (ccl_driver): Adjusted for the above changes.
2178 (resolve_symbol_ccl_program): New function.
2179 (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
2180 program. If CCL-PRGRAM is a vector, convert symbols in it to ID
2181 numbers by resolve_symbol_ccl_program.
2182 (Fccl_execute_on_string): Likewise.
2183 (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
2184 convert symbols in it to ID numbers by resolve_symbol_ccl_program.
2185
2186 * ccl.h (Vccl_program_table, Qccl_program_idx): Extern them.
2187
2188 * fontset.c (find_ccl_program_func): New variable.
2189 (fs_load_font): Call a function pointed by find_ccl_program_func
2190 instead of finding CCL program to encode a character by itself.
2191 (Fquery_fontset): New optional 2nd arg REGEXPP. Callers changed.
2192
2193 * fontset.h (FONT_ENCODING_NOT_DECIDED): The value is changed to 255.
2194 (find_ccl_program_func): Extern it.
2195 (Fquery_fontset): Args number changed to 2.
2196
2197 * xfns.c (syms_of_xfns): Initialize find_ccl_program_func.
2198
2199 * xterm.c (x_find_ccl_program): New function.
2200
2201 * xterm.h (x_find_ccl_program): Extern it.
2202
2203 1998-04-14 Dave Love <fx@gnu.org>
2204
2205 * keymap.c: Revert erroneous 1998-04-07 change.
2206
2207 1998-04-14 Karl Heuer <kwzh@gnu.org>
2208
2209 * xfns.c (x_destroy_bitmap): Declare as void, not int.
2210 (x_report_frame_params, x_set_border_pixel): Likewise.
2211 (x_set_internal_border_width): widget_store_internal_border takes
2212 just one arg, not two.
2213
2214 1998-04-14 Andreas Schwab <schwab@delysid.gnu.org>
2215
2216 * xdisp.c (try_window): Fix mixing of Lisp_Object and int.
2217
2218 * window.c (Fset_window_configuration): Fix mixing of Lisp_Object
2219 and int.
2220
2221 * sysdep.c (init_sys_modes): Fix mixing of Lisp_Object and int
2222
2223 * search.c (compile_pattern, compile_pattern_1): Fix mixing of
2224 Lisp_Object and int.
2225
2226 * process.c (read_process_output): Fix mixing of Lisp_Object and
2227 int.
2228
2229 * minibuf.c (Fself_insert_and_exit): Fix mixing of Lisp_Object and
2230 int.
2231
2232 * marker.c (set_marker_both): Remove bogus checks on charpos.
2233
2234 * keyboard.c (parse_menu_item): Don't GCPRO non-lisp variables.
2235
2236 * insdel.c (signal_after_change): Fix mixing of Lisp_Object and
2237 int.
2238
2239 * indent.c (indented_beyond_p): Fix mixing of Lisp_Object and int.
2240
2241 * frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Fix
2242 mixing of Lisp_Object and int.
2243
2244 * fns.c (Fsubstring, substring_both, Fchar_table_range,
2245 Fset_char_table_range): Fix mixing of Lisp_Object and int.
2246
2247 * fileio.c (Fwrite_region): Fix mixing of Lisp_Object and int.
2248
2249 * editfns.c (Fchar_after, Fchar_before): Fix mixing of Lisp_Object
2250 and int
2251
2252 * coding.c (code_convert_region): Fix mixing of Lisp_Object and
2253 int.
2254
2255 * charset.c (Fchars_in_region): Fix mixing of Lisp_Object and int.
2256
2257 * ccl.c (ccl_driver, syms_of_ccl): Fix mixing of Lisp_Object and
2258 int.
2259
2260 * cm.h: Update return types of declarations.
2261
2262 * xterm.h, puresize.h, termhooks.h, lisp.h, keyboard.h,
2263 intervals.h, dispextern.h, blockinput.h, coding.h: Add more
2264 prototypes.
2265
2266 * xterm.c, xselect.c, xrdb.c, xmenu.c, xdisp.c, window.c,
2267 widget.c, undo.c, terminfo.c, term.c, sysdep.c, syntax.c,
2268 search.c, scroll.c, process.c, print.c, mocklisp.c, prefix-args.c,
2269 marker.c, keymap.c, keyboard.c, intervals.c, insdel.c, indent.c,
2270 frame.c, fontset.c, fns.c, floatfns.c, filelock.c, fileio.c,
2271 eval.c, emacs.c, editfns.c, doprnt.c, doc.c, dispnew.c, dired.c,
2272 data.c, coding.c, cmds.c, cm.c, charset.c, ccl.c, category.c,
2273 casetab.c, casefiddle.c, callproc.c, callint.c, bytecode.c,
2274 buffer.c, alloc.c, abbrev.c: Fix -Wimplicit warnings.
2275
2276 * buffer.c (Fset_buffer_multibyte): Do nothing if nothing actually
2277 changes.
2278
2279 * coding.c (code_convert_region): Call adjust_after_insert also
2280 in unibyte mode.
2281
2282 * fileio.c (Finsert_file_contents): Call adjust_after_insert also
2283 in unibyte mode.
2284
2285 1998-04-13 Ken'ichi Handa <handa@melange.gnu.org>
2286
2287 * coding.c (code_convert_string): Give decode_coding correct byte
2288 length of source text.
2289
2290 1998-04-13 Richard Stallman <rms@gnu.org>
2291
2292 * print.c (strout): Convert old echo area to multibyte, like printchar.
2293 (printchar, strout): If echo area text converted to multibyte
2294 does not all fit, truncate it at char boundary.
2295
2296 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
2297 When calling set_marker_both, pass the right buffer.
2298
2299 * indent.c (Fcompute_motion): Check that TO and FROM are in range.
2300
2301 1998-04-13 Eli Zaretskii <eliz@delysid.gnu.org>
2302
2303 * msdos.c (dosv_refresh_virtual_screen): Do not use negative
2304 arguments.
2305 (dos_direct_output): Fix the offset passed to
2306 dosv_refresh_virtual_screen.
2307 (IT_display_cursor): Don't call dosv_refresh_virtual_screen.
2308 (IT_reset_terminal_modes): Don't call dosv_refresh_virtual_screen
2309 when setting cursor.
2310
2311 1998-04-12 Richard Stallman <rms@gnu.org>
2312
2313 * print.c (temp_output_buffer_setup): Clear out overlays,
2314 visited file, undo list, etc.
2315
2316 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): FROM counts chars.
2317 (SYNTAX_TABLE_BYTE_TO_CHAR): Handle the offset properly
2318 both before and after conversion.
2319
2320 * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Arg renamed to charpos.
2321 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise.
2322
2323 * xdisp.c (display_text_line): When handling selective > 0,
2324 update pos and pos_byte with results of calling scan_newline.
2325
2326 * data.c (set_internal, Fmakunbound): Fix previous change.
2327
2328 1998-04-12 Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
2329
2330 * print.c (print) <Lisp_String>: Fix "\ " handling.
2331
2332 1998-04-11 Richard Stallman <rms@gnu.org>
2333
2334 * s/netbsd.h (LINKER): Add definition.
2335 (LD_SWITCH_SYSTEM): Undo previous change.
2336
2337 * data.c (set_internal, Fmakunbound): No error if setting
2338 a keyword to itself.
2339
2340 1998-04-09 Karl Heuer <kwzh@gnu.org>
2341
2342 * marker.c (Fbuffer_has_markers_at): Fix termination condition.
2343
2344 * search.c (min, max): Make these macros, not functions.
2345 (scan_buffer, boyer_moore): Simplify args to those macros.
2346 * unexw32.c (min, max): Define as macros.
2347 * w32.c (min, max): Define as macros.
2348 * w32term.c (min, max): Define as macros.
2349 * callproc.c (relocate_fd): Avoid `min'/`max' as variable names.
2350 * print.c (print): Likewise.
2351 * dispnew.c (minmax): New macro.
2352 (update_frame): Use it.
2353
2354 * w32proc.c: Delete incorrect prototype of report_file_error.
2355 * w32.c (unrequest_sigio, request_sigio): Fix prototype.
2356
2357 * w32menu.c (set_frame_menubar): Call Fset_match_data, not
2358 Fstore_match_data.
2359
2360 * emacs.c (abort): Don't redefine on DOS_NT.
2361
2362 1998-04-09 Kenichi Handa <handa@etl.go.jp>
2363
2364 * charset.c (string_to_non_ascii_char): Include garbage bytes (if
2365 any) following a multibyte character in *ACTUAL_LEN.
2366 (Fcharset_after): New function.
2367 (syms_of_charset): Defsubr it.
2368 (multibyte_form_length): Modified to be consistent with
2369 string_to_non_ascii_char.
2370
2371 * charset.h (MULTIBYTE_FORM_LENGTH): Don't check LEN here.
2372
2373 * xdisp.c (display_text_line): Code for displaying a character by
2374 octal form is modified.
2375
2376 1998-04-08 Richard Stallman <rms@gnu.org>
2377
2378 * data.c (keyword_symbols_constant_flag): New variable.
2379 (syms_of_data): Set up Lisp variable.
2380 (set_internal): Obey it and give error for :-symbols.
2381 (Fmakunbound): Likewise.
2382
2383 1998-04-08 Eli Zaretskii <eliz@delysid.gnu.org>
2384
2385 * dosfns.c (init_dosfns): Fix bug in passing segment address of
2386 the transfer buffer.
2387
2388 1998-04-08 Karl Heuer <kwzh@gnu.org>
2389
2390 * keymap.c (fix_submap_inheritance): Fix parens.
2391
2392 1998-04-07 Richard Stallman <rms@gnu.org>
2393
2394 * fileio.c (Fmake_temp_name): Detect error return from mktemp.
2395
2396 1998-04-07 Eli Zaretskii <eliz@is.elta.co.il>
2397
2398 * charset.c (string_to_non_ascii_char, multibyte_form_length)
2399 (split_non_ascii_string, str_cmpchar_id): Make the STR argument
2400 const unsigned char *.
2401 * charset.h: Update prototypes for the above.
2402
2403 * filelock.c: Include <utmp.h> only if CLASH_DETECTION is
2404 defined.
2405
2406 * process.c (kill_buffer_processes): Make consistent with
2407 prototype in lisp.h.
2408
2409 * msdos.c (request_sigio, unrequest_sigio): Make consistent with
2410 prototypes in lisp.h.
2411
2412 * charset.h (CHAR_STRING): Cast to unsigned char ** explicitly.
2413
2414 * w16select.c (Fwin16_set_clipboard_data): Call message2 with 3
2415 arguments.
2416
2417 * emacs.c (abort): Don't redefine on MSDOS.
2418
2419 1998-04-07 Dave Love <fx@gnu.org>
2420
2421 * keymap.c (describe_command): Use quotes around symbol name.
2422
2423 * emacs.c (main): Obey environment variable EMACS_UNIBYTE as
2424 alternative to --unibyte.
2425
2426 1998-04-06 Jonathan I. Kamens <jik@kamens.brookline.ma.us>
2427
2428 * config.in (GSSAPI, HAVE_LIBGSSAPI_KRB5, HAVE_LIBGSSAPI)
2429 (HAVE_GSSAPI_H): Add undefs for GSS-API support in movemail.
2430
2431 1998-04-06 Richard Stallman <rms@gnu.org>
2432
2433 * dired.c (Fdirectory_files): Use make_uninit_multibyte_string.
2434 Use STRING_BYTES on encoded_directory.
2435
2436 1998-04-06 Andreas Schwab <schwab@gnu.org>
2437
2438 * fns.c (Flength): Doc fix.
2439
2440 * unexelf.c (unexec): Account for possible padding before the old
2441 .bss section.
2442
2443 * editfns.c (Ftranspose_regions): Fix order of parameters for
2444 replace_range.
2445
2446 * dired.c (Fdirectory_files): GCPRO encoded_directory and list.
2447 Compute needsep only once. Pass correct arg to chars_in_text.
2448
2449 * alloc.c (gc_sweep): Avoid using two loop variables counting the
2450 same thing.
2451
2452 1998-04-06 Ken'ichi Handa <handa@delysid.gnu.org>
2453
2454 * fns.c (Fstring_as_unibyte): Set size_byte field to -1.
2455
2456 1998-04-05 Eli Zaretskii <eliz@is.elta.co.il>
2457
2458 * config.in: Don't include <string.h> when configuring.
2459
2460 1998-04-04 Richard Stallman <rms@psilocin.gnu.org>
2461
2462 * s/netbsd.h (LD_SWITCH_SYSTEM): Add -L/usr/lib.
2463
2464 1998-04-03 enami tsugutomo <enami@but-b.or.jp>
2465
2466 * editfns.c (Fmessage_box): Pass the missing third argument
2467 STRING_MULTIBYTE (val) to message2.
2468
2469 * frame.c (make_frame_without_minibuffer): Conditionalize on
2470 HAVE_WINDOW_SYSTEM.
2471 (make_minibuffer_frame): Likewise.
2472 * frame.h: Ditto.
2473
2474 1998-04-03 Richard Stallman <rms@psilocin.gnu.org>
2475
2476 * intervals.c (set_intervals_multibyte):
2477 Function moved after set_intervals_multibyte_1.
2478
2479 * xdisp.c (redisplay_window): If updating mode line,
2480 temporarily change selected_frame
2481
2482 1998-04-02 Dave Love <fx@gnu.org>
2483
2484 * emacs.c (main): Add [--unibyte] to usage.
2485
2486 1998-04-02 Richard Stallman <rms@psilocin.gnu.org>
2487
2488 * print.c (print) <Lisp_String>: Follow a hex escape with `\ ' if nec.
2489
2490 * data.c (Fmake_variable_frame_local): Doc fix.
2491
2492 * fns.c (Fstring_as_multibyte): Never return unibyte string unchanged.
2493
2494 1998-04-02 NIIBE Yutaka <gniibe@mri.co.jp>
2495
2496 * fns.c (Fstring_as_multibyte): Set size_byte field.
2497
2498 1998-04-02 Richard Stallman <rms@psilocin.gnu.org>
2499
2500 * fns.c (char_table_translate): New function.
2501 * config.in (RE_TRANSLATE): Use char_table_translate.
2502
2503 1998-04-02 Kenichi Handa <handa@etl.go.jp>
2504
2505 * coding.c (CHARSET_OK): Don't reject safe charsets.
2506 (DECODE_DESIGNATION): Likewise.
2507 (check_composing_code): Likewise.
2508
2509 * marker.c (buf_charpos_to_bytepos): Delete local variable
2510 gapend_byte.
2511
2512 * xselect.c (selection_data_to_lisp_data): Give
2513 make_string_from_bytes a correct char size.
2514
2515 1998-04-01 Richard Stallman <rms@psilocin.gnu.org>
2516
2517 * xdisp.c (redisplay_window): Fix computing pos from last_point.
2518
2519 1998-03-30 Kenichi Handa <handa@etl.go.jp>
2520
2521 * coding.c (code_convert_region): Handle skipped ASCII characters
2522 at the head and tail of conversion region correctly when adjusting
2523 position keepers. Call adjust_after_insert to record undo info
2524 and adjust markers when we don't have to change byte sequence of
2525 a buffer.
2526
2527 * coding.h (struct coding_system): Comment for the member
2528 heading_ascii modified.
2529
2530 * fileio.c (Finsert_file_contents): Call adjust_after_insert when
2531 a text is inserted in a multibyte buffer without any code
2532 conversion.
2533
2534 * insdel.c (adjust_markers_for_replace): New function.
2535 (adjust_after_replace): Arguments changed. Call
2536 adjust_markers_for_replace if this function is called after
2537 replacement.
2538 (adjust_after_insert): New function.
2539
2540 * lisp.h (adjust_after_replace, adjust_after_insert): Extern them.
2541
2542 1998-03-28 Richard Stallman <rms@psilocin.gnu.org>
2543
2544 * xdisp.c (display_text_line): Handle overlay-arrow correctly.
2545
2546 1998-03-28 Richard Stallman <rms@psilocin.gnu.org>
2547
2548 * fileio.c (barf_or_query_if_file_exists): New arg QUICK.
2549 All calls changed.
2550
2551 1998-03-27 Richard Stallman <rms@psilocin.gnu.org>
2552
2553 * insdel.c (check_markers_debug_flag): New variable.
2554 (syms_of_insdel): Set up Lisp var.
2555 (CHECK_MARKERS): New macro. Use it everywhere
2556 instead of calling check_markers directly.
2557 It tests check_markers_debug_flag.
2558
2559 1998-03-26 Richard Stallman <rms@psilocin.gnu.org>
2560
2561 * alloc.c (mark_buffer): Mark the undo_list slot specially;
2562 don't mark a marker just cause it is in this list.
2563 (Fgarbage_collect): Discard from all undo-lists
2564 all elements that adjust markers that were not marked.
2565
2566 * buffer.h (struct buffer): Field `undo_list' moved before `name'
2567 so it won't get marked in the usual way.
2568
2569 * coding.c (code_convert_region): Call adjust_before_replace
2570 in the no-conversion case. Adjust GPT, ZV and Z in chars.
2571
2572 1998-03-25 Richard Stallman <rms@psilocin.gnu.org>
2573
2574 * lread.c (init_lread): Init Vstandard_input.
2575
2576 1998-03-25 Ken'ichi Handa <handa@melange.gnu.org>
2577
2578 * xdisp.c (redisplay_window): Fix previous change.
2579
2580 1998-03-25 Kenichi Handa <handa@etl.go.jp>
2581
2582 * indent.c (compute_motion): Call strwidth only when necessary.
2583 Set wide_column_end_hpos only when MULTIBYTE_BYTES_WIDTH set
2584 nonzero to wide_column.
2585
2586 * xdisp.c (redisplay_window): Give byte position to FETCH_BYTE.
2587 Call pos_tab_offset appropriately.
2588 (try_window_id): Give byte position to FETCH_BYTE. Set
2589 val.bytepos to pos_byte.
2590
2591 * lisp.h (make_buffer_string, make_buffer_string_both): Extern
2592 them.
2593
2594 * process.c (read_process_output): Count multibyte characters. If
2595 received data is stored in p->decoding_buf, copy it to a temporary
2596 buffer and call insert_before_makers instead of
2597 insert_from_string_before_markers.
2598
2599 1998-03-24 Ken'ichi Handa <handa@melange.gnu.org>
2600
2601 * lisp.h (record_delete): The second arg is Lisp_Object.
2602
2603 1998-03-24 Kenichi Handa <handa@etl.go.jp>
2604
2605 * indent.c (MULTIBYTE_BYTES_WIDTH): Set wide_column only when we
2606 encounter a wide-column character.
2607
2608 * undo.c (record_delete): Record last_point_position when there's
2609 no record other than marker adjustment before undo boundary.
2610
2611 * insdel.c (del_range_2): Move gap again to a proper place just
2612 after calling make_buffer_string_both.
2613
2614 * coding.c (shrink_decoding_region): If EOL_CONVERSION is nonzero,
2615 don't skip `\r' (instead of `\n').
2616
2617 1998-03-23 Andreas Schwab <schwab@gnu.org>
2618
2619 * xmenu.c (popup_get_selection): On receiving a KeyPress event
2620 only deactivate the menu when the key is not a modifier key.
2621
2622 * xfns.c (Fx_create_frame): Use "borderWidth", not "borderwidth",
2623 as resource name, to be consistent with other X applications.
2624
2625 1998-03-21 Richard Stallman <rms@delysid.gnu.org>
2626
2627 * dired.c (Fdirectory_files):
2628 In FULL case, compute number of characters
2629
2630 * fns.c (substring_both, Fsubstring): Use make_specified_string.
2631 (concat): Make string result unibyte or multibyte as appropriate.
2632
2633 * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string.
2634
2635 * alloc.c (make_specified_string): New function.
2636 (make_string_from_bytes): New function.
2637 (compact_strings): Get byte size from size, if size_byte < 0.
2638 (Fmake_string): Use make_uninit_string for single-byte char.
2639 (make_unibyte_string): Mark string as unibyte.
2640 (make_uninit_string): Likewise.
2641 (make_string): Likewise, if size == size in bytes.
2642 (make_pure_string): New arg MULTIBYTE.
2643 (Fpurecopy): Pass new arg to make_pure_string.
2644
2645 * editfns.c (Fchar_to_string): Use make_string_from_bytes.
2646 (Fformat): Use make_specified_string.
2647 (make_buffer_string_both): Use make_uninit_string if buffer is unibyte.
2648
2649 * casefiddle.c (casify_object): Use make_specified_string.
2650
2651 * charset.c (Fstring): Use make_string_from_bytes.
2652 (Fcompose_string): Likewise.
2653
2654 * cmds.c (internal_self_insert): Use make_string_from_bytes.
2655
2656 * coding.c (code_convert_string): Use make_string_from_bytes.
2657
2658 * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes.
2659
2660 * lread.c (read1): Pass new arg to make_pure_string.
2661 (make_symbol): Likewise.
2662 (init_obarray): Likewise.
2663 (read1): Use make_specified_string.
2664
2665 * print.c (PRINTPREPARE): Use make_string_from_bytes.
2666
2667 * process.c (read_process_output): Use make_string_from_bytes.
2668
2669 * search.c (Fregexp_quote): Use make_specified_string.
2670
2671 * xselect.c (selection_data_to_lisp_data): Use make_string_from_bytes.
2672
2673 * insdel.c: (insert_from_string_1, replace_range):
2674 Use STRING_MULTIBYTE to determine whether string is multibyte.
2675
2676 * editfns.c: Use STRING_BYTES and SET_STRING_BYTES.
2677
2678 (Ftranspose_regions): Try to handle combining bytes.
2679
2680 * alloc.c, xterm.c, xselect.c, xmenu.c, xfns.c, xdisp.c, search.c,
2681 process.c, print.c, lread.c, keymap.c, insdel.c, keyboard.c,
2682 frame.c, fns.c, filelock.c, doc.c, dispnew.c, data.c, coding.c,
2683 charset.c, ccl.c, category.c, casefiddle.c, callproc.c, callint.c,
2684 bytecode.c, abbrev.c, minibuf.c, buffer.c, fileio.c: Use
2685 STRING_BYTES and SET_STRING_BYTES.
2686
2687 * xmenu.c: Don't include puresize.h any more as code that needs it
2688 has moved to keyboard.c.
2689 (menu_item_equiv_key, menu_item_enabled_p_1, menu_item_enabled_p):
2690 Functions deleted; code moved to parse_menu_item in keyboard.c.
2691 (single_keymap_panes): Large part of code moved to single_menu_item.
2692 (single_menu_item): New function that uses parse_menu_item.
2693 (Qmenu_alias): Variable deleted.
2694 (QCtoggle, QCradio): New variables.
2695 (syms_of_xmenu): Change initializations of variables.
2696
2697 * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap)
2698 (copy-keymap, where_is_internal_1):
2699 Support new format for menu items.
2700 (syms_of_keymap): New symbol `menu-item'.
2701
2702 * keyboard.c: Include puresize.h for CHECK_IMPURE.
2703 (parse_menu_item): New function.
2704 (menu_item_eval_property_1, menu_item_eval_property) New suroutines.
2705 (menu_bar_one_keymap): Moved some code to menu_bar_item.
2706 (menu_bar_item): Rewritten to use parse_menu_item.
2707 (menu_bar_item_1): Function deleted.
2708 (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio):
2709 (Qmenu_alias): New variables.
2710 (syms_of_keyboard): Initialize them, and item_properties.
2711
2712 * insdel.c (replace_range): New arg NOMARKERS.
2713
2714 1998-03-21 Richard Stallman <rms@psilocin.gnu.org>
2715
2716 * dired.c (Fdirectory_files): In FULL case,
2717 compute number of characters
2718
2719 * insdel.c (insert_from_string_1, replace_range):
2720 Use STRING_MULTIBYTE to determine whether string is multibyte.
2721
2722 * lisp.h: Declarations changed.
2723 (STRING_MULTIBYTE, STRING_BYTES, SET_STRING_BYTES):
2724 New definitions treating negative size_byte as a flag for unibyte.
2725
2726 * xselect.c (selection_data_to_lisp_data): Use make_string_from_bytes.
2727
2728 * search.c (Fregexp_quote): Use make_specified_string.
2729
2730 * process.c (read_process_output): Use make_string_from_bytes.
2731
2732 * print.c (PRINTPREPARE): Use make_string_from_bytes.
2733
2734 * fns.c (substring_both, Fsubstring): Use make_specified_string.
2735 (concat): Make string result unibyte or multibyte as appropriate.
2736
2737 * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes.
2738
2739 * coding.c (code_convert_string): Use make_string_from_bytes.
2740
2741 * cmds.c (internal_self_insert): Use make_string_from_bytes.
2742
2743 * charset.c (Fstring): Use make_string_from_bytes.
2744 (Fcompose_string): Likewise.
2745
2746 * casefiddle.c (casify_object): Use make_specified_string.
2747
2748 * editfns.c (Fchar_to_string): Use make_string_from_bytes.
2749 (Fformat): Use make_specified_string.
2750 (make_buffer_string_both): Use make_uninit_string if buffer is unibyte.
2751
2752 * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string.
2753
2754 * lread.c (read1): Pass new arg to make_pure_string.
2755 (make_symbol): Likewise.
2756 (init_obarray): Likewise.
2757 (read1): Use make_specified_string.
2758
2759 * alloc.c (make_specified_string): New function.
2760 (make_string_from_bytes): New function.
2761 (compact_strings): Get byte size from size, if size_byte < 0.
2762 (Fmake_string): Use make_uninit_string for single-byte char.
2763 (make_unibyte_string): Mark string as unibyte.
2764 (make_uninit_string): Likewise.
2765 (make_string): Likewise, if size == size in bytes.
2766 (make_pure_string): New arg MULTIBYTE.
2767 (Fpurecopy): Pass new arg.
2768
2769 * lisp.h (STRING_BYTES, SET_STRING_BYTES): New macros.
2770
2771 * All files: Use STRING_BYTES and SET_STRING_BYTES.
2772
2773 * editfns.c (Ftranspose_regions): Try to handle combining bytes.
2774 * insdel.c (replace_range): New arg NOMARKERS.
2775
2776 1998-03-20 Richard Stallman <rms@psilocin.gnu.org>
2777
2778 * cmds.c (internal_self_insert): Pass new arg to replace_range.
2779
2780 * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1):
2781 (adjust_before_replace, adjust_after_replace, replace_range):
2782 (del_range_2): Call record_delete the new way.
2783 Use make_buffer_string_both to make the string to pass.
2784
2785 * editfns.c (make_buffer_string_both): New function.
2786 (make_buffer_string): Use make_buffer_string_both.
2787
2788 * undo.c (record_delete): Replace LENGTH arg with STRING.
2789 (record_change): Call record_delete the new way.
2790
2791 * Makefile.in (keymap.o): Depend on puresize.h.
2792 (xmenu.o): Don't depend on puresize.h.
2793
2794 1998-03-20 Inge Frick <inge@nada.kth.se>
2795
2796 * keyboard.h (item_properties): New variable.
2797 (ITEM_PROPERTY_...): New macros.
2798
2799 * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap,
2800 copy-keymap, where_is_internal_1): Support new format for menu items.
2801 (syms_of_keymap): New symbol `menu-item'.
2802
2803 * keyboard.c: Include puresize.h for CHECK_IMPURE.
2804 (parse_menu_item): New function.
2805 (menu_item_eval_property_1, menu_item_eval_property) New suroutines.
2806 (menu_bar_one_keymap): Moved some code to menu_bar_item.
2807 (menu_bar_item): Rewritten to use parse_menu_item.
2808 (menu_bar_item_1): Function deleted.
2809 (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio):
2810 (Qmenu_alias): New variables.
2811 (syms_of_keyboard): Initialize them, and item_properties.
2812
2813 * xmenu.c: Don't include puresize.h any more as code that needs it
2814 has moved to keyboard.c.
2815 (menu_item_equiv_key, menu_item_enabled_p_1, menu_item_enabled_p):
2816 Functions deleted; code moved to parse_menu_item in keyboard.c.
2817 (single_keymap_panes): Large part of code moved to single_menu_item.
2818 (single_menu_item): New function that uses parse_menu_item.
2819 (Qmenu_alias): Variable deleted.
2820 (QCtoggle, QCradio): New variables.
2821 (syms_of_xmenu): Change initializations of variables.
2822
2823 1998-03-20 Richard Stallman <rms@psilocin.gnu.org>
2824
2825 * window.c (window_display_table): Don't look inside buffer if its nil.
2826
2827 * insdel.c (del_range_2): Use adjust_markers_for_record_delete.
2828
2829 1998-03-19 Kenichi Handa <handa@etl.go.jp>
2830
2831 * editfns.c (Fgoto_char): If POSITION is a marker pointing a
2832 different buffer, don't rely on the byte position of the marker.
2833
2834 1998-03-19 Richard Stallman <rms@psilocin.gnu.org>
2835
2836 * editfns.c (Fformat): Handle padding before or after, for %s etc.
2837 Treat 0 like a multibyte char in %c.
2838
2839 1998-03-19 Erik Naggum <erik@naggum.no>
2840
2841 * filelock.c (get_boot_time): Conditionalize on BOOT_TIME.
2842 (lock_file_1): Add boot-time to lock only if available.
2843
2844 1998-03-19 Kenichi Handa <handa@etl.go.jp>
2845
2846 * fns.c (Fstring_as_multibyte): Call multibyte_chars_in_text
2847 instead of chars_in_text because we must ignore
2848 enable-multibyte-characters here.
2849 * lread.c (read1): Likewise.
2850 * marker.c (byte_char_debug_check): Likewise.
2851
2852 1998-03-19 Richard Stallman <rms@psilocin.gnu.org>
2853
2854 * filelock.c (current_lock_owner): If lock file data doesn't include
2855 the uptime, assume the lock is from this system boot.
2856
2857 1998-03-18 Richard Stallman <rms@psilocin.gnu.org>
2858
2859 * lread.c (read0): Swap args to Fmake_string.
2860
2861 1998-03-17 Richard Stallman <rms@psilocin.gnu.org>
2862
2863 * callproc.c (syms_of_callproc): Doc fixes.
2864
2865 * insdel.c (adjust_markers_for_delete):
2866 Delete unused local coming_gap_size.
2867 (adjust_markers_for_record_delete): New function.
2868 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
2869 (adjust_after_replace, replace_range):
2870 Use adjust_markers_for_record_delete.
2871
2872 * editfns.c (Fsave_excursion): Doc fix.
2873
2874 * window.c (Frecenter): Operate on window's buffer even
2875 if some other was current.
2876
2877 * filelock.c (get_boot_time): New function.
2878 (lock_file_1): Include boot time in the lock text.
2879 (current_lock_owner): Parse and compare the boot time.
2880
2881 1998-03-16 Erik Naggum <erik@naggum.no>
2882
2883 * editfns.c (Fformat): Properly print floats.
2884
2885 1998-03-16 Kenichi Handa <handa@etl.go.jp>
2886
2887 * insdel.c (ADJUST_CHAR_POS): New macro.
2888 (combine_bytes): Use the macro ADJUST_CHAR_POS.
2889 (adjust_after_replace): New arg REPLACE. If it is zero, give LEN
2890 as the arg LENGTH to offset_intervals.
2891 (del_range_2): Give correct args to count_combining_before and
2892 combine_bytes. Adjust the gap position after record_delete if
2893 necessary. Give character position to adjust_overlays_for_delete.
2894
2895 * fileio.c (Finsert_file_contents):
2896 Give adjust_after_replace the new arg REPLACE as 0.
2897
2898 * coding.c (code_convert_region): The 6th arg name is changed to
2899 REPLACE. Even if there's no need of code conversion, call
2900 adjust_after_replace to handle bytes combining.
2901
2902 1998-03-15 Richard Stallman <rms@psilocin.gnu.org>
2903
2904 * syntax.h (SYNTAX_FLAGS_COMSTART_FIRST): New macro.
2905 (SYNTAX_FLAGS_COMSTART_SECOND): Likewise.
2906 (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND): Likewise.
2907 (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLE): Likewise.
2908
2909 * syntax.c (Fbackward_prefix_chars): Set point properly while scanning.
2910 (scan_sexps_forward): Make INC_FROM do UPDATE_SYNTAX_TABLE_FORWARD.
2911 Delete the explicit calls to UPDATE_SYNTAX_TABLE_FORWARD.
2912 Also set prev_from_syntax (new local var). Test that in the loop,
2913 instead of fetching syntax of the previous char.
2914
2915 * editfns.c (Fchar_after, Fchar_before): Properly check arg type
2916 and whether in range, for all cases.
2917
2918 1998-03-14 Richard Stallman <rms@psilocin.gnu.org>
2919
2920 * process.c (exec_sentinel, read_process_output):
2921 Fstore_match_data => Fset_match_data.
2922
2923 * xmenu.c (set_frame_menubar): Fstore_match_data => Fset_match_data.
2924
2925 * xdisp.c (message_dolog): Save and restore Vdeactivate_mark.
2926 (prepare_menu_bars): Fstore_match_data => Fset_match_data.
2927 (update_menu_bar): Likewise.
2928
2929 1998-03-13 Richard Stallman <rms@psilocin.gnu.org>
2930
2931 * search.c (Fset_match_data): Renamed from Fstore_match_data.
2932 (syms_of_search): Corresponding change.
2933
2934 * lisp.h: Fstore_match_data => Fset_match_data.
2935
2936 * window.c (Fwindow_end): New arg UPDATE.
2937
2938 * window.c (Fset_window_configuration): Don't call do_switch_frame
2939 or run Qwindow_configuration_change_hook if frame is dead.
2940
2941 * cmds.c (internal_self_insert): Call Fforward_buffer to advance
2942 over the replacement characters.
2943
2944 1998-03-12 Richard Stallman <rms@psilocin.gnu.org>
2945
2946 * process.c (Fstart_process): Doc fix.
2947
2948 * s/ptx4.h (SETUP_SLAVE_PTY): New definition.
2949
2950 * buffer.c (init_buffer): Call Fset_buffer_multibyte for *scratch*.
2951
2952 1998-03-11 Richard Stallman <rms@psilocin.gnu.org>
2953
2954 * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1)
2955 (adjust_after_replace, replace_range):
2956 Account for combining bytes in args to record_insert.
2957 (del_range_2): Make undo records for combining bytes.
2958 Put second call to move_gap_both before setting beg_unchanged.
2959
2960 1998-03-12 Kenichi HANDA <handa@etl.go.jp>
2961
2962 * coding.c (code_convert_region): Adjusted for the change of
2963 adjust_after_replace.
2964
2965 * fileio.c (Finsert_file_contents): Don't do position adjustments
2966 and handling post-read-conversion here, they are done in
2967 code_convert_region. Even if a file is read by no-conversion,
2968 call adjust_after_replace to adjust positions.
2969
2970 * insdel.c (adjust_before_replace): Call
2971 adjust_overlays_for_delete.
2972 (adjust_after_replace): Delete args COMBINED_BEFORE_BYTES and
2973 COMBINED_AFTER_BYTES. This makes the newly generated text
2974 following GPT_ADDR a buffer contents.
2975
2976 1998-03-10 Richard Stallman <rms@psilocin.gnu.org>
2977
2978 * insdel.c (adjust_markers_for_insert): Don't leave a marker within
2979 the combined_after_bytes. Use DEC than INC when leaving
2980 a marker before the insertion.
2981 (count_combining_before): Return number of bytes from start
2982 of insertion that will combine.
2983 (insert_1_both): Compensate for change in count_combining_before.
2984 Delete intervals for the combined_after_bytes.
2985 Compensate for that when updating other intervals.
2986 (insert_from_buffer_1, replace_range): Likewise.
2987 (adjust_after_replace): Likewise.
2988 (insert_from_string_1): Likewise. Also handle intervals
2989 for inserting just part of string.
2990
2991 * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1):
2992 Count all of combined_after_bytes, not just 1, when correcting
2993 nchars, and in related places.
2994 (adjust_after_replace, replace_range): Likewise.
2995
2996 1998-03-09 Gerd Moellmann <gerd@gnu.org>
2997
2998 * fontset.c (fontset_pattern_regexp): `==' was used instead of `='.
2999
3000 1998-03-09 Richard Stallman <rms@psilocin.gnu.org>
3001
3002 * insdel.c (combine_bytes): New function.
3003 (insert_1_both, insert_from_string_1, insert_from_buffer_1):
3004 Simplify greatly by using combine_bytes near the end
3005 to handle all aspects of combining except for undo-recording.
3006 This means most of the code deals with the text as if there were
3007 no combining.
3008 (replace_range): Likewise. Also handle unibyte-multibyte conversion
3009 as in insert_from_string_1.
3010 (del_range_2): Handle combining of character before the deletion
3011 with strays after the deletion.
3012 (adjust_markers_for_delete): Delete debugging code for Z == Z_BYTE.
3013 (adjust_markers_for_insert): Move Z == Z_BYTE debugging code
3014 to before we relocate the marker.
3015
3016 1998-03-09 Richard Stallman <rms@psilocin.gnu.org>
3017
3018 * lisp.h (struct Lisp_Buffer_Local_Value):
3019 Field car renamed to realvalue. New fields check_frame,
3020 found_for_buffer, found_for_frame, buffer, frame.
3021
3022 * data.c (store_symval_forwarding, swap_in_symval_forwarding)
3023 (set_internal, default_value, Fset_default, Fmake_local_variable)
3024 (Fmake_variable_buffer_local, Fkill_local_variable):
3025 Handle new data structure for struct Lisp_Buffer_Local_Value.
3026 (Fmake_variable_frame_local): New function.
3027
3028 * buffer.c (set_buffer_internal_1)
3029 (swap_out_buffer_local_variables): Handle new data structure
3030 for struct Lisp_Buffer_Local_Value.
3031
3032 * print.c (print): Handle new data structure
3033 for struct Lisp_Buffer_Local_Value.
3034
3035 * alloc.c (gc_sweep, mark_object): Handle new data structure
3036 for struct Lisp_Buffer_Local_Value.
3037
3038 1998-03-08 Richard Stallman <rms@psilocin.gnu.org>
3039
3040 * insdel.c (adjust_markers_for_insert): New arg COMBINED_BEFORE_BYTES.
3041 Calls changed.
3042
3043 * search.c (simple_search): Don't count a character until it matches!
3044 Call set_search_regs differently in a forward search.
3045 (boyer_moore): Fix up the code that translates the pattern
3046 and loops thru equivalent characters.
3047
3048 1998-03-07 Richard Stallman <rms@psilocin.gnu.org>
3049
3050 * insdel.c (adjust_markers_for_insert): New arg COMBINED_AFTER_BYTES.
3051 Calls changed.
3052 (insert_1): Call insert_1_both.
3053 (count_combining_before): New function.
3054 (count_combining_after): New function.
3055 (insert_1_both, insert_from_string_1): Handle bytes that combine
3056 with chars adjacent to the inserted text.
3057 (insert_from_buffer_1, replace_range): Likewise.
3058 (adjust_after_replace):
3059 New args COMBINED_BEFORE_BYTES, COMBINED_AFTER_BYTES.
3060
3061 1998-03-06 Kenichi Handa <handa@etl.go.jp>
3062
3063 * Makefile.in (alloc.o): Depend on charset.h.
3064
3065 * alloc.c (Fmake_string): Handle the case INIT is a multibyte
3066 character correctly.
3067
3068 * buffer.c (advance_to_char_boundary): Handle the case the code
3069 0240..0377 is not a constituent of a multibyte sequence.
3070
3071 * coding.c (code_convert_region): Fix previous change. Adjusted
3072 for the change of adjust_after_replace (see insdel.c change above).
3073
3074 1998-03-04 Ken'ichi Handa <handa@melange.gnu.org>
3075
3076 * coding.c (code_convert_region): Fix previous change.
3077
3078 1998-03-04 Kenichi HANDA <handa@etl.go.jp>
3079
3080 * buffer.c (Fset_buffer_multibyte): Fix arg for chars_in_text.
3081 Be sure not to have a multibyte sequence striding over the GAP
3082
3083 * charset.c (strwidth): Make it work for invalid bytes sequence.
3084 (Fstring_width): Give byte length of STR to strwidth.
3085
3086 * coding.c (code_convert_region): Handle the case that codes
3087 0240..0377 are generated just after a multibyte character.
3088
3089 * editfns.c (Fformat): Format multibyte characters by "%c"
3090 correctly. Handle padding for multibyte characters correctly.
3091
3092 1998-03-03 Richard Stallman <rms@psilocin.gnu.org>
3093
3094 * puresize.h (BASE_PURESIZE): Increased.
3095
3096 1998-03-03 Kenichi Handa <handa@etl.go.jp>
3097
3098 * Makefile.in (dired.o): Depend on charset.h and coding.h.
3099
3100 * callproc.c (Vdefault_file_name_coding_system): Extern it.
3101 (Fcall_process): Use ENCODE_FILE.
3102
3103 * coding.h (ENCODE_FILE): Moved from fileio.c. Use
3104 default-file-name-coding-system if file-name-coding-system is nil.
3105 (DECODE_FILE): New macro.
3106
3107 * dired.c: Include charset.h and coding.h.
3108 (ENCODE_FILE): This macro is moved to coding.h.
3109 (Vdefault_file_name_coding_system): Extern it.
3110 (Fdirectory_files): Use DECODE_FILE.
3111 (file_name_completion): Likewise.
3112
3113 * editfns.c (Fformat): Fix previous change.
3114
3115 * fileio.c (ENCODE_FILE): This macro is moved to coding.h.
3116 (Vdefault_file_name_coding_system): New variable.
3117 (syms_of_fileio): Defsubr it.
3118 (Ffile_symlink_p): Use DECODE_FILE.
3119 (Ffile_name_directory): Use size_byte member of XSTRING (filename).
3120 (Ffile_name_as_directory): Likewise.
3121 (Fdirectory_file_name): Likewise.
3122 (Fsubstitute_in_file_name): Likewise.
3123 (expand_and_dir_to_file): Likewise.
3124 (Fdo_auto_save): Likewise.
3125 (Fread_file_name): Likewise.
3126
3127 * insdel.c (insert_1_both): If enable-multibyte-characters is nil,
3128 insert each byte as one character.
3129
3130 * process.c (Vdefault_file_name_coding_system): Extern it.
3131 (create_process): Use ENCODE_FILE.
3132
3133 1998-03-02 Kenichi Handa <handa@etl.go.jp>
3134
3135 * callproc.c (Fcall_process): Calculate CARRYOVER correctly.
3136
3137 * charset.h (NONASCII_INSERT_OFFSET): New macro.
3138 (VALID_MULTIBYTE_CHAR_P): New macro.
3139
3140 * charset.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
3141 moved to charset.h.
3142 (unibyte_char_to_multibyte): Always return a valid character.
3143 (Funibyte_char_to_multibyte): New function.
3144 (syms_of_charset): Defsubr it. Doc-string of
3145 nonascii-insert-offset is modified.
3146
3147 * coding.h: Typo in comment fixed.
3148
3149 * cmds.c (internal_self_insert): Avoid checking
3150 enable-multibyte-characters twice.
3151
3152 * editfns.c (string1): Cast ARGS to `char **' to avoid
3153 compiler warning.
3154
3155 * fileio.c (Ffile_name_nondirectory): Use size_byte member of
3156 XSTRING (filename).
3157
3158 * fns.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
3159 moved to charset.h.
3160 (concat): Use unibyte_char_to_multibyte.
3161
3162 * insdel.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
3163 moved to charset.h.
3164 (copy_text): Don't convert codes in the range 0200..0237 to
3165 multibyte characters. For codes in the range 0240..0377, use
3166 unibyte_char_to_multibyte.
3167 (count_size_as_multibyte): Likewise.
3168 (adjust_before_replace): Comment fixed.
3169
3170 * xdisp.c (try_window_id): Use DEC_BOTH unconditionally.
3171 (display_text_line): Likewise.
3172
3173 1998-03-02 Richard Stallman <rms@psilocin.gnu.org>
3174
3175 * lisp.h (Vnonascii_translate_table, Qcharset): New variable decls.
3176 (Fstring_make_multibyte, Fstring_make_unibyte): New function decl.
3177 (Fstring_as_multibyte, Fstring_as_unibyte): New function decl.
3178 (list2, list3, list4, list5): New function decl.
3179 (Fwrite_region): Add an argument.
3180 (compare_window_configurations): New function decl.
3181
3182 * keyboard.c: Include syntax.h.
3183 (interrupt_signal): Save and restore gl_state
3184 around an immediate quit, in case debugger returns.
3185
3186 * Makefile.in (keyboard.o): Depend on syntax.h.
3187
3188 * syntax.h (UPDATE_SYNTAX_TABLE):
3189 Do nothing unless parse_sexp_lookup_properties.
3190 (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
3191 (SYNTAX_TABLE_BYTE_TO_CHAR): If parse_sexp_lookup_properties is 0,
3192 return 0 right away.
3193 (SETUP_SYNTAX_TABLE): Add if (1) ... else.
3194
3195 1998-03-01 Richard Stallman <rms@psilocin.gnu.org>
3196
3197 * fileio.c (auto_save_1): Pass new arg to Fwrite_region.
3198 (Fwrite_region): New arg CONFIRM. If non-nil, confirm overwriting.
3199
3200 * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region.
3201
3202 1998-03-01 Ilya Zakharevich <ilya@math.ohio-state.edu>
3203
3204 * syntax.c (update_syntax_table): Properly update `position'
3205 field of used intervals.
3206
3207 * interval.c (update_interval): Properly update `position'
3208 field of used intervals.
3209
3210 1998-02-28 Richard Stallman <rms@psilocin.gnu.org>
3211
3212 * fns.c (internal_equal): compare_window_configurations takes new arg.
3213
3214 * window.c (compare_window_configurations): New arg ignore_positions.
3215 (Fcompare_window_configurations): New function.
3216 (syms_of_window): defsubr it.
3217
3218 * keyboard.c (Fthis_command_keys_vector): New function.
3219 (Fread_key_sequence_vector): New function.
3220 (syms_of_keyboard): defsubr them.
3221 (Fthis_single_command_keys): Always return a vector.
3222
3223 1998-02-27 Richard Stallman <rms@psilocin.gnu.org>
3224
3225 * xterm.c (XTframe_up_to_date): Check that mouse_face_mouse_frame
3226 is non-null before calling note_mouse_highlight.
3227 (x_destroy_window): If f equals mouse_face_mouse_frame,
3228 clear that, and clear mouse_face_deferred_gc too.
3229
3230 * xdisp.c (syms_of_xdisp): Doc fix.
3231
3232 * data.c (store_symval_forwarding) <Lisp_Misc_Buffer_Objfwd>:
3233 If buffer_local_types has -1, this variable is read-only.
3234
3235 * buffer.c (syms_of_buffer): enable-multibyte-characters is read-only.
3236
3237 * data.c (Fset_default) <BUFFER_OBJFWDP>:
3238 Unconditionally set the slot in buffer_defaults.
3239
3240 * buffer.c (reset_buffer): Initialize enable_multibyte_characters.
3241
3242 * buffer.c (init_buffer_once): Force enable-multibyte-characters
3243 to be local in every buffer whether it is set or not.
3244
3245 * fns.c (mapcar1): Handle bool-vectors.
3246 (Fmapconcat, Fmapcar): Doc fixes.
3247 (Flength): For char-table, length is based on max valid char code.
3248
3249 * syssignal.h: Delete #endif left over from previous change.
3250
3251 1998-02-27 Andreas Schwab <schwab@gnu.org>
3252
3253 * indent.c (compute_motion): If we just moved over a continuation
3254 return contin_hpos as prevhpos.
3255
3256 1998-02-27 Karl Heuer <kwzh@gnu.org>
3257
3258 * insdel.c (del_range_2): Reorder args. All callers changed.
3259
3260 1998-02-25 Karl Heuer <kwzh@gnu.org>
3261
3262 * insdel.c (del_range_both): Reorder args. All callers changed.
3263
3264 1998-02-24 Kenichi Handa <handa@etl.go.jp>
3265
3266 * xdisp.c (message_dolog): Give correct args to
3267 message_log_check_duplicate and del_range_both.
3268
3269 * search.c (scan_newline): Delete duplicated code.
3270
3271 1998-02-21 Richard Stallman <rms@gnu.org>
3272
3273 * cmds.c (Fdelete_backward_char): Count both bytes and chars.
3274
3275 1998-02-21 Ilya Zakharevich <ilya@math.ohio-state.edu>
3276
3277 * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Fix condition.
3278 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise.
3279 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix bounds.
3280 * syntax.c (update_syntax_table): Fix calculations using offset.
3281 (skip_chars): Fix loop termination condition.
3282 * textprop.c (interval_of): Handle Qt.
3283
3284 1998-02-20 Andreas Schwab <schwab@gnu.org>
3285
3286 * s/gnu-linux.h (LINUX_MAP_SHARED_DOES_WORK): Define for kernel
3287 version after 2.0.
3288 (UNEXEC_USE_MAP_PRIVATE): Don't define if
3289 LINUX_MAP_SHARED_DOES_WORK.
3290
3291 * syssignal.h (sigmask) [POSIX_SIGNALS]: Always define our own
3292 version that returns a sigset_t.
3293 (sigpause) [POSIX_SIGNALS]: Unconditionally define in terms of
3294 sigsuspend. Don't redefine SIGEMPTYMASK.
3295 (sys_sigpause): Don't declare.
3296 (temp_mask): Don't declare.
3297 * sysdep.c (sys_sigpause): Removed.
3298 (new_action, old_action): Move as local variables into sys_signal.
3299 (old_mask, temp_mask): Removed.
3300
3301 1998-02-20 Kenichi Handa <handa@etl.go.jp>
3302
3303 * editfns.c (Fmessage): Check byte size (instead of char size) of
3304 VAL against MESSAGE_LENGTH.
3305
3306 * fileio.c (Fwrite_region): When writing a string, give byte size
3307 to a_write.
3308 (a_write): Handle annotations correctly when writing a string.
3309
3310 * ccl.c (Fccl_execute_on_string): Put \n\ at end-of-line of
3311 doc-string.
3312
3313 1998-02-19 Kenichi Handa <handa@etl.go.jp>
3314
3315 * buffer.c (advance_to_char_boundary): Make the behaviour
3316 consistent with INC_POS.
3317
3318 * ccl.c (Fccl_execute_on_string): Add new arg UNIBYTE-P.
3319
3320 * charset.h (INC_POS): Use macro BASE_LEADING_CODE_P.
3321 (DEC_POS): Make the behaviour consistent with INC_POS.
3322 (BUF_INC_POS, BUF_DEC_POS): Likewise.
3323
3324 * charset.c (invalid_character): New function.
3325 (chars_in_text): Make the behaviour consistent with INC_POS.
3326 (multibyte_chars_in_text): Likewise.
3327 (str_cmpchar_id): Likewise.
3328 (non_ascii_char_to_string): Call invalid_character.
3329 (Fchar_direction): Likewise.
3330
3331 * coding.c (decode_coding_iso2022): Update coding->fake_multibyte.
3332 (ENCODE_SINGLE_SHIFT_2, ENCODE_SINGLE_SHIFT_3,
3333 encode_coding_iso2022, decode_coding_sjis_big5,
3334 encode_coding_sjis_big5, decode_eol, encode_eol, decode_coding,
3335 encode_coding): Likewise.
3336 (shrink_decoding_region, shrink_encoding_region): Do not skip
3337 non-ASCII code in any cases. Bug fix for getting starting address
3338 from BEG.
3339 (code_convert_region): Sync character positions correctly by
3340 paying attention to coding->fake_multibyte.
3341 (code_convert_string): Set number of character and bytes just
3342 processed in members of CODING.
3343 (code_convert_string): Adjusted for the change of
3344 code_convert_region.
3345 (code_convert_region1): Likewise.
3346
3347 * coding.h (struct coding_system): New member fake_multibyte.
3348
3349 * fileio.c (Finsert_file_contents): Read a file contents into the
3350 correct buffer (byte) position. Adjusted for the change of
3351 code_convert_region.
3352
3353 * fns.c (Fset_char_table_default): For an invalid character, call
3354 invalid_character.
3355
3356 * indent.c (MULTIBYTE_BYTES_WIDTH): New macro.
3357 (current_column_1): Don't follow a display table for a heading
3358 byte of a multibyte character. Use the macro
3359 MULTIBYTE_BYTES_WIDTH.
3360 (Fmove_to_column): Likewise.
3361 (compute_motion): Likewise. Handling of wide-column character
3362 fixed.
3363
3364 * insdel.c (adjust_before_replace): Comment added.
3365 (adjust_after_replace): Comment added. Give correct args to
3366 adjust_point. Don't call signal_after_change here.
3367
3368 * intervals.c (temp_set_point_both): Declare arg BYTEPOS as int.
3369 (set_point_both): Likewise.
3370
3371 * search.c (search_buffer): Update POS_BYTE for regexp search.
3372
3373 * xdisp.c (display_text_line): Handling of a wide-column character
3374 fixed. Make the behaviour consistent with INC_POS.
3375
3376 1998-02-18 Richard Stallman <rms@gnu.org>
3377
3378 * editfns.c (Fchar_before): Check POS in valid range
3379 before calling CHAR_TO_BYTE.
3380
3381 * search.c (search_command): Check LIM in valid range
3382 before calling CHAR_TO_BYTE.
3383
3384 1998-02-15 Richard Stallman <rms@psilocin.gnu.org>
3385
3386 * minibuf.c (read_minibuf): Do use DEFALT in place of empty input
3387 when when expflag is nonzero.
3388 (Fread_no_blanks_input): Arg INIT renamed to INITIAL.
3389
3390 1998-02-14 Richard Stallman <rms@psilocin.gnu.org>
3391
3392 * fileio.c (Fread_file_name): Alter the history
3393 to contain just the actual file name, and not any
3394 other preinserted text that is not really used.
3395
3396 * search.c (simple_search): Call set_search_regs.
3397 (boyer_moore): New arg CHARSET_BASE says which chars
3398 to use the translate tables for.
3399 (search_buffer): Properly test which chars participate in translation.
3400
3401 1998-02-12 Gerd Moellmann <gerd@gnu.org>
3402
3403 * intervals.c (split_interval_right): Make sure to call
3404 balance_possible_root_interval in case an interval doesn't have a
3405 right child, because otherwise the interval tree might degenerate
3406 into a list.
3407 (split_interval_left): Ditto if an interval hasn't a left child.
3408
3409 1998-02-12 Richard Stallman <rms@psilocin.gnu.org>
3410
3411 * search.c (TRANSLATE): New arg OUT. Handle non-integer in TRT.
3412 All calls changed.
3413
3414 * editfns.c (Fsubst_char_in_region): Don't increment pos twice.
3415
3416 * charset.h (INC_BOTH, DEC_BOTH): In unibyte mode,
3417 simply increment bytepos.
3418
3419 * syntax.c (skip_chars): Use INC_POS instead of INC_BOTH.
3420 (Fforward_comment): Always use both FROM and FROM_BYTE to set point.
3421 Use dec_bytepos not DEC_POS.
3422 (scan_lists): Handle unibyte buffers when decrementing temp_pos.
3423 (INC_FROM): Use INC_BOTH.
3424 (inc_bytepos, dec_bytepos): In unibyte mode, just increment bytepos.
3425
3426 * xdisp.c (display_text_line): Use INC_BOTH for unibyte buffers too.
3427
3428 1998-02-10 Richard Stallman <rms@psilocin.gnu.org>
3429
3430 * keymap.c (describe_map_tree): Add the maps we have already
3431 handled into SUB_SHADOWS.
3432
3433 1998-02-06 Kenichi Handa <handa@melange.gnu.org>
3434
3435 * fns.c (Fstring_bytes): Declare arg STRING as Lisp_Object.
3436
3437 * editfns.c (Fposition_bytes): Declare arg POSITION as
3438 Lisp_Object. Allow marker as arg POSITION. Use XINT for type
3439 consistency.
3440
3441 1998-02-09 Andreas Schwab <schwab@gnu.org>
3442
3443 * indent.c (compute_motion): If right margin is reached and we are
3444 truncating don't clobber PREV_HPOS if we are already past TO.
3445
3446 1998-02-09 Richard Stallman <rms@psilocin.gnu.org>
3447
3448 * fns.c (concat): Use Vnonascii_translate_table.
3449
3450 * charset.c (Vnonascii_translate_table): New variable.
3451 (unibyte_char_to_multibyte): Use Vnonascii_translate_table.
3452 (syms_of_charset): Defvar it.
3453
3454 * insdel.c (copy_text, count_size_as_multibyte):
3455 Use Vnonascii_translate_table.
3456
3457 1998-02-08 Richard Stallman <rms@psilocin.gnu.org>
3458
3459 * print.c (printchar): When outputting to echo area,
3460 update message_enable_multibyte, and convert previous text
3461 from unibyte to multibyte if necessary.
3462
3463 * search.c (search_command): Fix call to search_buffer.
3464
3465 1998-02-07 Richard Stallman <rms@psilocin.gnu.org>
3466
3467 * dired.c (Fdirectory_files): Call compile_pattern the new way.
3468
3469 * search.c (boyer_moore, simple_search): New subroutines.
3470 (search_buffer): For non-regexp, use one of those subroutines.
3471 Args TRT and INVERSE_TRT are now Lisp_Object. Callers changed.
3472 (compile_pattern_1): Arg TRANSLATE is now Lisp_Object. Calls changed.
3473 (compile_pattern): Arg TRANSLATE is now Lisp_Object. Calls changed.
3474
3475 * config.in (RE_TRANSLATE_TYPE): Define as Lisp_Object.
3476 (RE_TRANSLATE): Use Faref to examine translate table.
3477
3478 1998-02-06 Richard Stallman <rms@psilocin.gnu.org>
3479
3480 * marker.c (byte_char_debug_check): New function.
3481 (CONSIDER, both definitions): Call it.
3482 (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
3483 (byte_debug_flag): New variable.
3484 (syms_of_marker): Set up Lisp variable.
3485
3486 * buffer.c (advance_to_char_boundary): New function.
3487 (Fset_buffer_multibyte): Advance all byte-positions to char boundaries.
3488 Clear undo list.
3489
3490 * fontset.h (GENERIC_FONT_PTR): Commented-out definition deleted.
3491
3492 1998-02-06 Kenichi Handa <handa@etl.go.jp>
3493
3494 * window.h: Change argument number of Fdisplay_buffer to 3.
3495
3496 1998-02-06 Richard Stallman <rms@psilocin.gnu.org>
3497
3498 * buffer.c (Fpop_to_buffer): Pass new arg to Fdisplay_buffer.
3499
3500 * window.c (Fdisplay_buffer): New arg FRAME.
3501 (temp_output_buffer_show): Pass new arg to Fdisplay_buffer.
3502 (Fother_window_for_scrolling): Likewise.
3503
3504 * editfns.c (Fposition_bytes): New function.
3505 (syms_of_editfns): defsubr it.
3506
3507 * fns.c (Fstring_bytes): New function.
3508 (syms_of_fns): defsubr it.
3509
3510 1998-02-05 Richard Stallman <rms@psilocin.gnu.org>
3511
3512 * minibuf.c (read_minibuf): If input is empty, return empty string.
3513 (Fread_string): Return DEFAULT_VALUE here, if input is empty.
3514 (Fcompleting_read): Likewise.
3515
3516 1998-02-04 Richard Stallman <rms@psilocin.gnu.org>
3517
3518 * keymap.c (Fdescribe_bindings_internal):
3519 Renamed from Fdescribe_bindings. New arg NOMENU.
3520 (syms_of_keymap): Corresponding changes.
3521 (describe_buffer_bindings): Get NOMENU out of the arg list.
3522 Pass it along to describe_map_tree.
3523 Improve text of `alternate_heading'.
3524
3525 * alloc.c (list2, list3, list4, list5): New functions.
3526
3527 1998-02-04 Kenichi Handa <handa@etl.go.jp>
3528
3529 * charset.c (Fiso_charset): Doc-string modified.
3530
3531 * editfns.c (Fsubst_char_in_region): Handle character-base
3532 position and byte-base position correctly.
3533 (Fstring_to_char): Give byte size to STRING_CHAR.
3534
3535 * insdel.c (copy_text): When copying from multibyte to unibyte, do
3536 not alter ASCII characters.
3537
3538 1998-02-03 Richard Stallman <rms@psilocin.gnu.org>
3539
3540 * editfns.c (Fformat): If MULTIBYTE is changed to 1
3541 after we start computing TOTAL, jump back to `retry' (a new label).
3542
3543 1998-02-01 Richard Stallman <rms@sucrose.gnu.org>
3544
3545 * lread.c (read1): Handle infinities, NaN and -0.0 specially.
3546 (isfloat_string): Accept e+INF and e+NAN as exponents.
3547
3548 * print.c (float_to_string): Handle infinities and NaN specially.
3549
3550 * fns.c (concat): Handle bool-vectors correctly.
3551
3552 * fns.c (concat): If making a string, a nonempty bool-vector is error.
3553
3554 1998-01-30 Richard Stallman <rms@psilocin.gnu.org>
3555
3556 * data.c (Faref, Faset): Allow indexing a char-table
3557 directly by numbers up to CHAR_TABLE_ORDINARY_SLOTS.
3558
3559 * fns.c (Fset_char_table_range, Fchar_table_range):
3560 Allow a charset name symbol to designate a range.
3561
3562 * callproc.c (Fcall_process): Allow creating a new buffer
3563 for the output.
3564
3565 1998-01-30 Kenichi Handa Kenichi Handa <handa@etl.go.jp>
3566
3567 * coding.c (ENCODE_ISO_CHARACTER): Pay attention to
3568 CODING_FLAG_ISO_USE_ROMAN and CODING_FLAG_ISO_USE_OLDJIS.
3569 (code_convert_region1): New function.
3570 (Fdecode_coding_region): Call code_convert_region1.
3571 (Fencode_coding_region): Likewise.
3572 (code_convert_string1): New function.
3573 (Fdecode_coding_string): Call code_convert_string1.
3574 (Fencode_coding_string): Likewise.
3575
3576 * doc.c (Fsubstitute_command_keys): Declare length_byte out of
3577 internal block.
3578
3579 * editfns.c (CONVERTED_BYTE_SIZE): Fix the logic.
3580 (Fformat): Update the variable MULTIBYTE according to the result
3581 of Fprin1_to_string. Free BUF after making Lisp string from it.
3582
3583 1998-01-28 Richard Stallman <rms@psilocin.gnu.org>
3584
3585 * search.c (search_buffer): New args pos_byte and lim_byte.
3586 (search_command): Pass new args.
3587
3588 1998-01-28 Kenichi Handa <handa@etl.go.jp>
3589
3590 * coding.c (DECODE_SJIS_BIG5_CHARACTER): Don't have to increase
3591 coding->produced_char here.
3592 (code_convert_region): Initialize LEN_BYTE correctly.
3593
3594 * search.c (fast_string_match): Give re_search byte size of
3595 STRING.
3596 (trivial_regexp_p): Initialize LEN to byte size of REGEXP.
3597 (search_buffer): Give re_search_2 STARTPOS, RANGE and STOP by
3598 counting them by bytes.
3599
3600 * data.c (syms_of_data): Register multibyte-string-p as a Lisp
3601 function.
3602
3603 1998-01-28 Richard Stallman <rms@psilocin.gnu.org>
3604
3605 * category.c (Fmodify_category_entry): Doc fix.
3606 (Fdescribe_categories): Renamed from Fdescribe_category.
3607 (syms_of_category): Corresponding changes.
3608 (Fcategory_set_mnemonics): Doc fix.
3609 (Fchar_category_set): Doc fix.
3610 (Fmake_category_set): Doc fix.
3611
3612 1998-01-26 Richard Stallman <rms@psilocin.gnu.org>
3613
3614 * xdisp.c (message_dolog): Cast M to unsigned char * to access bytes.
3615
3616 * keyboard.c (command_loop_1): Run post-command-hook before,
3617 not after, clearing this-command-keys and updating last-command.
3618
3619 * fns.c (string_make_multibyte): In all-ASCII case, return orig STRING.
3620
3621 * fns.c (Fstring_as_unibyte): New function.
3622 (Fstring_as_multibyte): New function.
3623 (syms_of_fns): defsubr them.
3624
3625 1998-01-25 Richard Stallman <rms@psilocin.gnu.org>
3626
3627 * window.c (compare_window_configurations): New function.
3628
3629 * fns.c (internal_equal): Use compare_window_configurations.
3630
3631 * fileio.c (file_name_as_directory): For an empty name, return "/".
3632
3633 1998-01-24 Richard Stallman <rms@psilocin.gnu.org>
3634
3635 * callproc.c (Fcall_process): Test only args past args[4]
3636 for multibyteness.
3637
3638 1998-01-23 Ken'ichi Handa <handa@melange.gnu.org>
3639
3640 * charset.h: Delete garbage line "int use_dialog_box".
3641
3642 1998-01-23 Richard Stallman <rms@psilocin.gnu.org>
3643
3644 * lread.c (Funintern): Clear the symbol's obarray field.
3645
3646 1998-01-21 Richard Stallman <rms@psilocin.gnu.org>
3647
3648 * s/sol2-5.h (SYSTEM_MALLOC): Defined.
3649
3650 1998-01-21 Ken'ichi Handa <handa@melange.gnu.org>
3651
3652 * fileio.c (Finsert_file_contents): Fix previous change.
3653
3654 1998-01-21 Richard Stallman <rms@psilocin.gnu.org>
3655
3656 * syntax.c (back_comment): Move the find_defun_start call
3657 out of the scan_sexps_forward call.
3658 No need to call find_defun_start
3659 if we found the defun start in the initial scan.
3660
3661 1998-01-21 Kenichi Handa <handa@etl.go.jp>
3662
3663 * callproc.c (Fcall_process): Use raw-text instead of emacs-mule
3664 when enable-multibyte-characters is nil. Adjusted for the change
3665 of encode_coding and decode_coding.
3666
3667 * ccl.h: Definition of macros CCL_STAT_XXX are moved from ccl.c to
3668 here.
3669
3670 * charset.c (min_composite_char): New variable.
3671 (syms_of_charset): Declare a Lisp variable min-composite-char.
3672
3673 * charset.h (BCOPY_SHORT): New macro.
3674
3675 * coding.h (CODING_FINISH_XXX): New macros.
3676 (CODING_MODE_XXX): New macros.
3677 (struct coding_system): New member mode, category_idx,
3678 heading_ascii. Deleted members last_block, direction, selective,
3679 carryover, carryover_size.
3680 (CODING_MAY_REQUIRE_DECODING): New macro.
3681 (CODING_CATEGORY_MASK_ISO_7BIT, CODING_CATEGORY_MASK_ISO_8BIT,
3682 CODING_CATEGORY_MASK_ISO_SHIFT, CODING_CATEGORY_MASK_ISO): New
3683 macros.
3684 (Qraw_text): Extern it.
3685
3686 * coding.c (DECODE_CHARACTER_ASCII): Update coding->produced_char;
3687 (DECODE_CHARACTER_DIMENSION1): Likewise.
3688 (Qraw_text, Qcoding_category): New variables.
3689 (syms_of_coding): Intern and staticpro them.
3690 (coding_system_table): New variable.
3691 (CHARSET_OK, SHIFT_OUT_OK): New macros.
3692 (detect_coding_iso2022): Detection algorithm improved.
3693 (decode_coding_iso2022): Arg CONSUMED deleted, and the meaning of
3694 return value changed. Update members produced, produced_char,
3695 consumed, consumed_char of the struct *coding. Pay attention to
3696 CODING_MODE_INHIBIT_INCONSISTENT_EOL.
3697 (encode_coding_iso2022): Likewise.
3698 (decode_coding_sjis_big5, encode_coding_sjis_big5): Likewise.
3699 (decode_eol, encode_eol): Likewise.
3700 (ENCODE_ISO_CHARACTER): Update coding->consumed_char.
3701 (DECODE_SJIS_BIG5_CHARACTER): Update coding->produced_char.
3702 (ENCODE_SJIS_BIG5_CHARACTER): Update coding->consumed_char.
3703 (detect_coding_mask): New args PRIORITIES and SKIP.
3704 (detect_coding): Adjusted for the change of detect_coding_mask.
3705 Update coding->heading_ascii.
3706 (detect_eol_type): New arg SKIP.
3707 (detect_eol): Adjusted for the change of detect_eol_type.
3708 (ccl_codign_driver): New function.
3709 (decode_coding): Arg CONSUMED deleted, and the meaning of return
3710 value changed. Update members produced, produced_char, consumed,
3711 consumed_char of the struct *coding.
3712 (encode_coding): Likewise.
3713 (shrink_decoding_region, shrink_encoding_region): New function.
3714 (code_convert_region, code_convert_string): Completely rewritten.
3715 (detect_coding_system): New arg HIGHEST.
3716 (Fdetect_coding_region): New arg HIGHEST.
3717 (Fdetect_coding_string): New function.
3718 (Fdecode_coding_region, Fencode_coding_region): Adjusted for the
3719 change of code_convert_region.
3720 (Fdecode_coding_string, Fencode_coding_string): Adjusted for the
3721 change of code_convert_string.
3722 (Fupdate_iso_coding_systems): New function.
3723 (init_coding_once): Initialize coding_system_table.
3724
3725 * data.c (Faset): Allow setting a multibyte character in a
3726 multibyte string as far as it doesn't change the size_byte of the
3727 string.
3728
3729 * fileio.c (Finsert_file_contents): Adjusted for the change of
3730 struct coding_system and function decode_coding. For normail file
3731 reading, use code_convert_region.
3732 (Fwrite_region): Adjusted for the change of struct coding_system.
3733 (e_write): Adjusted for the change of encode_coding.
3734
3735 * fns.c (mapcar1): Keep `i' in `i_before' before `i' is
3736 incremented by FETCH_STRING_CHAR_ADVANCE.
3737
3738 * insdel.c (adjust_before_replace, adjust_after_replace): New
3739 functions.
3740
3741 * lisp.h (detect_coding_system): Extern it.
3742
3743 * process.c (Fstart_process): Use raw-text instead of emacs-mule
3744 if enable-multibyte-characters is nil. Initialize members
3745 decoding_carryover and encoding_carryover of PROC.
3746 (create_process): Adjusted for the change of encode_coding.
3747 (Fopen_network_stream): Initialize members decoding_carryover and
3748 encoding_carryover of PROC.
3749 (read_process_output): Adjusted for the change of decode_coding.
3750 (send_process): Adjusted for the change of encode_coding.
3751
3752 * process.h (struct Lisp_Process): New members decoding_carryover
3753 and encoding_carryover.
3754
3755 * term.c (encode_terminal_code): Adjusted for the change of
3756 encode_coding.
3757 (write_glyphs): Likewise. Adjusted for the change of struct
3758 coding_system.
3759 (insert_glyphs): Likewise.
3760
3761 * xselect.c (selection_data_to_lisp_data): Adjusted for the change
3762 of decode_coding.
3763 (lisp_data_to_selection_data): Adjusted for the change of
3764 encode_coding.
3765 (syms_of_xselect): Initialize clipboard-coding-system to
3766 compound-text.
3767
3768 1998-01-21 Kenichi Handa <handa@etl.go.jp>
3769
3770 * fileio.c (Finsert_file_contents): Even if
3771 enable-multibyte-characters is nil, we must check `coding:' tag
3772 and `file-coding-system-alist' to handle eol-conversion.
3773
3774 * coding.c (Vselect_safe_coding_system_function): New variable.
3775 (coding_category_table): This variable deleted.
3776 (Vcoding_category_table): New variable.
3777 (coding_category_name): Add "coding-category-iso-7-tight".
3778 (detect_coding_iso2022): Check the mask
3779 CODING_FLAG_ISO_DESIGNATION in CODING->FLAGS. Check a new coding
3780 category coding-category-iso-7-tight.
3781 (DECODE_DESIGNATION): Decode only such designations that CODING
3782 can handle.
3783 (check_composing_code): New function.
3784 (decode_coding_iso2022): Decode only such characters that CODING
3785 can handle.
3786 (encode_coding_iso2022): Before and after encoding composite
3787 characters, reset designation and invocation status.
3788 (detect_coding_sjis): Delete unnecessary check.
3789 (detect_coding_big5): Likewise.
3790 (encode_designation_at_bol): Check the validity of requested
3791 designation register.
3792 (setup_coding_system): Set requested designation registers for
3793 non-supported charsets to
3794 CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION. Set mask
3795 CODING_FLAG_ISO_DESIGNATION in CODING->FLAGS. Code tuned for
3796 no-conversion and undecided.
3797 (detect_coding): Adjusted for the new variable
3798 Vcoding_category_table.
3799 (syms_of_coding): Initialize Vcoding_category_table and staticpro
3800 it. Register select-safe-coding-system as a Lisp variable.
3801
3802 * coding.h (CODING_FLAG_ISO_DESIGNATION): New macro.
3803 (struct iso2022_spec): New member.
3804 last_invalid_designation_register.
3805 (struct coding_system): New member inhibit_inconsistent_eol_type.
3806 (CODING_CATEGORY_IDX_ISO_7_TIGHT,
3807 CODING_CATEGORY_MASK_ISO_7_TIGHT): New macros.
3808 (CODING_CATEGORY_MASK_ANY): Include
3809 CODING_CATEGORY_MASK_ISO_7_TIGHT.
3810 (coding_category_table, coding_category_name): Extern deleted.
3811 (Vselect_safe_coding_system_function): Extern it.
3812
3813 * charset.h (MAX_CHAR_COMPOSITION): New macro.
3814 (CHAR_CHARSET): Check more strictly.
3815 (CODING_FLAG_ISO_DESIGNATION): New macro.
3816
3817 1998-01-21 Kenichi Handa <handa@etl.go.jp>
3818
3819 * ccl.h: (struct ccl_program): New member private_state.
3820
3821 * ccl.c (Vccl_translation_table_vector, Qccl_program,
3822 Qccl_translation_table, Qccl_translation_table_id): New variables.
3823 append new symbols. Qccl_translation_table and
3824 Qccl_translation_table_id.
3825 (CCL_Call): Fix the comment.
3826 (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter,
3827 CCL_UnifyCharacter, CCL_UnifyCharacterConstTbl,
3828 CCL_IterateMultipleMap, CCL_TranslateMultipleMap): New macros for
3829 CCL Commands.
3830 (EXCMD): New macro.
3831 (ccl_driver): New case lable `CCL_Extention'.
3832 (setup_ccl_program): Initialize the member `private_state' of CCL.
3833 (Fregister_ccl_program): Delete unused variable IDX.
3834 (Fregister_ccl_translation_table): New function.
3835 (syms_of_ccl): Intern and staticpro Qccl_program,
3836 Qccl_translation_table, and Qccl_translation_table_id. Declare
3837 `ccl-translation-table-vector' as a Lisp variable. Declare
3838 register-ccl-translation-table as a Lisp function.
3839
3840 * charset.h (Vcharacter_unification_table_vector): Extern it.
3841 (UNIFICATION_ID_TABLE): New macro.
3842
3843 * charset.c (Vcharacter_unification_table_vector): New variable.
3844 (syms_of_charset): Declare it as a Lisp symbol.
3845 (unify_char): Delete unnecessary codes.
3846
3847 1998-01-21 Richard Stallman <rms@psilocin.gnu.org>
3848
3849 * indent.c (current_column_1):
3850 Eliminate argument POS; use PT and PT_BYTE.
3851 When doing FETCH_BYTE, use scan_byte.
3852 (current_column): Check whether buffer really has multibyte chars,
3853 not whether they are enabled.
3854
3855 * editfns.c (Fsave_current_buffer): Use set_buffer_if_live.
3856
3857 * bytecode.c (Fbyte_code) <Bsave_current_buffer_1>:
3858 Use set_buffer_if_live.
3859
3860 * buffer.c (set_buffer_if_live): New function.
3861
3862 1998-01-20 Richard Stallman <rms@psilocin.gnu.org>
3863
3864 * charset.c (nonascii_insert_offset): Variable moved from cmds.c.
3865 (syms_of_charset): Initialize variable.
3866
3867 * cmds.c (internal_self_insert, Fself_insert_command):
3868 Use unibyte_char_to_multibyte.
3869 (nonascii_insert_offset): Variable moved to charset.c.
3870 (syms_of_cmds): Don't initialize nonascii_insert_offset.
3871
3872 * fileio.c (Fsubstitute_in_file_name): Use unibyte_char_to_multibyte.
3873
3874 * keyboard.c (command_loop_1): Use unibyte_char_to_multibyte.
3875
3876 * xdisp.c (message_dolog): Use unibyte_char_to_multibyte.
3877 Pass different args to scan_newline.
3878 Properly compare oldpoint with Z.
3879
3880 * syntax.c (skip_chars): Use unibyte_char_to_multibyte,
3881
3882 * fns.c (concat): Use unibyte_char_to_multibyte.
3883
3884 * charset.c (unibyte_char_to_multibyte): New function.
3885 (DEFAULT_NONASCII_INSERT_OFFSET): New macro definition.
3886
3887 * lread.c (unreadchar): For unreading an ASCII char
3888 thru a buffer or marker, really decrement point or the marker position.
3889
3890 * xdisp.c (display_menu_bar): Don't set maxendcol too large.
3891
3892 * editfns.c (Fchar_equal): Fix case-conversion code.
3893
3894 1998-01-19 Richard Stallman <rms@psilocin.gnu.org>
3895
3896 * window.h (WINDOW_RIGHT_MARGIN): Deduct width of vertical line
3897 if frame has no scroll bars.
3898
3899 * fns.c (concat): Fix lossage in installing previous patch.
3900
3901 * window.c (window_scroll): Set opoint_byte properly.
3902
3903 1998-01-16 Richard Stallman <rms@sucrose.gnu.org>
3904
3905 * intervals.c (set_intervals_multibyte): New function.
3906 (set_intervals_multibyte_1): New function.
3907
3908 * marker.c (clear_charpos_cache): New function.
3909
3910 1998-01-16 Richard Stallman <rms@gnu.org>
3911
3912 * buffer.c (Fset_buffer_multibyte): New function.
3913 (syms_of_buffer): defsubr it.
3914
3915 * syntax.c (skip_chars): Fix test for end of string, looking for `-'.
3916 (back_comment): Don't allow quoting a comment-end.
3917 (scan_lists): Likewise.
3918
3919 * .gdbinit: Make GDB not handle SIGINT.
3920
3921 * search.c (compile_pattern_1): If representation of STRING
3922 does not fit MULTIBYTE, convert its contents.
3923 (fast_c_string_match_ignore_case): Pass 0 to compile_pattern
3924 as MULTIBYTE.
3925 (search_buffer): If representation of STRING
3926 does not fit MULTIBYTE, convert its contents.
3927
3928 * print.c (print) <Lisp_String>: When multibyte is enabled, print
3929 single-byte non-ASCII chars using octal escapes.
3930
3931 * lread.c (read1): Escape codes can force multibyte or single-byte.
3932 Otherwise buffer_defaults->enable_multibyte_characters decides.
3933 Only set force_singlebyte when a \-sequence is in the relevant range.
3934 (read_escape): New arg STRINGP. `\ ' is ignored only when STRINGP
3935 (normally, when reading a string). Calls changed.
3936
3937 * fns.c (concat): Move the test for all nil in `append'
3938 back to the right place.
3939 Always compute result_len_byte as for a multibyte string. Then,
3940 if the result will be single-byte, don't use that computation.
3941 When converting single-byte to multibyte, don't use copy_text.
3942 Do use copy_text between single-byte string and multibyte string.
3943
3944 (Fstring_make_multibyte, Fstring_make_unibyte): New functions.
3945 (syms_of_fns): defsubr them.
3946
3947 (string_char_to_byte): Count from the beginning or the end,
3948 whichever is closer. Keep a cache of recent values.
3949 (string_byte_to_char): Likewise.
3950
3951 (Fstring_lessp): Compare the strings char by char.
3952
3953 * xdisp.c (display_text_line): Set pos_byte with pos
3954 when skipping invisible.
3955
3956 * alloc.c (STRING_BASE_SIZE): New macro.
3957 (STRING_FULLSIZE): Use STRING_BASE_SIZE instead of the whole
3958 size of struct Lisp_String.
3959 (make_pure_string): Use STRING_FULLSIZE.
3960
3961 1998-01-16 Richard Stallman <rms@psilocin.gnu.org>
3962
3963 * window.c (Fspecial_display_p): Return the right value
3964 when special-display-regexps specifies frame parameters.
3965
3966 * syntax.h (SYNTAX_TABLE_BYTE_TO_CHAR): New macro.
3967
3968 1998-01-12 Richard Stallman <rms@sucrose.gnu.org>
3969
3970 * keymap.c (Fkey_description): Remember to set i_before.
3971 and use it in all cases.
3972
3973 1998-01-12 Kenichi Handa <handa@etl.go.jp>
3974
3975 * minibuf.c (Fminibuffer_complete_word): Fix a bug of refering
3976 `i'. We must refer `i_byte' instead.
3977
3978 * insdel.c (insert_from_string_1): Decrement GAP_SIZE by
3979 outgoing_nbytes.
3980
3981 * keymap.c (push_key_description): If C >= 128, always use octal
3982 representation.
3983
3984 * fns.c (concat): Check STRINGP before increasing result_len_byte.
3985
3986 1998-01-12 Richard Stallman <rms@sucrose.gnu.org>
3987
3988 * fileio.c (Finsert_file_contents): When not decoding,
3989 properly calculate number of chars in the text.
3990 Fix error message.
3991
3992 * coding.c (code_convert_region): Always count chars inserted
3993 in accord with value of enable-multibyte-characters.
3994 (Fcoding_system_p): Doc fix.
3995 (Fcheck_coding_system): Doc fix.
3996 (Fterminal_coding_system): Doc fix.
3997 (Fkeyboard_coding_system): Doc fix.
3998
3999 1998-01-11 Dave Love <fx@gnu.org>
4000
4001 * charset.c (Fchar_valid_p): Fix bare newlines in doc string.
4002
4003 1998-01-11 Richard Stallman <rms@sucrose.gnu.org>
4004
4005 * fileio.c (file_name_as_directory): Error if arg is empty.
4006 (Fwrite_region): Don't flush the encoding buffer if failure is set.
4007
4008 1998-01-10 Richard Stallman <rms@sucrose.gnu.org>
4009
4010 * syntax.h (struct gl_state_s): New field `object'.
4011 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set it.
4012 Handle non-current buffer properly. Args renamed to all caps.
4013 (SETUP_SYNTAX_TABLE): Set `object'. Args renamed to all caps.
4014 (UPDATE_SYNTAX_TABLE): Use gl_state.object.
4015 (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
4016
4017 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Add gl_state.offset
4018 when using the arg FROM. Use BYTE_TO_CHAR.
4019
4020 1998-01-09 Richard Stallman <rms@gnu.org>
4021
4022 * callint.c (Fcall_interactively): Allocate string by bytes.
4023 Use message_with_string.
4024
4025 * dired.c (Fdirectory_files): Fix arg to compile_pattern.
4026
4027 1998-01-06 Richard Stallman <rms@sucrose.gnu.org>
4028
4029 * emacs.c (standard_args): Add "-unibyte" aka "--unibyte".
4030 (main): Handle --unibyte.
4031
4032 1998-01-05 Richard Stallman <rms@psilocin.gnu.org>
4033
4034 * search.c (search_buffer): Handle bytes vs chars in non-RE case.
4035 Have two locals len and len_byte.
4036
4037 * minibuf.c (read_minibuf): Handle bytes vs chars
4038 when checking for junk at end of expression.
4039
4040 1998-01-04 Richard Stallman <rms@psilocin.gnu.org>
4041
4042 * editfns.c (Fformat): Do all the work directly--don't use doprnt.
4043 Calculate the right size the first time, so no need to retry.
4044 Count chars and bytes in the result.
4045 Convert single-byte strings to multibyte as needed.
4046
4047 * buffer.c (record_overlay_string): Totalize sizes assuming
4048 strings are converted to match buffer in multibyteness.
4049 (overlay_strings): Convert strings to match buffer in multibyteness.
4050
4051 * search.c (fast_c_string_match_ignore_case): Use string_make_unibyte.
4052
4053 * fns.c (string_make_unibyte): New function.
4054
4055 * insdel.c (count_size_as_multibyte): New function.
4056 (insert_from_string_1, insert_from_buffer_1): Use it.
4057
4058 * lread.c (read_escape): `\ ' stands for nothing at all.
4059
4060 * .gdbinit (xstring): Use size_byte.
4061
4062 * lread.c (oblookup): Take args SIZE and SIZE_BYTE. Callers changed.
4063 * abbrev.c (Fexpand_abbrev): Pass both kinds of size to oblookup.
4064 * minibuf.c (test_completion): Pass both kinds of size to oblookup.
4065
4066 * print.c (print_string): Now static.
4067 (print): When multibyte is disabled,
4068 print multibyte string chars using hex escapes.
4069
4070 * puresize.h (BASE_PURESIZE): Increased.
4071
4072 * bytecode.c (Fbyte_code): Use size_byte.
4073
4074 * filelock.c (MAKE_LOCK_NAME): Use size_byte.
4075
4076 * lread.c (init_obarray, read1, make_symbol):
4077 Pass new arg to make_pure_string.
4078 (Fintern, oblookup, Fintern_soft, intern): Handle size_byte.
4079
4080 * alloc.c (make_pure_string): New arg length_byte.
4081 Take account of size used by size_byte; store both sizes.
4082 (Fpurecopy): Call make_pure_string the new way.
4083 (compact_strings): Use size_byte field to compute string's size.
4084
4085 1998-01-03 Richard Stallman <rms@psilocin.gnu.org>
4086
4087 * coding.c (code_convert_region): Delete duplicate local `zv_before'.
4088
4089 * fileio.c (Fdo_auto_save): Save and restore multibyteness of minibuffer.
4090
4091 * process.c (read_process_output): use insert_1_both.
4092
4093 * abbrev.c (Fexpand_abbrev): Pass new args to insert_from_string.
4094 (Funexpand_abbrev): Likewise. Use size_byte.
4095
4096 * editfns.c (Ftranslate_region): Scan by chars and bytes
4097 using STRING_CHAR_AND_LENGTH. Replace only single-byte chars.
4098
4099 * insdel.c (copy_text): New function.
4100 (insert_from_buffer_1): Call copy_text to convert between
4101 single-byte and multibyte text.
4102 (insert_from_string_1): Likewise.
4103
4104 * process.c (read_process_output): New var `multibyte'.
4105 Set it according to which coding system was used.
4106
4107 * charset.c (multibyte_chars_in_text): New function.
4108
4109 * fileio.c (Fwrite_region): Use message_with_string.
4110 (auto_save_error, Fdo_auto_save): Likewise.
4111
4112 * print.c (printchar): Pass new arg to message_dolog.
4113 (strout): New arg MULTIBYTE. Callers changed.
4114
4115 * lread.c (dir_warning): Pass new arg to message_dolog.
4116
4117 * emacs.c (main): Pass new arg to message_dolog.
4118
4119 * keyboard.c (echo_now): Use message2_nolog, not message1_nolog.
4120 (Fexecute_extended_command): Likewise.
4121 (read_char_minibuf_menu_prompt): Use message2_nolog, not message1.
4122
4123 * xdisp.c (message_dolog, message2): New arg MULTIBYTE.
4124 Callers changed.
4125 (message1, message1_nolog): String must be ASCII-only.
4126 (message2, message2_nolog): Now static.
4127
4128 * search.c (compile_pattern): New arg MULTIBYTE. Callers changed.
4129
4130 * syntax.c (skip_chars): Handle multibyte and unibyte strings
4131 for either kind of buffer. Scan string by bytes and chars.
4132
4133 * keymap.c (describe_vector): Unconditionally handle multibyte chars.
4134
4135 * fns.c (map_char_table): Unconditionally consider non-ASCII charsets.
4136
4137 * cmds.c (internal_self_insert): Simplify handling of c2;
4138 avoid testing enable-multibyte-characters.
4139
4140 * callproc.c (Fcall_process): When deciding whether to encode args,
4141 check them for multibyteness, don't check enable-multibyte-characters.
4142
4143 * doc.c: Include charset.h.
4144
4145 * keymap.c (describe_vector): Pass new args to insert_from_string.
4146
4147 * search.c (wordify): Use make_uninit_multibyte_string.
4148 Scan by chars and bytes.
4149
4150 * lread.c (read1): PCH is now int *.
4151 Declare ch as int.
4152 (read0): Declare c as int.
4153 (read_list): Declare ch as int.
4154 (read0): Use Fmake_string not make_string.
4155 (read1): When reading a string, maybe use make_unibyte_string.
4156
4157 * keymap.c (Ftext_char_description): Use make_multibyte_string.
4158
4159 * keyboard.c (parse_modifiers): Use size_byte.
4160 (echo_char): Use size_byte.
4161 (parse_modifiers_uncached): Likewise.
4162 (record_char): Likewise.
4163 (parse_solitary_modifier): Likewise.
4164
4165 * fns.c (Fsubstring): Use make_multibyte_string.
4166
4167 * minibuf.c (Fminibuffer_complete_word): Pass new args to
4168 insert_from_string. Scan string by bytes and chars.
4169 (Ftry_completion): Use size_byte while comparing.
4170 (Fall_completions): Use size_byte while comparing.
4171 (test_completion):
4172
4173 * editfns.c (syms_of_editfns): Delete defsubr for sref.
4174
4175 * fns.c (string_make_multibyte): New function.
4176
4177 * fileio.c (Ffile_name_directory): Maybe use make_unibyte_string.
4178 (Ffile_name_nondirectory): Likewise.
4179 (Fsubstitute_in_file_name): Convert substituted envvars to multibyte
4180 if necessary. Otherwise use make_unibyte_string.
4181 (Finsert_file_contents): Use make_unibyte_string.
4182 (double_dollars): Use make_uninit_multibyte_string.
4183
4184 * doc.c (Fsubstitute_command_keys): Scan by bytes.
4185
4186 * coding.c (code_convert_string): Maybe use make_unibyte_string.
4187
4188 * cmds.c (internal_self_insert): Use make_multibyte_string.
4189
4190 * charset.c (Fstring): Use make_multibyte_string.
4191 (Fcompose_string): Likewise.
4192
4193 * casefiddle.c (casify_object): Scan string by bytes and chars.
4194 Use make_multibyte_string.
4195
4196 * xselect.c (lisp_data_to_selection_data): Use size_byte.
4197 (Fx_store_cut_buffer_internal): Use size_byte.
4198 (selection_data_to_lisp_data): Use make_multibyte_string.
4199
4200 * category.c (Fmake_category_set): Don't allow multibyte string.
4201 (describe_category): Pass new args to insert_from_string.
4202 (describe_category_1): Likewise.
4203
4204 * dispnew.c (Fsend_string_to_terminal): Use size_byte.
4205
4206 * xdisp.c (x_consider_frame_title): Use size_byte.
4207 (display_text_line): Likewise.
4208 And scan Voverlay_arrow_string by bytes and chars.
4209 (display_menu_bar): Call display_string with a byte size.
4210 (display_mode_line): Call display_string with a byte size.
4211
4212 * frame.c (set_term_frame_name): Use size_byte.
4213
4214 * ccl.c (Fccl_execute_on_string): Use size_byte.
4215
4216 * xterm.c (x_load_font): Use string_byte.
4217
4218 * keyboard.c (read_char): Use Faref on Vkeyboard_translate_table
4219 if it is a string.
4220 (apply_modifiers_uncached): New arg base_len_byte. Calls changed.
4221 (read_char_minibuf_menu_prompt):
4222 (read_key_sequence): Access buffer's downcase_table with XCHAR_TABLE.
4223 (Fexecute_extended_command): Use Faref to access FUNCTION.
4224 Use size_byte of BINDING.
4225 (stuff_buffered_input): Use size_byte of STUFFSTRING.
4226
4227 * xdisp.c (redisplay_window): Set pos.bytepos along with pos.bufpos.
4228
4229 * keymap.c (Fkey_binding): Scan PREFIX a char at a time.
4230 (Fkey_description): Scan KEYS by chars.
4231
4232 * xfns.c (x_create_bitmap_from_file): Use size_byte on strings.
4233 (x_set_name, x_set_title, validate_x_resource_name): Likewise.
4234 (Fx_get_resource, display_x_get_resource): Likewise.
4235 (x_get_resource_string): Likewise.
4236
4237 * xmenu.c (xmenu_show): Use size_byte of strings.
4238
4239 * callproc.c (Fcall_process): Use size_byte for the args.
4240 (Fcall_process_region): Likewise for temp file.
4241 (child_setup, getenv_internal, Fgetenv): Likewise.
4242
4243 1998-01-02 Richard Stallman <rms@psilocin.gnu.org>
4244
4245 * process.c (read_process_output): Handle bytes vs chars.
4246 (send_process): Use size_byte of OBJECT.
4247 (Fprocess_send_string): Pass size_byte to send_process.
4248
4249 * lisp.h (STRING_MULTIBYTE): New macro.
4250
4251 * print.c (strout): Take args SIZE and SIZE_BYTE;
4252 operate on both chars and bytes.
4253 (print_string): Pass new arg to strout.
4254 If not using strout, fetch a whole multibyte char at once.
4255 (write_string): Pass new arg to strout.
4256 (write_string_1): Likewise.
4257 (print) <case Lisp_String>: Scan by chars and bytes.
4258 (print) <case Lisp_Symbol>: Scan name by chars and bytes.
4259
4260 * insdel.c (insert_1_both): New function.
4261
4262 * print.c (PRINTPREPARE): Use make_multibyte_string.
4263 Initialize print_buffer_pos_byte. Use insert_1_both.
4264 (printchar): Update print_buffer_pos_byte and print_buffer_pos.
4265 (print_buffer_pos_byte): New variable.
4266
4267 * editfns.c (general_insert_function):
4268 Pass the additional args to INSERT_FROM_STRING_FUNC.
4269 (Fchar_to_string): Use make_multibyte_string.
4270 (Fsref): Function deleted.
4271 (Fformat_time_string): Use size_byte of FORMAT_STRING.
4272 (make_buffer_string): Use make_uninit_multibyte_string.
4273 (Ftranslate_region): Use TABLE's size_byte.
4274 (Fmessage, Fmessage_box): Update message_text based on size_byte.
4275
4276 * insdel.c (insert_from_string): New args POS_BYTE, LENGTH.
4277 (insert_from_string_before_markers):
4278 (insert_from_string_1): New arg POS_BYTE. Swap args NCHARS, NBYTES.
4279 Don't fail to use POS_BYTE!
4280 (insert_from_buffer_1): Get both inschars and insbytes from NEW.
4281
4282 * alloc.c (make_uninit_multibyte_string): New function.
4283 (make_uninit_string): Use make_uninit_multibyte_string.
4284 (make_multibyte_string): New function.
4285 (make_unibyte_string): New function.
4286 (make_string): Compute number of chars from the data.
4287
4288 * search.c (string_match_1): Convert string indices to/from bytes.
4289 (Freplace_match): Convert string indices to/from bytes.
4290 (Fregexp_quote): Convert string indices to/from bytes.
4291
4292 * lread.c (Fread_from_string): Convert string indices to/from bytes.
4293
4294 * data.c (Fmultibyte_string_p): New function.
4295 (Faref): Index string by chars.
4296 (Faset): Index multibyte string by chars.
4297
4298 * charset.c (Ffind_charset_string): Handle bytes vs chars in string.
4299 Special case for single-byte strings.
4300 (Fchars_in_string): Function deleted.
4301 (Fstring): Renamed from Fconcat_chars.
4302 Handle bytes vs chars in string.
4303 (syms_of_charset): Corresponding changes.
4304
4305 * fns.c (concat, Fsubstring, internal_equal, mapcar1):
4306 Distinguish bytes and chars when indexing strings.
4307 (Fstring_equal, Fstring_lessp): Likewise.
4308 (substring_both): New function.
4309 (string_char_to_byte, string_byte_to_char): New functions.
4310
4311 * charset.h (FETCH_STRING_CHAR_ADVANCE): New macro.
4312
4313 * lisp.h (struct lisp_String): New field size_byte.
4314
4315 * charset.c (Fchar_boundary_p): Function deleted.
4316 (syms_of_charset): defsubr deleted.
4317
4318 * insdel.c (make_gap): Set GPT_BYTE along with GPT.
4319
4320 * window.c (Fselect_window): Don't set OW->pointm if OW->buffer is nil.
4321 (Fset_window_configuration): Set old selected window's pointm.
4322
4323 * minibuf.c (Fcompleting_read): Doc fix.
4324
4325 * keymap.c (current_minor_maps):
4326 If a variable has an entry in Vminor_mode_overriding_map_alist,
4327 and also an entry in Vminor_mode_map_alist, ignore the latter.
4328
4329 1998-01-01 Richard Stallman <rms@psilocin.gnu.org>
4330
4331 Markers now have an ordinary bytepos, not including the gap:
4332
4333 * marker.c (buf_bytepos_to_charpos): Use marker bytepos, not bufpos.
4334 (buf_charpos_to_bytepos, marker_byte_position): Likewise.
4335 (Fset_marker, set_marker_restricted, set_marker_both): Likewise.
4336 (set_marker_restricted_both): Likewise.
4337
4338 * editfns.c (transpose_markers): Update marker's bytepos.
4339
4340 * alloc.c (Fmake_marker): Initialize marker's bytepos and charpos.
4341
4342 * lread.c (readchar): Use marker's bytepos instead of bufpos.
4343
4344 * fns.c (internal_equal): For markers, use bytepos instead of bufpos.
4345
4346 * insdel.c (adjust_markers_gap_motion): Now a no-op.
4347 (adjust_markers_for_delete): Update ->bytepos instead of ->bufpos,
4348 but don't adjust for the gap.
4349 (adjust_markers_for_insert): Likewise.
4350
4351 * lisp.h (struct Lisp_Marker): Rename `bufpos' to `bytepos'.
4352 Its value no longer includes the gap space.
4353
4354 * editfns.c (Fchar_after): Fix previous change.
4355
4356 * fileio.c (a_write): Fix prototype.
4357
4358 * lisp.h (struct Lisp_Marker): New field `charpos'.
4359 (pos_tab_offset): Decl deleted.
4360 (insert_1, indented_beyond_p): Decls changed.
4361 (move_gap_both, del_range_byte, del_range_both, del_range_2)
4362 (scan_newline, Ffile_locked_p): New decls.
4363 (struct Lisp_Marker):
4364
4365 * search.c (scan_newline): Always restore prev value of immediate_quit.
4366
4367 1997-12-31 Richard Stallman <rms@psilocin.gnu.org>
4368
4369 * syntax.c (scan_sexps_forward): Additional arg FROM_BYTE.
4370 Calls changed.
4371 (find_defun_start): Scan bytes and chars. Additional arg POS_BYTE.
4372 Save final byte pos in find_start_value_byte.
4373 (find_start_value_byte): New variable.
4374
4375 * charset.c (Fchars_in_string): Update call to CHAR_HEAD_P.
4376 (chars_in_text, str_cmpchar_id, Fcompose_string): Likewise.
4377
4378 * indent.c (current_column_1, Fmove_to_column):
4379 Update call to CHAR_HEAD_P.
4380
4381 * fileio.c (Finsert_file_contents): Update call to CHAR_HEAD_P.
4382
4383 * editfns.c (Fsref): Update call to CHAR_HEAD_P.
4384 (Fcompare_buffer_substrings. Ftranslate_region): Likewise.
4385
4386 * doprnt.c (doprnt1): Call to CHAR_HEAD_P fixed.
4387
4388 * charset.h (CHAR_HEAD_P): Take char, not pointer, as arg.
4389
4390 * window.c (unshow_buffer): Set PT with TEMP_SET_PT_BOTH.
4391
4392 * indent.c (indented_beyond_p): Take POS in bytes and chars.
4393 Callers changed.
4394 (pos_tab_indent): Function moved to xdisp.c.
4395
4396 1997-12-30 Richard Stallman <rms@psilocin.gnu.org>
4397
4398 * xdisp.c (redisplay_internal): Use scan_newline.
4399 (display_text_line, try_window_id): Use scan_newline.
4400
4401 * xdisp.c (pos_tab_indent): Moved from indent,c. Now static.
4402 Take POS in bytes and chars. Callers changed.
4403
4404 * indent.c (Fcurrent_indentation): Use scan_newline and SET_PT_BOTH.
4405 (indented_beyond_p, current_column_1): Likewise.
4406
4407 * fileio.c (Fwrite_region): Use scan_newline.
4408
4409 * buffer.c (Fmake_indirect_buffer): Use set_marker_both.
4410 (set_buffer_internal_1): Likewise.
4411 (set_buffer_temp): Likewise.
4412
4413 * xdisp.c (redisplay_window): Handle byte and char positions.
4414 (try_window): Don't move W->start if it's already at right place.
4415
4416 * window.c (Fset_window_buffer): Use set_marker_both.
4417 (Fselect_window, Fscroll_other_window, save_window_save): Likewise.
4418 (Fset_window_configuration): Pass p->mark itself to Fset_marker
4419 and set_marker_restricted_both.
4420 (temp_output_buffer_show): Use set_marker_restricted_both.
4421 (window_scroll): Save and restore both kinds of pointers.
4422
4423 * process.c (status_notify): Use byte and char pointers.
4424
4425 * callint.c (Fcall_interactively) <'d', 'r'>: Use set_marker_both.
4426
4427 * emacs.c (abort): New function.
4428
4429 1997-12-29 Richard Stallman <rms@psilocin.gnu.org>
4430
4431 * window.c (Fdelete_other_windows): Rely on vmotion to give bytepos.
4432 Use set_marker_both. Use byte positions.
4433 (Frecenter): Likewise.
4434 (Fmove_to_window_line): Use set_marker_both and Fgoto_char.
4435
4436 * s/sco4.h (LIB_MOTIF): Define, if HAVE_LIBINTL.
4437 (LIBX11_SYSTEM): Undo previous change.
4438
4439 * cmds.c (forward_point): Function deleted.
4440 (Fforward_point): Just add.
4441 (Fforward_char): Don't call forward_point, just add.
4442 (Fforward_line): Use scan_newline.
4443 (Fdelete_char): No need for forward_point, just add.
4444 (Fdelete_backward_char): Handle bytes and chars.
4445 (internal_self_insert): Handle bytes and chars.
4446
4447 * xdisp.c (display_count_lines): Several changes in args.
4448 Do the work directly.
4449 (display_scan_buffer): Function deleted.
4450 (decode_mode_spec): Pass new arg.
4451 (message_log_check_duplicate): Take charpos and bytepos args.
4452 (message_dolog): Use markers to update old PT, BEGV, ZV.
4453 Use scan_newline. Handle positions in bytes and chars.
4454
4455 1997-12-28 Richard Stallman <rms@psilocin.gnu.org>
4456
4457 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4458
4459 * coding.c (code_convert_region): Handle bytepos and charpos.
4460 (Fdetect_coding_region): Likewise.
4461
4462 * Makefile.in (marker.o): Depend on charset.h.
4463
4464 1997-12-27 Richard Stallman <rms@psilocin.gnu.org>
4465
4466 * casefiddle.c (casify_region): Scan in bytes and chars.
4467 (casify_object, casify_region): Declare str, workbuf as unsigned char.
4468
4469 * insdel.c (move_gap): Use move_gap_both.
4470 (move_gap_both): New function.
4471 (gap_left, gap_right): Take both charpos and bytepos args.
4472 (adjust_markers_gap_motion): Renamed from adjust_markers
4473 and simplified.
4474 (adjust_markers_for_delete): New function.
4475 (adjust_markers_for_insert): Take args in chars and bytes.
4476 Also new arg BEFORE_MARKERS. One call does all marker updating
4477 needed for any insert.
4478 (adjust_point): Take 2 args and update PT and PT_BYTE.
4479 (make_gap): Handle bytes vs chars.
4480 (insert, insert_and_inherit): Handle bytes vs chars.
4481 Pass new BEFORE_MARKERS arg to insert_1.
4482 (insert_before_markers, insert_before_markers_and_inherit): Likewise.
4483 (insert_from_string, insert_from_string_before_markers): Likewise.
4484 (insert_from_buffer): Likewise.
4485 (insert_1): Handle bytes vs chars. New arg BEFORE_MARKERS.
4486 (insert_from_string_1, insert_from_buffer_1): Likewise.
4487 (replace_range): Likewise.
4488 (del_range_2): New subroutine, taken from del_range_1.
4489 (del_range_1): Use del_range_2.
4490 (del_range_byte, del_range_both): New functions.
4491
4492 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Call bytepos_to_charpos.
4493 Wrap in if (1) ... else.
4494
4495 * minibuf.c (Fminibuffer_complete_word): Handle bytes vs characters
4496 when comparing buffer against string.
4497 (temp_echo_area_glyphs): Save, update, delete text using
4498 byte and char positions.
4499 (read_minibuf): BACKUP_N counts bytes.
4500
4501 * syntax.c (Fforward_comment): Scan by bytes and chars.
4502 (Fbackward_prefix_chars): Scan by bytes and chars.
4503 (scan_words, scan_sexps_forward): Scan bytes as well as chars.
4504 (skip_chars, scan_lists): Scan by bytes and chars. Now static.
4505
4506 * buffer.h (DECODE_POSITION): New macro.
4507 (CHAR_TO_BYTE, BYTE_TO_CHAR): New macros.
4508
4509 * buffer.h (BEG_BYTE, BEGV_BYTE, PT_BYTE, GPT_BYTE)
4510 (ZV_BYTE, Z_BYTE): New macros.
4511 (BUF_BEG_BYTE, BUF_BEGV_BYTE, BUF_PT_BYTE, BUF_GPT_BYTE)
4512 (BUF_ZV_BYTE, BUF_Z_BYTE): New macros.
4513 (BUF_GAP_END_ADDR): New macro.
4514 (BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR):
4515 Use the new ..._byte buffer data.
4516 (BUFFER_CEILING_OF, BUFFER_FLOOR_OF): Likewise.
4517 (BUF_GPT_ADDR, BUF_Z_ADDR): Likewise.
4518 (SET_PT_BOTH, TEMP_SET_PT_BOTH): New macros.
4519 (SET_PT, TEMP_SET_PT, BUF_SET_PT, BUF_TEMP_SET_PT):
4520 Call functions with new arg order.
4521 (SET_BUF_BEGV, SET_BUF_BEGV_BOTH): New macros.
4522 (SET_BUF_PT): Macro deleted.
4523 (SET_BUF_ZV): Set charpos and bytepos.
4524 (SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH): New macros.
4525 (BYTE_POS_ADDR): Renamed from POS_ADDR.
4526 (CHAR_POS_ADDR): New macro.
4527 (FETCH_BYTE): Use BYTE_POS_ADDR.
4528 (FETCH_MULTIBYTE_CHAR): Use ..._BYTE macros.
4529 (BUF_CHAR_ADDRESS): Convert charpos to bytepos.
4530 (BUF_BYTE_ADDRESS): New macro, like the old BUF_CHAR_ADDRESS.
4531 (PTR_BYTE_POS): Renamed from PTR_CHAR_POS.
4532 (BUF_PTR_BYTE_POS): New macro.
4533 (BUF_FETCH_CHAR, BUF_FETCH_BYTE, BUF_FETCH_MULTIBYTE_CHAR): New macros.
4534 (struct buffer_text): New fields gpt_byte, z_byte.
4535 (struct buffer): New fields pt_byte, begv_byte, zv_byte.
4536
4537 * syntax.c (char_quoted): Take charpos and bytepos as args.
4538 (back_comment): Likewise.
4539 (update_syntax_table): Arg renamed.
4540 (inc_bytepos, dec_bytepos): New functions.
4541
4542 * abbrev.c (describe_abbrev): Return void.
4543 (write_abbrev): Return void.
4544 (Fexpand_abbrev): Scan in bytepos along with charpos.
4545 (Funexpand_abbrev): Use bytepos to delete the expansion.
4546
4547 * charset.h (INC_POS, DEC_POS): Fix because arg is a bufpos.
4548 (BUF_INC_POS, BUF_DEC_POS): New macros.
4549 (INC_BOTH, DEC_BOTH): New macros.
4550
4551 * minibuf.c (Fread_command, Fread_variable): Fix previous change.
4552
4553 * intervals.h (set_point, temp_set_point): Swap args in decl.
4554 (set_point_both, temp_set_point_both): New decls.
4555
4556 * print.c (PRINTDECLARE): Declare old_point_byte and start_point_byte.
4557 (PRINTPREPARE): For a marker, set old_point_byte and start_point_byte.
4558 Set both kinds of PT from the marker.
4559 (PRINTFINISH): For a marker, use set_marker_both.
4560 Restore both kinds of PT.
4561 (print): For strings and symbols, handle multibyte chars.
4562
4563 1997-12-26 Richard Stallman <rms@psilocin.gnu.org>
4564
4565 * lread.c (readchar_backlog): New variable.
4566 (readchar): When fetching from buffer or marker,
4567 use readchar_backlog to fetch bytes from a character.
4568 (unreadchar): Increment readchar_backlog.
4569 (readevalloop, Fread): Init readchar_backlog.
4570
4571 * charset.c (Fchar_boundary_p): Always return 0.
4572 (Fchars_in_region): Just subtract the arguments.
4573 (chars_in_text): New function.
4574 (Ffind_charset_region): Scan in bytepos as well as charpos.
4575
4576 * process.c (Fprocess_send_region): Make bytepos for send_process.
4577 (read_process_output): Save, restore, and update both kinds of ptrs.
4578 (send_process): OFFSET is now in bytes.
4579
4580 * marker.c (marker_byte_position): Renamed from marker_position.
4581 (marker_position): New function returns the charpos.
4582 (Fbuffer_has_markers_at): Test the marker's charpos.
4583 (set_marker_restricted, Fset_marker): Set both kinds of position.
4584 Optimize case where POSITION is a marker.
4585 (set_marker_both, set_marker_restricted_both): New functions.
4586 (Fmarker_position): Use the charpos.
4587
4588 * marker.c (charpos_to_bytepos, bytepos_to_charpos): New functions.
4589 (buf_charpos_to_bytepos, buf_bytepos_to_charpos): New functions.
4590
4591 * textprop.c (Ftext_properties_at): Doc fix.
4592
4593 * intervals.c (set_point_both): Renamed from set_point;
4594 New arg BYTE; BUFFER is now first arg; use temp_set_point_both.
4595 (set_point): New function; uses set_point_both.
4596 (temp_set_point_both): New function.
4597 (temp_set_point): Update BUF_PT_BYTE.
4598 (get_local_map): Save and restore both forms of the buffer bounds.
4599
4600 * buffer.c (set_buffer_temp):
4601 Update BUF_PT_BYTE, BUF_BEGV_BYTE and BUF_ZV_BYTE.
4602 (Fmake_indirect_buffer, set_buffer_internal_1):
4603 Set up the pt, begv and zv markers with both kinds of position.
4604 Set BUF_PT_BYTE, BUF_BEGV_BYTE, BUF_ZV_BYTE.
4605 (Fget_buffer_create): Set BUF_..._BYTE.
4606
4607 * indent.c (vmotion, compute_motion): Set up bytepos value
4608 to return it. ??? This is a quick hack and must be redone.
4609 (current_column): Handle bytepos and charpos.
4610 (position_indentation): Take bytepos as arg, and scan with it.
4611 Calls changed.
4612 (Fmove_to_column): Scan with bytepos and charpos.
4613 (pos_tab_offset): Use bytepos to do FETCH_BYTE.
4614 (skip_invisible): Don't worry about position in middle of character.
4615
4616 * xdisp.c (try_window): Pass bytepos to and from display_text_line.
4617 (try_window_id): Likewise. Use byte pos as well as charpos.
4618 (redisplay_internal): Handle bytepos for tlbufpos.
4619
4620 * xdisp.c (message): Cast last arg to doprnt.
4621
4622 * indent.h (struct position): New field bytepos.
4623
4624 * keyboard.c (command_loop_1): Use PT_BYTE when calling FETCH_BYTE.
4625 Instead of Fforward_point, just add.
4626
4627 * search.c (looking_at_1): Use bytepos to call re_search_2.
4628 Convert search regs to charpos, if search succeeded.
4629 (search_buffer): Likewise. Also convert charpos <-> bytepos
4630 in non-regexp case.
4631 (scan_buffer): Convert charpos <-> bytepos.
4632 (scan_newline): New function.
4633 (find_next_newline): Function deleted.
4634 (set_search_regs): Args now in bytes; convert to charpos.
4635 (Freplace_match): Convert charpos <-> bytepos when scanning case.
4636
4637 * fileio.c (restore_point_unwind): Now static. Use Fgoto_char.
4638 (Funhandled_file_name_directory): Doc fix.
4639 (Finsert_file_contents): Handle bytes vs chars.
4640 (Fwrite_region): Handle bytes vs chars.
4641 (a_write): Take args in bytes; handle annotations labeled in chars.
4642 (e_write): Rename args.
4643 (Funhandled_file_name_directory): Doc fix.
4644 (a_write, e_write): Now static.
4645
4646 * editfns.c (Fgoto_char): When arg is a marker, copy char and byte
4647 positions from it. When arg is an integer, no need to worry that it
4648 is in middle of a character.
4649 (buildmark): Take 2 args (charpos and bytepos). Callers changed.
4650 (Fline_beginning_position): Save and restore both kinds of PT.
4651 (Fprevious_char): Use PT_BYTE.
4652 (Fbolp, Feolp): Use PT_BYTE.
4653 (transpose_markers): Take args in chars and bytes.
4654 (Ftranspose_regions): Work with byte and char positions.
4655 (Fchar_after, Fchar_before): Use bytepos.
4656 (make_buffer_string): Convert charpos to bytepos.
4657 (Fcompare_buffer_substrings): Work with charpos and bytepos.
4658 (Fsubst_char_in_region): Handle charpos and bytepos.
4659 (Fwiden, Fnarrow_to_region): Likewise.
4660 (save_restriction_restore): Update PT and PT_BYTES.
4661 Cast arg to doprnt_lisp.
4662
4663 1997-12-26 Richard Stallman <rms@sucrose.gnu.org>
4664
4665 * keymap.c (Vminor_mode_overriding_map_alist): New variable.
4666 (syms_of_keymap): Set up Lisp var.
4667 (current_minor_maps): Use Vminor_mode_overriding_map_alist first,
4668 then Vminor_mode_map_alist.
4669
4670 * config.in (HAVE_STRING_H): Add #undef.
4671 [HAVE_STRING_H]: Include string.h.
4672
4673 1997-12-24 Richard Stallman <rms@psilocin.gnu.org>
4674
4675 * fileio.c (Finsert_file_contents): Don't use coding.symbol
4676 in unusual paths which don't set it up.
4677
4678 * xdisp.c: Declare nonascii_insert_offset.
4679
4680 1997-12-21 Richard Stallman <rms@psilocin.gnu.org>
4681
4682 * xterm.c (x_display_cursor): Abort if X or Y is out of range.
4683
4684 1997-12-20 Richard Stallman <rms@psilocin.gnu.org>
4685
4686 * sysdep.c (sys_signal): Undo previous change.
4687
4688 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): New variables.
4689 (syms_of_emacs): Set up Lisp variables.
4690 (handle_USR1_signal, handle_USR2_signal): New signal handlers.
4691 (main): Set up signal handlers.
4692
4693 * s/sco4.h (LIBX11_SYSTEM) [HAVE_LIBINTL and MOTIF]: Add -lintl.
4694
4695 * config.in (HAVE_LIBINTL): Add #undef.
4696
4697 1997-12-20 Toshiaki Nomura <dsfrsoft@yk.fujitsu.co.jp>
4698
4699 * s/uxpds.h: New file.
4700
4701 1997-12-19 Richard Stallman <rms@sucrose.gnu.org>
4702
4703 * minibuf.c (Vread_buffer_function): New var.
4704 (syms_of_minibuf): Set up Lisp var.
4705 (Fread_buffer): Use Vread_buffer_function.
4706
4707 * lisp.h (message2_nolog): Fix arg types.
4708
4709 * xdisp.c (message2_nolog): New arg MULTIBYTE.
4710 (message2): Pass new arg to message2_nolog.
4711 (message1_nolog): Likewise.
4712
4713 * keyboard.c (Fexecute_extended_command):
4714 Save message_enable_multibyte and pass it to message2_nolog.
4715
4716 * alloc.c (Fgarbage_collect):
4717 Save message_enable_multibyte and pass it to message2_nolog.
4718
4719 1997-12-17 Richard Stallman <rms@sucrose.gnu.org>
4720
4721 * syntax.c (Fparse_partial_sexp): Return nil for 9th element
4722 whenever not inside a string or a comment.
4723
4724 1997-12-16 Richard Stallman <rms@sucrose.gnu.org>
4725
4726 * minibuf.c (Fread_variable): If DEFAULT_VALUE is symbol, use its name.
4727 (Fread_command): Likewise.
4728
4729 1997-12-15 Richard Stallman <rms@sucrose.gnu.org>
4730
4731 * xdisp.c (message_dolog): Update PT and ZV properly when at end of
4732 buffer, when we convert between multibyte and single-byte.
4733 Properly initialize i.
4734
4735 * xdisp.c (message_dolog): Convert between single-byte and multibyte
4736 when inserting text into *Messages*.
4737
4738 1997-12-11 Richard Stallman <rms@gnu.org>
4739
4740 * sysdep.c (sys_signal): Add two casts.
4741
4742 1997-12-09 Richard Stallman <rms@gnu.org>
4743
4744 * callproc.c (Fcall_process): Don't clobber new_argv[0]
4745 in the case of no args.
4746
4747 1997-12-09 Kenichi Handa <handa@etl.go.jp>
4748
4749 * charset.c (Fget_unused_iso_final_char): New function.
4750 (syms_of_charset): Declare it as a Lisp function.
4751
4752 * callproc.c (Fcall_process): Set Vlast_coding_system_used after
4753 reading from the process.
4754
4755 * process.c (read_process_output): Fix previous change, i.e, if
4756 proc_encode_coding_system[p->outfd] is NULL, instead of allocating
4757 `struct coding_system' for encoding, just skip setting up coding
4758 system for encoding. Set Vlast_coding_system_used after some text
4759 is read.
4760 (send_process): Set Vlast_coding_system_used after deciding a
4761 coding system to be used for encoding.
4762
4763 * fileio.c (Finsert_file_contents): Set Vlast_coding_system_used
4764 before calling Vafter_insert_file_functions.
4765 (Fwrite_region): Set Vlast_coding_system_used after deciding a
4766 coding system to be used for encoding.
4767
4768 * coding.c (setup_coding_system): Do not set
4769 Vlast_coding_system_used here.
4770 (decode_coding_sjis_big5): Decode Big5 text of CR only end-of-line
4771 correctly.
4772
4773 1997-12-08 Ken'ichi Handa <handa@delysid.gnu.org>
4774
4775 * keyboard.c (Fexecute_extended_command): Fix previous change.
4776
4777 1997-12-07 Karl Heuer <kwzh@gnu.org>
4778
4779 * process.c (read_process_output): Allocate for coding system, if
4780 not already done.
4781
4782 1997-12-03 Richard Stallman <rms@gnu.org>
4783
4784 * emacs.c (main): Fix the stack-limit code to calculate
4785 the ratio for re_max_failures accurately and leave some extra slack.
4786
4787 * lread.c (Feval_region): Doc correction (point does not move).
4788
4789 1997-11-26 Richard Stallman <rms@sucrose.gnu.org>
4790
4791 * alloc.c (malloc_warning, display_malloc_warning): Return void.
4792 (memory_full, free_cons, free_marker): Likewise.
4793
4794 * xdisp.c (message): Declare a as char *[3].
4795
4796 * lisp.h, print.c (internal_with_output_to_temp_buffer):
4797 Don't declare arg type taken by 2nd arg.
4798
4799 * eval.c (do_autoload): Return void.
4800
4801 * sysdep.c (reset_sigio): Return void.
4802
4803 * keyboard.c (Fsuspend_emacs): Cast init_sys_modes when calling
4804 record_unwind_protect.
4805
4806 * keymap.c (describe_map): Fix decl of arg ELT_DESCRIBER.
4807
4808 * process.c (create_process, deactivate_process, close_process_descs):
4809 (kill_buffer_processes, status_notify): Return void.
4810 (Fstart_process): Cast arg to create_process.
4811
4812 * undo.c (record_insert, record_delete, record_marker_adjustment):
4813 (record_change, record_first_change, record_property_change):
4814 Return void.
4815
4816 1997-11-27 Ken'ichi Handa <handa@delysid.gnu.org>
4817
4818 * undo.c (record_change, record_first_change,
4819 record_property_change): Declare them as void.
4820 (record_delete, record_marker_adjustment): Declare them as void.
4821
4822 * indent.c (invalidate_current_column): Declare it as void.
4823
4824 * fileio.c (report_file_error): Declare it as void.
4825
4826 * filelock.c (unlock_buffer): Declare it as void.
4827
4828 * buffer.c (nsberror, record_buffer, validate_region,
4829 fix_overlay_before): Declare them as void.
4830
4831 * sysdep.c (discard_tty_input, init_baud_rate,
4832 wait_for_termination, flush_pending_output, child_setup_tty,
4833 sys_suspend, sys_subshell, init_sigio, request_sigio,
4834 unrequest_sigio, init_sys_modes, get_frame_size, reset_sys_modes,
4835 setup_pty): Declare them as void.
4836
4837 * keymap.c (describe_vector): Declaration fixed (delete `.' at the
4838 tail of type `void'.
4839 (fix_submap_inheritance): Declare it as void.
4840
4841 * keyboard.c (echo_now, record_auto_save, cmd_error_internal,
4842 start_polling, stop_polling, bind_polling_period,
4843 timer_start_idle, timer_stop_idle, gobble_input,
4844 record_asynch_buffer_change, clear_input_pending,
4845 stuff_buffered_input, clear_waiting_for_input,
4846 quit_throw_to_read_char): Declare these as void.
4847 (Fsuspend_emacs): Delete unnecessary extern declaration for
4848 init_sys_mode.
4849 (Fexecute_extended_command): Give Voverriding_local_map as the
4850 first arg to Faref.
4851
4852 1997-11-27 Ken'ichi Handa <handa@melange.gnu.org>
4853
4854 * xterm.c (x_make_frame_visible): Give dummy arg to
4855 input_poll_signal.
4856
4857 * xdisp.c (redisplay_preserve_echo_area): Declare it as void.
4858
4859 * charset.c (strwidth): Remove extra argument to buffer_display_table.
4860
4861 1997-11-25 Andreas Schwab <schwab@delysid.gnu.org>
4862
4863 * charset.h (SPLIT_STRING): Remove extra argument to
4864 split_non_ascii_string.
4865
4866 * window.c: Add prototypes.
4867 (delete_window): Fix return type.
4868 (set_window_height): Likewise.
4869 (set_window_width): Likewise.
4870 (change_window_height): Likewise.
4871
4872 * xselect.c (Fx_disown_selection_internal): Fix type of EVENT.
4873
4874 * window.h: Add prototypes.
4875
4876 * systty.h: Add prototypes.
4877
4878 * sysdep.c: Add prototypes.
4879 (save_signal_handlers): Make static.
4880 (restore_signal_handlers): Likewise.
4881
4882 * syntax.h: Add prototypes.
4883
4884 * search.c: Include "intervals.h" for prototypes.
4885
4886 * region-cache.h: Add prototypes.
4887
4888 1997-11-24 Paul Eggert <eggert@twinsun.com>
4889
4890 * fontset.c (free_fontset_data): Don't free null pointer.
4891
4892 The new GNU C library strftime needs the underlying host's
4893 strftime for locale dependent formats.
4894
4895 * configure.in (AC_CHECK_FUNCS): Add strftime.
4896 * src/config.in (HAVE_STRFTIME): New undef.
4897 * src/editfns.c (emacs_strftime): New decl.
4898 (Fformat_time_string): Doc fix: %b, %h, %B, %a, %A, and %p depend on
4899 locale; don't use actual chars to describe %n and %t.
4900
4901 * src/Makefile.in (strftime.o), src/makefile.nt ($(BLD)\strftime.obj):
4902 No need to compile with -Dstrftime=emacs_strftime any more.
4903
4904 1997-11-22 Richard Stallman <rms@gnu.org>
4905
4906 * syntax.c (back_comment): Handle 2-char comment starts
4907 when reaching the first of the pair.
4908
4909 1997-11-21 Andreas Schwab <schwab@delysid.gnu.org>
4910
4911 * keymap.c (copy_keymap_1): Fix return type.
4912 (accessible_keymaps_char_table): Likewise.
4913 (where_is_internal_2): Likewise.
4914 (describe_vector_princ): Likewise.
4915 (describe_vector): Likewise. Protoize parameter.
4916 (Ftext_char_description): Fix type of `str'.
4917
4918 * keyboard.h: Add prototypes and more function declarations.
4919
4920 * intervals.h: Add prototypes and more function declarations.
4921
4922 * intervals.c (traverse_intervals): Protoize parameter.
4923
4924 * frame.h: Protoize function declarations.
4925
4926 * fontset.h: Add prototypes and more function declarations.
4927
4928 * fontset.c: Protoize functions declarations.
4929
4930 * fns.c (map_char_table): Protoize parameter.
4931
4932 * fileio.c (close_file_unwind): Fix return type and return nil.
4933 (restore_point_unwind): Likewise.
4934
4935 * eval.c (record_unwind_protect): Protoize parameter.
4936
4937 * editfns.c (Fchar_to_string): Declare `workbuf' as unsigned char.
4938 (general_insert_function): Likewise. Protoize parameters. Define
4939 as returning nothing.
4940
4941 * doprnt.c (doprnt1): Declare `charbuf' as unsigned char.
4942
4943 * disptab.h: Add prototypes. Remove declaration of obsolete
4944 functions.
4945
4946 * coding.h: Add more prototypes and function declarations.
4947
4948 * charset.h: Add more prototypes and function declarations.
4949
4950 * ccl.c (setup_ccl_program): Define as returning nothing.
4951
4952 * ccl.h: Add declaration of setup_ccl_program and ccl_driver.
4953
4954 * category.h: Add declaration of word_boundary_p.
4955
4956 * buffer.h: Add more prototypes and function declarations.
4957
4958 * print.c (printchar): Declare `work' as unsigned char.
4959 (internal_with_output_to_temp_buffer): Protoype parameter
4960 FUNCTION.
4961 (Ferror_message_string): Remove extra argument of
4962 print_error_message.
4963 (write_string): Define as returning nothing.
4964 (write_string_1): Likewise.
4965 (print_error_message): Likewise.
4966
4967 * minibuf.c (read_minibuf_unwind): Fix return type and return nil.
4968 (temp_echo_area_glyphs): Define as returning nothing.
4969 (init_minibuf_once): Likewise.
4970 (syms_of_minibuf): Likewise.
4971 (keys_of_minibuf): Likewise.
4972
4973 * marker.c (unchain_marker): Define as returning nothing.
4974 (syms_of_marker): Likewise.
4975
4976 * macros.h: Declare finalize_kbd_macro_chars and
4977 store_kbd_macro_char.
4978
4979 * macros.c (store_kbd_macro_char): Define as returning nothing.
4980 (finalize_kbd_macro_chars): Likewise.
4981 (init_macros): Likewise.
4982 (syms_of_macros): Likewise.
4983 (keys_of_macros): Likewise.
4984
4985 * lread.c (read1): Declare workbuf as unsigned char.
4986 (dir_warning): Define as returning nothing.
4987 (init_lread): Likewise.
4988 (mapatoms_1): Likewise.
4989 (map_obarray): Fix type of parameter FN.
4990
4991 * lisp.h: Add more prototypes and declarations. Forward declare
4992 struct window and struct frame so that it can be used in
4993 prototypes.
4994
4995 1997-11-20 Richard Stallman <rms@gnu.org>
4996
4997 * sysdep.c (init_system_name): Don't use sysinfo.
4998
4999 1997-11-20 Dave Love <d.love@dl.ac.uk>
5000
5001 * syntax.c (skip_chars): Check type of `string' before using it.
5002
5003 1997-11-20 Abraham Nahum <miko@uxsrvc.tti.co.il>
5004
5005 * sysdep.c: Treat DGUX the same as USG.
5006 * s/dgux4.h (LIBS_SYSTEM): Define this.
5007
5008 1997-11-20 Eli Zaretskii <eliz@is.elta.co.il>
5009
5010 * frame.c (frame_name_fnn_p, set_term_frame_name): New functions.
5011 (store_frame_param): When the property name is "name", set the
5012 name of the frame to its value.
5013
5014 1997-11-16 Richard Stallman <rms@gnu.org>
5015
5016 * keyboard.c (Fexecute_extended_command): Fix message wording.
5017 Don't print a message for a binding for mouse-movement.
5018
5019 1997-11-15 Richard Stallman <rms@gnu.org>
5020
5021 * xdisp.c (minibuffer_scroll_overlap): New variable.
5022 (syms_of_xdisp): Set up Lisp var.
5023 (redisplay_window): Scroll minibuffer in a special way.
5024
5025 * xdisp.c (display_text_line): Make decision about which windows
5026 highlight the region in just once place.
5027 When minibuffer is selected, show the region in the previous window,
5028
5029 * charset.h (ASCII_BYTE_P): New macro.
5030
5031 * indent.c (position_indentation): Detect non-breaking space,
5032 in either single-byte form or multibyte form (using category ' ').
5033
5034 1997-11-15 Karl Heuer <kwzh@gnu.org>
5035
5036 * xselect.c (x_handle_selection_request): Use xfree, not free.
5037 (unexpect_property_change, x_get_window_property_as_lisp_data): Ditto.
5038 (x_handle_property_notify, receive_incremental_selection): Ditto.
5039 (selection_data_to_lisp_data, Fx_get_cut_buffer_internal): Ditto.
5040
5041 1997-11-10 Eli Zaretskii <eliz@is.elta.co.il>
5042
5043 * msdos.c: Support for Japanese display on DOS/V systems.
5044 (screen_old_address, screen_virtual_segment,
5045 screen_virtual_offset): New variables.
5046 (dosv_refresh_virtual_screen): New function.
5047 (dos_direct_output, dos_set_window_size, IT_write_glyphs,
5048 IT_clear_end_of_line, IT_clear_screen, IT_display_cursor,
5049 IT_reset_terminal_modes, XMenuActivate, abort): Call
5050 dosv_refresh_virtual_screen if under DOS/V.
5051 (IT_set_terminal_modes): If under DOS/V, update the address of
5052 primary screen buffer.
5053 (internal_terminal_init): Zero out screen_old_address, in case
5054 Emacs was dumped under DOS/V.
5055 (dos_get_saved_screen): Return failure indication if no screen was
5056 saved.
5057
5058 1997-11-07 Kenichi Handa <handa@etl.go.jp>
5059
5060 * callproc.c (Fcall_process): GCPRO infile, buffer, and
5061 current_dir before encoding arguments.
5062
5063 * charset.c (find_charset_in_str): Handle the case that STR
5064 contains invalid multibyte-form.
5065
5066 * coding.c (setup_coding_system): Initialize common_flags member
5067 instead of require_flushing member of `*coding'.
5068 (code_convert_region): Fix previous change.
5069
5070 * coding.h (struct coding_system): Add member common_flags, delete
5071 member require_flushing.
5072 (CODING_REQUIRE_FLUSHING_MASK, CODING_REQUIRE_DECODING_MASK,
5073 CODING_REQUIRE_ENCODING_MASK, CODING_REQUIRE_DETECTION_MASK): New
5074 macros.
5075 (CODING_REQUIRE_NO_CONVERSION, CODING_MAY_REQUIRE_NO_CONVERSION):
5076 These macros deleted.
5077 (CODING_REQUIRE_FLUSHING, CODING_REQUIRE_DECODING,
5078 CODING_REQUIRE_ENCODING, CODING_REQUIRE_DETECTION): New macros.
5079
5080 * editfns.c (Fsref): If IDX points an 8-bit code which is not part
5081 of multibyte characters, return it. Pay attention to
5082 enable-multibyte-characters.
5083
5084 * fileio.c (Finsert_file_contents): Use new macros defined in
5085 coding.h.
5086 (Fwrite_region): Likewise.
5087
5088 * process.c (create_process): Encode arguments for the process.
5089 (read_process_output): Use new macros defined in coding.h.
5090 (send_process): Likewise.
5091
5092 * term.c (encode_terminal_code): Use new macros defined in
5093 coding.h.
5094 (write_glyphs): Likewise.
5095
5096 1997-10-31 Richard Stallman <rms@gnu.org>
5097
5098 * sysdep.c (init_system_name): If gethostname gives a proper
5099 domain name, don't look farther for one.
5100
5101 1997-10-29 Paul Eggert <eggert@twinsun.com>
5102
5103 * m/alpha.h (DBL_MIN_REPLACEMENT): New macro.
5104
5105 * print.c (DBL_MIN): Use workaround if DBL_MIN_REPLACEMENT is defined.
5106
5107 1997-10-27 Kenichi Handa <handa@etl.go.jp>
5108
5109 * charset.c (Fchars_in_string): Pay attention to
5110 enable-multibyte-characters.
5111 (Fchars_in_region): Likewise. Avoid error when the region ends in
5112 the middle of a multibyte character.
5113
5114 * category.c (copy_category_table): Copy also the first extra slot
5115 (vector of docstrings).
5116 (Fcopy_category_table): Do not give unused second arg to
5117 copy_category_table.
5118
5119 1997-10-26 Kyle Jones <kyle_jones@wonderworks.com>
5120
5121 * buffer.c (Fkill_buffer): Don't assume buffer is current.
5122
5123 1997-10-24 Eirik Fuller <eirik@netcom.com>
5124
5125 * xterm.c (XTread_socket): Check for bogus (0,0) location.
5126
5127 1997-10-24 Richard Stallman <rms@gnu.org>
5128
5129 * frame.c (Fmouse_pixel_position, Fmouse_position):
5130 Pass -1 as INSIST arg to mouse_position_hook.
5131 * w32term.c (w32_mouse_position): Handle INSIST < 0.
5132 * xterm.c (XTmouse_position): Handle INSIST < 0.
5133
5134 1997-10-23 Simon Marshall <simon@gnu.org>
5135
5136 * lread.c (Fload): Indicate in messages if source code is being
5137 loaded and don't indicate when compiled code is being loaded.
5138
5139 1997-10-23 Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>
5140
5141 * coding.c (encode_designation_at_bol): Fix bug of finding graphic
5142 registers which should be designated at bol.
5143
5144 1997-10-23 Kenichi Handa <handa@etl.go.jp>
5145
5146 * charset.h (CHAR_VALID_P): Renamed from VALID_CHAR_P, new
5147 argument GENERICP. Call char_valid_p for a non-ASCII character.
5148
5149 * charset.c (char_valid_p): New function
5150 (Fchar_valid_p): New function.
5151 (syms_of_charset): Declare it as a Lisp function.
5152
5153 * coding.h (struct iso2022_spec): New member
5154 charset_revision_number.
5155 (CODING_SPEC_ISO_SAFE_CHARSETS): This macro deleted.
5156 (CODING_SPEC_ISO_REVISION_NUMBER): New macro.
5157 (struct coding_system): Member `safe_charsets' is moved from
5158 struct iso2022_spec.
5159
5160 * coding.c (Qsafe_charset): New variable.
5161 (syms_of_coding): Initialize and staticpro it.
5162 (detect_coding_iso2022): Handle SS2 and SS3 correctly.
5163 (DECODE_ISO_CHARACTER): Recover from incorrect encoding in less
5164 dangerous way.
5165 (ENCODE_DESIGNATION): Get charset revision number by
5166 CODING_SPEC_ISO_REVISION_NUMBER.
5167 (setup_coding_system): Initialize the member safe_charsets from
5168 the coding systems's safe-charsets property. Initialize the
5169 member charset_revision_number of struct iso2022_spec.
5170 (ENCODE_ISO_CHARACTER_DIMENSION1): Adjusted for the change of
5171 `safe_charsets' member.
5172 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
5173 (code_convert_region): Restore the current point after calling a
5174 function in coding->post_read_conversion.
5175
5176 * fns.c (map_char_table): Do not operate on invalid characters.
5177 Pay attention to `enable-multibyte-characters'.
5178
5179 1997-10-23 Richard Stallman <rms@gnu.org>
5180
5181 * filelock.c (unlock_all_files): Don't call unlock_file;
5182 do the work directly, and avoid calling Fexpand_file_name.
5183
5184 * xdisp.c (redisplay_window): If clip_changed, always run
5185 window-scroll-functions.
5186
5187 1997-10-23 Paul Eggert <eggert@twinsun.com>
5188
5189 Don't generate useless digits when converting floating point to string.
5190
5191 * print.c (_MAXLDBL, _NMAXLDBL):
5192 Define to work around hpux 7 <math.h> problem.
5193 (<math.h>): Include.
5194 (<float.h>, <stdlib.h>): Include if STDC_HEADERS.
5195 (FLT_RADIX, DBL_MANT_DIG, DBL_DIG): Default to IEEE values.
5196 (DOUBLE_DIGITS_BOUND): New macro.
5197 (float_to_string): By default, generate the fewest number of digits
5198 that represent the floating point value exactly.
5199
5200 * lisp.h (DBL_DIG): Remove; the default value is now set in print.c.
5201 * data.c, floatfns.c: No need to include <float.h> before "lisp.h",
5202 as the latter no longer defines DBL_DIG.
5203
5204 1997-10-21 Kenichi Handa <handa@etl.go.jp>
5205
5206 * Makefile.in (xselect.o): Depend on buffer.h
5207
5208 * coding.c (Qcoding_system_spec): Deleted.
5209 (Vcoding_system_list, Vcoding_system_alist): New variables.
5210 (setup_coding_system): Adjusted for the change in mule.el.
5211 (detect_eol): Likewise.
5212 (Fcoding_system_spec): Changed to Lisp function in mule.el.
5213 (Fcoding_system_p): Do not call Fcoding_system_spec.
5214 (Fread_coding_system): Give Vcoding_system_alist to
5215 Fcompleting_read as the arg TABLE.
5216 (Fread_non_nil_coding_system): Likewise. Give
5217 Vcoding_system_history to Fcompleting_read as the arg HIST.
5218 (syms_of_coding): Deleted codes for Qcoding_system and
5219 Fcoding_system_spec. Set up new Lisp variables.
5220
5221 * xselect.c: Include buffer.h.
5222 (selection_data_to_lisp_data): Do not perform code conversion if
5223 the default value of enable-multibyte-characters is nil.
5224 (lisp_data_to_selection_data): Likewise. Access the array
5225 `charsets' in the correct way.
5226
5227 1997-10-20 Richard Stallman <rms@gnu.org>
5228
5229 * Makefile.in (LD_SWITCH_MACHINE_TEMACS): New macro (defaults empty).
5230 (ALL_LDFLAGS): Use LD_SWITCH_MACHINE_TEMACS here.
5231
5232 * m/ibmrs6000.h (LD_SWITCH_MACHINE): Conditionalize this
5233 on THIS_IS_MAKEFILE instead of on emacs.
5234
5235 1997-10-20 Paul Eggert <eggert@twinsun.com>
5236
5237 * strftime.c:
5238 Switch back to GNU C Library version.
5239 (__tz_compute): Remove unused decl.
5240 (strftime): Use tm_zone even if _LIBC is defined.
5241
5242 1997-10-19 Kurt Swanson <kurt@dna.lth.se>
5243
5244 * window.c (syms_of_window): Doc fix.
5245
5246 1997-10-16 Richard Stallman <rms@gnu.org>
5247
5248 * buffer.c (init_buffer): Don't add /: to default dir if it's `/'.
5249
5250 * keymap.c (Faccessible_keymaps): Avoid alloca for fixed-size array.
5251 (Fset_keymap_parent, Fcopy_keymap, Fwhere_is_internal): Likewise.
5252
5253 * minibuf.c (read_minibuf): Return DEFALT here, if minibuffer is empty.
5254 (Fread_from_minibuffer, Fcompleting_read): Don't do that here.
5255
5256 * fileio.c (Fexpand_file_name): Avoid treating // specially
5257 even in a relative file name.
5258
5259 * keymap.c (Fwhere_is_internal): some minor mode bindings weren't
5260 being found.
5261
5262 1997-10-15 Richard Stallman <rms@gnu.org>
5263
5264 * window.c (replace_buffer_in_all_windows):
5265 Pass 1 as MINI to window_loop.
5266
5267 * data.c (Fstring_to_number): Handle NEGATIVE for floats too.
5268
5269 * lread.c (read_list): Don't recognize Vload_file_name
5270 specially if it is nil.
5271
5272 1997-10-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5273
5274 * alloc.c (gc_sweep): Free memory blocks that contain only unused
5275 objects.
5276
5277 * window.c (window_scroll): When scrolling forward and point is
5278 inside the scroll margin put point at bottom of it, not at window
5279 start.
5280
5281 1997-10-13 Andrew Innes <andrewi@harlequin.co.uk>
5282
5283 * callproc.c (child_setup) [WINDOWSNT]: Ensure standard handles
5284 are reset even if spawnve fails.
5285
5286 * w32menu.c (Fx_popup_menu): Pass menu handle by value.
5287
5288 1997-10-13 Eli Zaretskii <eliz@melange.gnu.org>
5289
5290 * xdisp.c (decode_mode_spec): Display non-nil title as the frame's
5291 name only on FRAME_WINDOW_P frames.
5292
5293 * frame.c (set_menu_bar_lines): Make the function external instead
5294 of static (MS-DOS needs to call it).
5295
5296 * emacs.c (shut_down_emacs): Call `dos_cleanup'.
5297
5298 * msdos.c (mouse_get_pos): Remove reduntant call to `int86'.
5299 Clear the mouse-moved flag for all frames. Update last mouse
5300 position.
5301 (IT_set_menu_bar_lines): Remove.
5302 (x_set_menu_bar_lines): Call `set_menu_bar_line' (from frame.c)
5303 instead of duplicating its code.
5304 (IT_set_frame_parameters): Support the `title' and `reverse'
5305 properties.
5306
5307 * dosfns.h: Vdos_windows_version: declare.
5308
5309 * dosfns.c (__tb): Define.
5310 (restore_parent_vm_title): New function.
5311 (ms_windows_version): New function.
5312 (w95_set_virtual_machine_title): New function
5313 (x_set_title): New function.
5314 (dos_cleanup): New function
5315 (syms_of_dosfns): Define `dos-windows-version' Lisp variable.
5316 (init_dosfns): Compute MS-Windows version and save the original
5317 title of our DOS box.
5318
5319 1997-10-10 Richard Stallman <rms@gnu.org>
5320
5321 * s/netbsd.h (LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
5322
5323 1997-10-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5324
5325 * unexelf.c (round_up): Make arguments and return type unsigned.
5326
5327 * editfns.c: Repeat the argument list of format-time-string in the
5328 comment for make-docstring.
5329
5330 * lread.c: Make sure that make-docfile does not see the doc string
5331 of the disabled function eval-current-buffer.
5332
5333 * print.c (syms_of_print): Fix doc string of print-gensym.
5334
5335 1997-10-01 Richard Stallman <rms@psilocin.gnu.org>
5336
5337 * s/aix4-1.h [! HAVE_LIBXMU] (LIBXMU): Define as empty.
5338 [! HAVE_LIBXMU] (NO_EDITRES): Defined.
5339
5340 1997-09-30 Hrvoje Niksic <hniksic@srce.hr>
5341
5342 * fns.c (Qwidget_type): New variable.
5343 (widget-plist-member, widget-put, widget-get, widget-apply): Move
5344 here from lisp/wid-edit.el; translated into C for efficiency.
5345 (syms_of_fns): Initialize Qwidget_type; defsubr new functions.
5346
5347 1997-09-29 Karl Heuer <kwzh@gnu.org>
5348
5349 * s/dgux4.h: Fix name of include file to match 1996-08-24 renaming.
5350
5351 1997-09-27 Eirik Fuller <eirik@netcom.com>
5352
5353 * ralloc.c (relinquish): When returning memory to the system,
5354 watch out for the original data segment boundary.
5355
5356 1997-09-25 Kenichi Handa <handa@etl.go.jp>
5357
5358 * keymap.c (push_key_description): Delete useless `if' statement.
5359
5360 1997-09-24 Kenichi Handa <handa@etl.go.jp>
5361
5362 * charset.c (find_charset_in_str): Return also charsets in
5363 composite characters.
5364
5365 1997-09-24 Dave Love <d.love@dl.ac.uk>
5366
5367 * buffer.c (mode-line-format): Doc fix.
5368
5369 1997-09-23 Geoff Voelker <voelker@cs.washington.edu>
5370
5371 * callproc.c (child_setup) [WINDOWSNT]: Change directory of
5372 child instead of parent.
5373
5374 1997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5375
5376 * Version 20.2 released.
5377
5378 * s/sol2-5.h (SYSTEM_MALLOC): Defined.
5379
5380 1997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5381
5382 * Version 20.1 released.
5383
5384 * keyboard.c (command_loop_1): Add nonascii_insert_offset
5385 before calling direct_output_for_insert.
5386
5387 1997-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5388
5389 * indent.c (compute_motion): Ignore the display table entry for a
5390 base leading code when dealing with multibyte characters.
5391
5392 1997-09-14 Kenichi Handa <handa@etl.go.jp>
5393
5394 * fileio.c (Finsert_file_contents): If a coding system is
5395 specified explicitly on visiting a new file, set
5396 buffer-file-coding system of the new buffer to the specified one.
5397
5398 1997-09-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5399
5400 * minibuf.c (syms_of_minibuf): Doc fix.
5401
5402 1997-09-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5403
5404 * xdisp.c: When redisplaying the echo area, use the value
5405 of enable-multibyte-characters from when message was called.
5406 (message_enable_multibyte): New variable.
5407 (message2_nolog): Set the variable.
5408 (echo_area_display): Use that variable.
5409 (display_string): New arg MULTIBYTE. Callers changed.
5410
5411 * print.c (Fexternal_debugging_output): On Windows, output to debugger.
5412
5413 1997-09-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5414
5415 * msdos.c: Use raw-text as coding system.
5416
5417 1997-09-10 Eli Zaretskii <eliz@is.elta.co.il>
5418
5419 * msdos.c (syms_of_msdos): Intern background-color and
5420 foreground-color, and staticpro them.
5421 (IT_set_frame_parameters): Use Qforeground_color and
5422 Qbackground_color.
5423
5424 1997-09-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5425
5426 * xdisp.c (display_menu_bar): Include WINDOW_LEFT_MARGIN in maxendcol.
5427
5428 * process.c (create_process): Encode the new current dir.
5429
5430 * callproc.c (Fcall_process): Encode the new current dir.
5431
5432 1997-09-09 Paul Eggert <eggert@twinsun.com>
5433
5434 * s/sco5.h (BROKEN_MKTIME): Define.
5435
5436 1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5437
5438 * xfns.c (x_screen_planes): Fix type of argument.
5439
5440 * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Add missing fourth
5441 argument of update_syntax_table.
5442 (UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
5443 (UPDATE_SYNTAX_TABLE): Likewise.
5444
5445 * coding.c (encode_designation_at_bol): Fix type of local vars C1, C2.
5446
5447 1997-09-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5448
5449 * fileio.c (ENCODE_FILE): New macro.
5450 (Vfile_name_coding_system): New variable.
5451 (syms_of_fileio): Set up Lisp variable.
5452 (Fset_visited_file_modtime): Use ENCODE_FILE.
5453 (Fcopy_file, Fmake_directory_internal, Fdelete_directory, Fdelete_file)
5454 (Frename_file, Fadd_name_to_file, Ffile_exists_p Ffile_executable_p)
5455 (Ffile_readable_p, Ffile_writable_p, Faccess_file, Ffile_symlink_p)
5456 (Ffile_directory_p, Ffile_accessible_directory_p, Ffile_regular_p)
5457 (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p, Fwrite_region)
5458 (Finsert_file_contents, Fverify_visited_file_modtime): Likewise.
5459
5460 * fileio.c (Ffile_symlink_p): Decode the file name value.
5461
5462 * dired.c (ENCODE_FILE): New macro.
5463 (Ffile_attributes): Encode the file names to operate on.
5464 (file_name_completion): Do completion on encoded name, then decode.
5465 (Fdirectory_files): Encode the argument.
5466 Decode all result file names using Vfile_name_coding_system.
5467
5468 * coding.c (Fencode_coding_string, Fdecode_coding_string): Doc fixes.
5469
5470 1997-09-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5471
5472 * lread.c (Feval_buffer): New arg FILENAME.
5473
5474 * buffer.c (modify_overlay): Update overlay_modiff of proper buffer.
5475
5476 1997-09-07 Geoff Voelker <voelker@cs.washington.edu>
5477
5478 * firstfile.c: New file.
5479
5480 1997-09-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5481
5482 * xdisp.c (display_string): Determine multibyte from current buffer,
5483 not from W's buffer.
5484
5485 1997-09-07 Kenneth Stailey <kstailey@elbereth.disclosure.com>
5486
5487 * s/openbsd.h: New file.
5488
5489 * m/ns32000.h, m/sparc.h, m/alpha.h, m/pmax.h, unexalpha.c:
5490 Test __OpenBSD__ along with __NetBSD__.
5491
5492 * unexelf.c: Test __OpenBSD__ along with __NetBSD__.
5493 [__OpenBSD__]: Include sys/exec_elf.h.
5494
5495 1997-09-05 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
5496
5497 * coding.c (Ffind_operation_coding_system): If a function in
5498 XXX-coding-system-alist returns a coding system (instead of cons
5499 of coding systems), return cons of it.
5500
5501 1997-09-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5502
5503 * coding.c (Fread_coding_system):
5504 New optional arg DEFAULT_CODING_SYSTEM.
5505 * lisp.h (Fread_coding_system): Update decl.
5506
5507 * callint.c (Fcall_interactively): Pass new arg to Fread_coding_system.
5508
5509 1997-09-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5510
5511 * m/alpha.h (PTY_OPEN): Call sigblock properly.
5512
5513 * fileio.c (Fexpand_file_name): If default dir isn't string, use `/'.
5514
5515 * callproc.c (Fcall_process_region): Fix previous change:
5516 never override Vcoding_system_for_write.
5517
5518 * m/alpha.h (PTY_OPEN): Save and restore the SIGCHLD handler.
5519
5520 1997-09-04 Erik Naggum <erik@naggum.no>
5521
5522 * emacs.c (main): Update Copyright message.
5523
5524 1997-09-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5525
5526 * data.c (Faset): Simplify a statement in the char-table case.
5527 This is to help some compilers.
5528
5529 * coding.c (Qcoding_system_history): New variable.
5530 (syms_of_coding): Initialize it.
5531 (Fread_coding_system): Use Qcoding_system_history.
5532
5533 * coding.c (setup_coding_system, Ffind_operation_coding_system)
5534 (Fdetect_coding_region, Fread_coding_system):
5535 Don't initialize a Lisp_Object.
5536
5537 1997-09-03 NIIBE Yutaka <gniibe@mri.co.jp>
5538
5539 * emacs.c (main): Call run_time_remap earlier, before any use of stdio.
5540
5541 1997-09-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5542
5543 * minibuf.c (read_minibuf): Fix use of Ffboundp.
5544
5545 1997-09-03 Geoff Voelker <voelker@cs.washington.edu>
5546
5547 * lastfile.c (my_endbss) [WINDOWSNT]: New variable.
5548
5549 1997-09-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5550
5551 * coding.c (detect_coding_mask): Re-work previous change.
5552 (detect_eol): Fix use of == instead of -.
5553
5554 1997-09-03 Kenichi Handa <handa@etl.go.jp>
5555
5556 * coding.c (detect_coding_mask): Cancel previous change. Always
5557 include CODING_CATEGORY_MASK_RAW_TEXT in the return value.
5558
5559 1997-09-02 Andrew Innes <andrewi@harlequin.co.uk>
5560
5561 * makefile.nt (TLIB0, TOBJ, OBJ0): New macro.
5562 (LINK_FLAGS): Separate debugging info from the executable.
5563 (LIBS): Include TLIB0.
5564 (TEMACS): Link with TLIB0.
5565 (EMACS): Copy temacs map file to emacs map file.
5566 Update file dependencies.
5567
5568 * unexw32.c: Include config.h and time.h.
5569 Declare extern data and functions.
5570 (file_data): Move definition from w32heap.c.
5571 (_start): Add debug hook for when profiling.
5572 Spoof executable name when using profilers.
5573 Invoke sbrk immediately when undumped.
5574 (unexec): Print error messages when input and output dump files
5575 cannot be opened.
5576 Reset header checksum.
5577 (open_input_file, open_output_file): Return status instead of aborting.
5578 (get_section_size): Handle different linkers.
5579 (find_section, rva_to_section): New functions.
5580 (get_section_info) [SEPARATE_BSS_SECTION]: Make code for using
5581 a separate .bss section conditional.
5582 Use my_begbss and my_endbss to determine .bss size by default.
5583 Look for Emacs data in EMDATA section.
5584
5585 * w32.c: Include stddef.h.
5586 (getwd): Delete macro.
5587 (startup_dir): New variable.
5588 (getwd): Return directory in which Emacs started.
5589 (init_user_info): Set SHELL environment variable if not set.
5590 (parse_root, get_long_basename, w32_get_long_filename): New functions.
5591 (init_environment): Look for CMDPROXY.
5592 Make sure that PATH and COMSPEC are capitalized in the environment.
5593 Record startup directory.
5594 (get_emacs_configuration, sys_rename): Use OS_WIN95.
5595 (map_w32_filename): Calculate returned string correctly.
5596
5597 (sys_fopen): Use _fdopen.
5598 (sys_link): Support NTFS links.
5599 (sys_rename): Use a long file name for temporary name.
5600 (sys_pipe): Make pipes binary and non-inheritable.
5601 (sys_read, sys_write): Spoof text mode translation for pipes
5602 and sockets.
5603
5604 (hashval): Simplify.
5605 (generate_inode_val): Use long file name version of file.
5606
5607 (stat): Optimize by using active readdir info.
5608 Set fake_inode to 0 for directories.
5609 Set fake_inode to xor of file indexes for files.
5610 Don't use generate_inode_val to set inode value.
5611
5612 (volume_info_data): Renamed from volume_info.
5613 (volume_info, fixed_drives, volume_cache): New variables.
5614 (DRIVE_INDEX, VOLINFO_STILL_VALID): New macros.
5615 (lookup_volume_info, add_volume_info, GetCachedVolumeInformation):
5616 New functions.
5617 (get_volume_info): Use volume_info_data.
5618 Use GetCachedVolumeInformation.
5619
5620 (init_ntproc): No longer restrict to one DOS subprocess.
5621 Use CRT _open and _fdopen.
5622 Cache fixed drive information.
5623
5624 * w32.h: Remove debugging macros.
5625 (child_process): Remove is_dos_process field, add hwnd handle field.
5626 (FILE_LAST_CR): New macro.
5627 (w32_get_long_filename): Declare extern.
5628
5629 * w32console.c: (DebPrint, reset_kbd, unset_kbd, take_console):
5630 Delete functions.
5631 (keyboard_init_hook): Delete variable.
5632 (prev_console_cursor) [! USE_SEPARATE_SCREEN]: New variable.
5633 (reset_terminal_modes) [! USE_SEPARATE_SCREEN]: Reset cursor info.
5634 (initialize_w32_display) [USE_SEPARATE_SCREEN]: Create separate
5635 screen buffer.
5636 (ctrl_c_handler): Only ignore interrupts when interactive.
5637 (set_terminal_modes): Set input mode.
5638 (initialize_w32_display): Record original settings.
5639 Don't reset cursor or clear frame.
5640
5641 * w32fns.c: Include limits.h and errno.h.
5642 Declare externs from other files.
5643 (w32_in_use): New variable.
5644 (check_w32, have_menus_p, x_set_title, w32_msg_worker,
5645 find_deferred_msg, send_deferred_msg, complete_deferred_msg,
5646 Fw32_focus_frame, W32-send-sys-command): New functions.
5647 (last_mouse_movement_time): Delete variable.
5648
5649 (x_frame_parms): Alphabetize. Add title parm.
5650 (x_set_icon_name): Use title if set.
5651 (x_set_menu_bar_lines): Ensure client area remains the same.
5652 (x_set_name): Don't update if the name is the same.
5653 Use title for name if available.
5654 (x_icon): Initial support for creating window iconified.
5655 (x_display_info_for_name): Set w32_in_use.
5656 (Fx_open_connection): Validate Vwindow_system. Set w32_in_use.
5657
5658 (w32_create_window): Set window size to frame dimensions.
5659 Set font width, line height, border, scrollbar indexes.
5660 Don't set X and Y units indexes.
5661 (w32_msg_pump): Renamed from windows_msg_worker.
5662 Make static. Don't post done message. No longer handle
5663 create scrollbar message. Don't abort on anomalous messages.
5664 Return when completion detected.
5665 (w32_wnd_proc): Keep track of button state.
5666 For WINDOWPOSCHANGING, force window dimensions to be multiples
5667 of character dimensions.
5668 Handle CREATESCROLLBAR.
5669 Use correct arguments for SHOWWINDOW.
5670 For SETWINDOWPOS, use WINDOWPOS structure.
5671
5672 (my_create_window): Abort if message post fails.
5673 (Fx_create_frame): Use title instead of name.
5674 GC protect frame before make_frame_without_minibuffer.
5675 Set icon name.
5676 Use courier new as default font (has bold and italic).
5677 Set BufferPredicate and Title default parameters.
5678
5679 (x_to_w32_weight): Support semibold weight.
5680 (x_to_w32_charset): Map # to numeric charset identifier.
5681 (w32_to_x_charset): Encode unknown charsets as a number.
5682 (enum_font_cb2): Don't restrict to ANSI and OEM charsets.
5683
5684 (Fx_color_values): Set high and low words of color values.
5685
5686 (syms_of_w32fns): Zero w32_in_use. defsubr new functions.
5687
5688 * w32heap.c (os_subtype): New variable.
5689 (cache_system_info): Set os_subtype.
5690 (recreate_heap): Update system information after loading heap.
5691
5692 * w32heap.h: Enumerate operating system types.
5693 Declare extern data and functions.
5694 Move file_data struct definition here.
5695 (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): New macros.
5696
5697 * w32inevt.c: Declare externs from other files.
5698 (w32_kbd_mods_to_emacs): New parameter KEY.
5699 Use w32-capslock-is-shiftlock for old behavior.
5700 (key_event): Pass in new parameter to w32_kbd_mods_to_emacs.
5701
5702 * w32menu.c (init_menu_items): Disable code.
5703 (x_activate_menubar): New function.
5704 (initialize_frame_menubar): Pass in new param to set_frame_menubar.
5705
5706 * w32proc.c: Include w32heap.h.
5707 (Vw32_start_process_share_console, Vw32_generate_fake_inodes,
5708 Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir):
5709 New variables.
5710 (find_child_console, set_process_dir, Fw32_short_file_name,
5711 Fw32_long_file_name, Fw32_set_process_priority, Fw32_get_locale_info,
5712 Fw32_get_current_locale_id, Fw32_get_default_local_id,
5713 Fw32_set_current_locale): New functions.
5714 (CORRECT_DIR_SEPS): New macro.
5715 (create_child): Create a new console if subprocs don't share parent's.
5716 (reap_subprocess): Don't check for dos subprocesses.
5717 Add debug support.
5718 (sys_wait): Ignore socket child_procs.
5719 Check for quit while waiting.
5720 (w32_executable_type): Renamed from w32_is_dos_binary.
5721 Check for dos and Cygnus executables.
5722 (sys_spawnve): Always use cmdproxy if spawning a dos app.
5723 Use quotes to quote arguments for Cygnus apps, backslashes otherwise.
5724 Handle escape characters. Escape quotes at start and end, too.
5725 (sys_select): Treat null timeout as infinite.
5726 Add handles of child processes.
5727 Loop over handles round robin to ensure fairness.
5728 (sys_kill): Send ctrl-break and ctrl-c keystrokes to subprocesses
5729 on SIGINT if not sharing consoles, otherwise generate ctrl-break event.
5730 On other termination signals, send WM_QUIT message to Win95 apps
5731 and WM_CLOSE to NT apps.
5732 (syms_of_ntproc): Intern new symbols. defsubr new functions.
5733 DEFVAR new variables.
5734
5735 * w32term.c (SIF_*): Win95 macros defined for NT.
5736 (struct tagSCROLLINFO): Win95 struct defined for NT.
5737 (vertical_scroll_bar_min_handle, vertical_scroll_bar_top_border,
5738 vertical_scroll_bar_bottom_border, last_scroll_bar_drag_pos,
5739 Vw32_gab_focus_on_raise, Vw32_capslock_is_shiftlock): New
5740 variables.
5741 (w32_frame_up_to_date): Block input.
5742 (do_line_dance): Use DC while erasing, release at end.
5743 (show_mouse_face): Use column and endcolumn calculated at start of
5744 loop.
5745 (my_create_scrollbar, my_show_window, my_set_window_pos,
5746 my_set_focus) [! ATTACH_THREADS]: Send message to window instead
5747 of invoking Windows procedure.
5748 (x_scroll_bar_create, x_scroll_bar_move, x_scroll_bar_handle_click,
5749 x_scroll_bar_report_motion): Use SCROLLINFO for proportional handle.
5750 (x_scroll_bar_set_handle): Create proportional sized scroll handle.
5751 (w32_set_vertical_scroll_bar): Size handle according to how much
5752 is showing in window.
5753 (x_scroll_bar_set_report_motion): Use top_range, calculated above.
5754 (x_scroll_bar_clear): Hide scroll bar until ready to repaint.
5755 (show_scroll_bars): Pass in frame to my_show_window.
5756
5757 (w32_read_socket): Distinguish between invisible and obscured frames
5758 when handling PAINT messages.
5759 Fixup off-by-one calculation for PAINT and SIZE.
5760 Pass in new parameter to w32_kbd_mods_to_emacs.
5761 Handle WM_DISPLAYCHANGE, WINDOWPOSCHANGED, ACTIVATE, SHOWWINDOW,
5762 INITMENU, and ACTIVATEAPP messages.
5763 Explicitly check for visibile and obscured frames, and to see if
5764 any event should cause a redisplay.
5765
5766 (x_display_bar_cursor): Don't check whether frame is updating here.
5767 (x_display_cursor): Check it here instead.
5768 (x_set_offset) [HAVE_NTGUI]: Don't add border widths.
5769 Set NOACTIVATE when setting window position.
5770 (x_set_window_size): Fixup off-by-one calculation when setting
5771 window position. Mark frame garbaged earlier. Clear mouse
5772 highlighting state.
5773 (x_focus_on_frame): Set focus by making frame the foreground window.
5774 (x_raise_frame): Support frames to be raised without grabbing focus.
5775 (x_lower_frame): Set NOACTIVATE flag when setting window position.
5776 (x_make_frame_visible, x_make_frame_invisible): Pass in frame
5777 to my_show_window.
5778 (x_iconify_frame): Send a MINIMIZE message to the window.
5779 (x_wm_set_size_hint): Set font width, line height, border,
5780 and scroll bar indexes instead of X and Y unit indexes.
5781
5782 (w32_initialize): Set input mode. Use w32_msg_worker instead
5783 of windows_msg_worker. Dynamically link proportional scroll bar
5784 functions and intialize proportional scroll bar variables.
5785 (syms_of_w32term): DEFVAR new variables.
5786
5787 * w32term.h (w32_output): New fields menubar_widget, menubar_active,
5788 and pending_menu_activation.
5789 (VERTICAL_SCROLL_BAR_*): Use proportional scroll bar variables.
5790 (W32WindowPos): Delete definition.
5791 (WM_EMACS_SETFOCUS, WND_*_INDEX): New macros.
5792 (deferred_msg): New structure.
5793
5794 * w32xfns.c (have_menus_p): Move to w32fns.c.
5795
5796 * s/ms-w32.h (INTERRUPT_INPUT): Don't define.
5797 (bcopy): Use memmove instead of memcpy.
5798 (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE): Define.
5799 Undef system calls before redefining. Emulated calls redefined
5800 to sys_*, real calls redefined to _*.
5801 (DebPrint): Macro defined.
5802
5803 1997-09-02 Michael Welsh Duggan <md5i@schenley.com>
5804
5805 * w32term.h (WM_MOUSEWHEEL): Define if not already defined.
5806 Necessary for pre VC5.0 distribution.
5807 (WM_EMACS_TRACKPOPUPMENU): New Macro.
5808
5809 * w32term.c (construct_mouse_wheel): New function. Constructs an
5810 input event from a WM_MOUSEWHEEL message.
5811 (w32_read_socket): Handle WM_MOUSEWHEEL.
5812
5813 * w32fns.c (win32_wnd_proc): Capture and handle WM_MOUSEWHEEL events.
5814 Capture and handle WM_EMACS_TRACKPOPUPMENU events.
5815 Allow a dragged selection from a popup menu started up
5816 by a mouse down event.
5817 (x_to_win32_color): Support for X Windows RGB string specifications.
5818
5819 * w32menu.c (get_frame_menubar_event): Check for the possibility
5820 of a menu-bar button. A menu-bar button is a caption on the menu
5821 bar with no submenu.
5822 (set_frame_menubar): Correctly handle menu-bar buttons.
5823 (add_menu_item): Equiv parameter send and paid attention to.
5824 (keymap_panes, list_of_panes): Use CreatePopupMenu.
5825 (single_keymap_panes): Use CreatePopupMenu. Send key descriptions
5826 to add_menu_item.
5827 (list_of_items): Use CreatePopupMenu. Send nil description to
5828 add_menu_item.
5829 (get_menu_event): Send keymap instead of menu to get_keymap_event.
5830 (Fx_popup_menu): Extra parameter to mouse_position_hook. Don't
5831 send address of menu to win32menu_show.
5832 (win32menu_show): Send message to call popup menu rather than
5833 trying directly. get_menu_event should take an address.
5834 Call eat_mouse_events in order to get rid of any extraneous
5835 mouse events.
5836 (list_of_panes): Only bring up one pane if the length of the list
5837 of panes is one.
5838
5839 1997-09-02 Nico Francois <nico.francois@scala.nl>
5840
5841 * w32menu.c (single_keymap_panes): Fixed problem with 'descrip'
5842 lisp object not being protected properly (GCPRO).
5843 (get_single_keymap_event): Fixed problem with 'descrip' lisp
5844 object not being protected properly (GCPRO).
5845 (name_is_separator): New function.
5846 (list_of_panes): If a pane's name is empty ("") items are now
5847 placed in the main popup instead of a blank-named submenu. This
5848 seems to be an undocumented feature of x-popup-menu.
5849 (list_of_items): New argument HMENU.
5850 Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item
5851
5852 1997-09-02 Geoff Voelker <voelker@cs.washington.edu>
5853
5854 * w32.c (init_environment): Don't look for INFOPATH.
5855
5856 * w32fns.c (w32_wnd_proc): Pass on WM_DISPLAYCHANGE messages.
5857
5858 * w32heap.c: Don't use data_seg pragma here.
5859 (_heap_init, _heap_term) [_MSC_VER >= 1000]: New functions that
5860 override CRT routines.
5861
5862 * w32inevt.c (key_event): New parameter isdead. Set isdead if the
5863 key press was done using a dead key.
5864
5865 * w32term.c (w32_read_socket): Pass in new parameter to key_event.
5866 Let key_event determine whether key is dead.
5867 For MOVE, use x_real_positions to map to client coords.
5868 (x_set_mouse_pixel_position): Offset to use client area as origin.
5869
5870 * s/ms-w32.h: Use pragmas to place Emacs initialized data in
5871 EMDATA segment, and Emacs uninitialized data in EMBSS segment.
5872
5873 1997-09-02 Andrew Innes <andrewi@harlequin.co.uk>
5874
5875 * fileio.c (Fadd_name_to_file) [WINDOWSNT]: Remove conditional.
5876
5877 * frame.h (FRAME_OBSCURED_P): New macro.
5878 (FRAME_SAMPLE_VISIBILITY): Distinguish between invisible and obscured.
5879
5880 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Support
5881 menu_bar_activate_event.
5882 (set-input-mode) [DOS_NT]: Do not invoke reset and init sys modes.
5883
5884 * sysdep.c (sys_subshell) [DOS_NT]: Save and restore parent's
5885 working directory.
5886 (sys_subshell) [WINDOWSNT]: Share MSDOS code. Don't take console.
5887 (init_sys_modes, reset_sys_modes) [WINDOWSNT]: Do it even with
5888 a read_socket_hook.
5889
5890 * xdisp.c (redisplay_internal): Check to see if frame is not obscured
5891 as well as visible.
5892
5893 1997-09-02 Michael Welsh Duggan <md5i@schenley.com>
5894
5895 * lisp.h: Declare discard_mouse_events.
5896
5897 * keyboard.c (Qmouse_wheel) [WINDOWSNT]: New variable.
5898 (discard_mouse_events): New function.
5899 (mouse_wheel_syms) [WINDOWSNT]: New variable.
5900 (lispy_mouse_wheel_names) [WINDOWSNT]: New variable.
5901 (make_lispy_event) [WINDOWSNT]: Make mouse-wheel events.
5902 (syms_of_keyboard) [WINDOWSNT]: Define Qmouse_wheel and
5903 mouse_wheel_syms.
5904
5905 * termhooks.h (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
5906
5907 1997-09-02 Geoff Voelker <voelker@cs.washington.edu>
5908
5909 * fileio.c (Fexpand_file_name) [WINDOWSNT]: When stripping
5910 drive letter, be careful not to create a UNC filename.
5911
5912 1997-09-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5913
5914 * coding.c (detect_coding_mask): Add in CODING_CATEGORY_MASK_RAW_TEXT
5915 in the detect_coding_iso2022 case.
5916
5917 * minibuf.c (Fread_from_minibuffer, Fread_string): Doc fixes.
5918 (Fread_no_blanks_input, Fcompleting_read): Doc fixes.
5919
5920 * unexnext.c: Include unistd.h instead of libc.h.
5921
5922 1997-09-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5923
5924 * s/hpux9.h (HAVE_RINT): Add #undef.
5925
5926 * floatfns.c (emacs_rint): Define this,
5927 either as a function or as a macro for rint.
5928 (Fround, Ffround): Use emacs_rint, not rint directly.
5929
5930 * window.c (syms_of_window): Doc fix.
5931
5932 * fileio.c (Finsert_file_contents): Fix previous change--don't
5933 call Fboundp on Vset_auto_coding_function, just check non-nil.
5934
5935 1997-09-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5936
5937 * alloc.c (free_float, free_cons): Don't use the same field for
5938 chaining as for marking.
5939 (make_float, Fcons, gc_sweep): Corresponding changes.
5940
5941 1997-09-01 Kenichi Handa <handa@etl.go.jp>
5942
5943 * charset.h (LEADING_CODE_PRIVATE_22): Comment fixed.
5944
5945 * process.c (read_process_output): Index for
5946 proc_encode_coding_system should be p->outfd (not `channel' which
5947 is p->infd).
5948
5949 * fileio.c (Vset_auto_coding_function): Name changed from
5950 Vauto_file_coding_system.
5951 (syms_of_fileio): Adjusted for the above change. Doc change.
5952 (Finsert_file_contents): The argument for Vset_auto_coding is a
5953 concatination of the heading 1K-byte and the tailing 3K-byte.
5954
5955 * cmds.c (internal_self_insert): Only set TARGET_CLM when C2 is tab.
5956 When multibyte characters are disabled,
5957 use 1 as the width of the inserted character.
5958
5959 1997-08-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5960
5961 * category.c (describe_category): Handle a sub-chartable.
5962
5963 1997-08-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5964
5965 * sysdep.c (init_system_name): Don't try to use getdomainname.
5966
5967 1997-08-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5968
5969 * dispnew.c (change_frame_size_1): Save current buffer
5970 around calling Fset_window_buffer.
5971
5972 * lread.c (Fload): Fix doc syntax.
5973
5974 * m/intel386.h (HAVE_ALLOCA): Do define this, if SOLARIS2.
5975
5976 1997-08-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5977
5978 * lread.c (Fload): If FILE arg ends in .el or .elc,
5979 don't insist on adding a suffix.
5980
5981 1997-08-28 Eli Zaretskii <eliz@is.elta.co.il>
5982
5983 * callproc.c (Fcall_process): Set EOL conversion type to LF when
5984 binary-process-output is non-nil.
5985 (Fcall_process_region): binary-process-XXXput only determines EOL
5986 conversion; if it is nil, convert LF <-> CRLF. Don't bind
5987 coding-system-for-read, it is done in Fcall_process.
5988
5989 1997-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
5990
5991 * alloc.c (free_marker): Call unchain_marker.
5992
5993 1997-08-28 Kenichi Handa <handa@etl.go.jp>
5994
5995 * coding.c (detect_eol): Do not select no-conversion even if EOL
5996 format of raw-text file is inconsistent. Just read it by
5997 raw-text-unix.
5998 (Fdetect_coding_region): Do not select no-conversion even if EOL
5999 format of raw-text file is inconsistent.
6000
6001 1997-08-28 Kenichi Handa <handa@etl.go.jp>
6002
6003 * coding.c (Qno_conversion, Qundecided): New variables.
6004 (syms_of_coding): Initialize and staticpro them.
6005 (coding_category_name): Include "coding-category-raw-test".
6006 (setup_coding_system): Handle coding_type_raw_text.
6007 (detect_coding_mask): Include CODING_CATEGORY_MASK_RAW_TEXT in the
6008 return value instead of CODING_CATEGORY_MASK_BINARY.
6009 (detect_coding): Do not check the case that `mask' is 0, which
6010 never happens now.
6011 (detect_eol_type): If EOL format is inconsistent, return
6012 CODING_EOL_INCONSISTENT.
6013 (detect_eol): If EOL format of raw-text file is inconsistent,
6014 detect it as no-conversion.
6015 (decode_coding): Handle coding_type_raw_text.
6016 (encode_coding): Likewise.
6017 (Fdetect_coding_region): Ajusted for the above changes.
6018 (shrink_conversion_area): Handle coding_type_raw_text.
6019
6020 * coding.h (coding_type): New member coding_type_raw_text.
6021 (CODING_EOL_INCONSISTENT): New macro.
6022 (CODING_REQUIRE_NO_CONVERSION): Check also coding_type_raw_text.
6023 (CODING_MAY_REQUIRE_NO_CONVERSION): Likewise.
6024 (CODING_CATEGORY_IDX_RAW_TEXT): New macro.
6025 (CODING_CATEGORY_MASK_RAW_TEXT): New macro.
6026
6027 1997-08-28 Eli Zaretskii <eliz@psilocin.gnu.ai.mit.edu>
6028
6029 * msdos.c: Add coding: tag, to prevent Emacs from interpreting
6030 binary strings.
6031
6032 1997-08-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6033
6034 * xmenu.c (free_frame_menubar): Clear menubar_height field.
6035
6036 1997-08-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6037
6038 * xdisp.c (redisplay_window): When trying to scroll conservatively,
6039 correctly take the scroll margin into account.
6040
6041 * buffer.c: Include errno.h.
6042 (init_buffer) [HAVE_GETCWD]: Fix error message for getcwd failure.
6043
6044 * fileio.c (Finsert_file_contents): Fix use of Fboundp.
6045
6046 * fns.c (concat): Fix use of Fchar_bytes.
6047
6048 * lisp.h: Declare Fchar_bytes.
6049
6050 1997-08-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6051
6052 * minibuf.c (read_minibuf): Inherit enable-multibyte-characters
6053 along with the input method, if requested.
6054
6055 1997-08-26 Eli Zaretskii <eliz@is.elta.co.il>
6056
6057 * xdisp.c (decode_mode_spec): For %Z and %z, put keyboard and
6058 terminal coding systems into modeline on MSDOS frames as well.
6059
6060 1997-08-26 Kenichi Handa <handa@etl.go.jp>
6061
6062 * minibuf.c (Qcurrent_input_method, Qactivate_input_method): New vars.
6063 (syms_of_minibuf): Intern and staticpro them.
6064 (read_minibuf): New argument INHERIT_INPUT_METHOD. If it is
6065 nonzero, remember the current input method in INPUT_METHOD, and
6066 activate it after switching to the minibuffer.
6067 (Fread_from_minibuffer): New argument INHERIT_INPUT_METHOD.
6068 (Fread_minibuffer): Call read_minibuf with INHERIT_INPUT_METHOD nil.
6069 (Fread_string): New argument INHERIT_INPUT_METHOD.
6070 (Fread_no_blanks_input): Likewise.
6071 (Fread_command): Call Fcompleting_read with INHERIT_INPUT_METHOD nil.
6072 (Fread_function, Fread_variable, Fread_buffer): Likewise
6073 (Fcompleting_read): New argument INHERIT_INPUT_METHOD.
6074
6075 * lisp.h (DEFUN_ARGS_8): New macro.
6076 (Fcompleting_read, Fread_from_minibuffer, Fread_string,
6077 Fread_no_blanks_input): Number of arguments fixed.
6078
6079 * eval.c (Feval): Handle a subr which takes 8 arguments.
6080 (Ffuncall): Likewise.
6081
6082 * coding.c (Fread_non_nil_coding_system): Supply the arg
6083 INHERIT-INPUT-METHOD to Fcompleting_read.
6084 (Fread_coding_system): Likewise.
6085
6086 * callint.c (Finteractive): Document the code letter `M'.
6087 (Fcall_interactively): Call Fcompleting_read,
6088 Fread_from_minibuffer, and Fread_string with a proper value for
6089 the arg INHERIT-INPUT-METHOD. Handle the code letter `M'.
6090
6091 * fileio.c (Fwrite_region): Convert EOL format even if
6092 enable-multibyte-characters is nil.
6093 (Fread_file_name): Call Fcompleting_read with INHERIT-INPUT-METHOD
6094 nil.
6095
6096 * keyboard.c (Fexecute_extended_command): Call Fread_from_minibuffer
6097 with INHERIT-INPUT-METHOD nil.
6098
6099 * fns.c (Fyes_or_no_p): Likewise.
6100
6101 * mocklisp.c (Fml_arg): Call Fread_string with
6102 INHERIT-INPUT-METHOD nil.
6103
6104 * search.c (Fsearch_backward): Inherit the current input method on
6105 reading STRING.
6106 (Fsearch_forward): Likewise.
6107
6108 1997-08-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6109
6110 * frame.c (Fframe_pixel_height): Doc fix.
6111
6112 * Makefile.in (emacs): Put dash at beginning.
6113
6114 1997-08-24 NIIBE Yutaka <gniibe@mri.co.jp>
6115
6116 * Makefile.in (xrdb.o): Depend on paths.h.
6117
6118 1997-08-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6119
6120 * config.in (KERBEROS5, HAVE_LIBKRB4, HAVE_LIBDES425, HAVE_LIBKRB5)
6121 (HAVE_LIBCRYPTO, HAVE_LIBCOM_ERR, HAVE_KRB5_H, HAVE_DES_H, HAVE_KRB_H)
6122 (HAVE_KERBEROSIV_DES_H, HAVE_KERBEROSIV_KRB_H, HAVE_KERBEROS_DES_H)
6123 (HAVE_KERBEROS_KRB_H, HAVE_COM_ERR_H): Add undefs.
6124
6125 * callproc.c (init_callproc): Don't warn about missing
6126 arch-dep data directory, while preparing to dump.
6127
6128 * puresize.h (BASE_PURESIZE): Increased by 10k.
6129
6130 1997-08-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6131
6132 * Makefile.in (LIB_MOTIF_EXTRA): New variable.
6133 (LIBW): Use LIB_MOTIF_EXTRA.
6134 * config.in (HAVE_MOTIF_2_1): Add #undef.
6135
6136 * fileio.c (Fmake_temp_name): Doc fix.
6137
6138 * buffer.c (syms_of_buffer): Doc fixes.
6139
6140 1997-08-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6141
6142 * xdisp.c (redisplay_window): Don't try using last_point_x
6143 if point is in the left margin of an hscroll'ed window.
6144
6145 1997-08-21 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6146
6147 * fileio.c (syms_of_fileio): Fix previous change.
6148
6149 * coding.c (detect_eol): If the coding system is an alias, get
6150 eol-type from the base of it.
6151
6152 1997-08-21 Kenichi HANDA <handa@etl.go.jp>
6153
6154 * fileio.c (Vauto_file_coding_system_function): New variable.
6155 (Finsert_file_contents): Decide coding system after opening a
6156 file. Call functions set in Vauto_file_coding_system_function.
6157 (syms_of_fileio): Declare auto-file-coding-system-function as a
6158 Lisp variable.
6159
6160 * fontset.c (Valternate_fontname_alist): Name changed from
6161 Valternative_fontname_alist.
6162 (syms_of_fontset): Adjusted for the above change.
6163
6164 * fontset.h: Adjusted for the name change of
6165 Valternate_fontname_alist.
6166
6167 * xterm.c (x_list_fonts): Adjusted for the name change of
6168 Valternate_fontname_alist.
6169
6170 1997-08-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6171
6172 * charset.c (Fchars_in_region): Fix gap handling.
6173
6174 * editfns.c (NULL): Define, if not defined.
6175
6176 1997-08-19 Geoff Voelker <voelker@cs.washington.edu>
6177
6178 * fileio.c (Finsert_file_contents): Fix previous change.
6179
6180 1997-08-18 Ken'ichi Handa <handa@albert.gnu.ai.mit.edu>
6181
6182 * charset.c (Fchars_in_region): Renamed form Fcount_chars_region.
6183 (syms_of_charset): Define Schars_in_region as a Lisp subroutine
6184 instead of Scount_chars_region.
6185
6186 1997-08-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6187
6188 * fileio.c (Fdo_auto_save): If open fails, make lispstream nil.
6189
6190 1997-08-16 Geoff Voelker <voelker@cs.washington.edu>
6191
6192 * fileio.c (Finsert_file_contents) [DOS_NT]: Set buffer_file_type
6193 according to eol conversion used on file.
6194
6195 1997-08-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6196
6197 * Makefile.in (xselect.o): Fix previous change.
6198
6199 * minibuf.c (read_minibuf): New arg disable_multibyte.
6200 (Fcompleting_read): Pass 1 for disable_multibyte if
6201 the completion table is read-file-name-internal.
6202
6203 * xrdb.c: Include paths.h.
6204 (get_system_app): Use PATH_X_DEFAULTS.
6205
6206 * paths.in (PATH_X_DEFAULTS): New macro.
6207
6208 * term.c (term_get_fkeys_1): Use kH as alternate for move-to-last-line.
6209
6210 * charset.c: Many doc fixes.
6211 (Fcount_chars_region): New function.
6212 (min, max): New macros.
6213
6214 * fns.c (Flength): Doc fix.
6215
6216 * editfns.c (Fchar_before): Do range check before decrement.
6217
6218 1997-08-16 Kenichi Handa <handa@etl.go.jp>
6219
6220 * coding.h (CODING_FLAG_ISO_LATIN_EXTRA): New macro.
6221
6222 * coding.c (Vmicrosoft_code_table): This variable deleted.
6223 (Vlatin_extra_code_table): New variable.
6224 (detect_coding_iso2022): Pay attention to Vlatin_extra_code_table.
6225 (detect_coding_mask): Likewise.
6226 (setup_coding_system): Handle a new FLAGS element
6227 ACCEPT-LATIN-EXTRA-CODE.
6228 (syms_of_coding): Delete code for Vmicrosoft_code_table.
6229 Declare latin-extra-code-table as Lisp variable, and initialize.
6230
6231 1997-08-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6232
6233 * Makefile.in (xselect.o): Depend on coding.h.
6234
6235 * s/osf1.h (SOCKLEN_TYPE): New macro definition.
6236
6237 1997-08-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6238
6239 * xdisp.c (COERCE_MARKER): Use Fmarker_position instead of
6240 marker_position so that it works with a marker that points nowhere.
6241 (redisplay_window): Check that Voverlay_arrow_position is a
6242 marker before accessing it as such.
6243
6244 1997-08-14 Eli Zaretskii <eliz@is.elta.co.il>
6245
6246 * emacs.c (main): Update re_max_failures so regex.c won't overflow
6247 the stack, except when dumping.
6248
6249 1997-08-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6250
6251 * xdisp.c (redisplay_window): When handling just cursor motion,
6252 do not subtract hscroll when accessing last_point_x.
6253 (display_text_line): Add WINDOW_LEFT_MARGIN into hpos
6254 later on, after handling hscroll and minibuffer prompt.
6255
6256 1997-08-13 Eli Zaretskii <eliz@psilocin.gnu.ai.mit.edu>
6257
6258 * msdos.c (syms_of_msdos): Define and bind x-bitmap-file-path and
6259 delete-exited-processes, to prevent cus-start.el from complaining.
6260
6261 1997-08-13 Kazushi (Jam) Marukawa <maru@pdapsun2.trc.rwcp.or.jp>
6262
6263 * filelock.c (lock_file): Use %lu instead of %d in sprintf because
6264 the variable named pid is unsigned long.
6265
6266 * unexalpha.c (unexec): Cast arg to fprintf.
6267
6268 1997-08-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6269
6270 * alloc.c (free_marker): New function.
6271
6272 * insdel.c (signal_before_change): Relocate START and END
6273 using markers for subsequent functions, when we run a function.
6274
6275 * Makefile.in (emacs): Warn about shadowed standard libraries here.
6276
6277 1997-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6278
6279 * emacs.c (main): Fix previous change.
6280
6281 1997-08-11 +03 Eli Zaretskii <eliz@is.elta.co.il>
6282
6283 * dosfns.c (init_dosfns): Avoid calling DOS memory-allocation
6284 service, NT DPMI server will crash Emacs in DOS box, if we do.
6285
6286 * msdos.c (IT_set_frame_parameters): Actually store the frame
6287 parameters in the frame parameters' alist.
6288
6289 * msdos.c (init_environment): Set Emacs root directory properly when
6290 the executable is in its `src' subdirectory, as under a debugger.
6291 (IT_set_face): If termscript is in use, print the number of the
6292 face as well.
6293
6294 1997-08-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6295
6296 * emacs.c (main) [__FreeBSD__ && PROFILING]: Add code for profiling.
6297
6298 1997-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6299
6300 * msdos.c (Qbackground_color, Qforeground_color): Define vars.
6301
6302 * dosfns.c (Finsert_startup_screen): Call `insert_char' with a
6303 single argument.
6304
6305 1997-08-10 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6306
6307 * coding.h (struct iso2022_spec): New member expected_charsets.
6308 (CODING_SPEC_ISO_EXPECTED_CHARSETS): New macro.
6309
6310 * coding.c (Fset_terminal_coding_system_internal): Set
6311 CODING_FLAG_ISO_SAFE in terminal_coding.flags.
6312 (ENCODE_ISO_CHARACTER_DIMENSION1): Check
6313 CODING_SPEC_ISO_EXPECTED_CHARSETS.
6314 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6315
6316 1997-08-10 Kenichi Handa <handa@etl.go.jp>
6317
6318 * term.c (encode_terminal_code): Use safe_terminal_coding if
6319 terminal_coding seems to encode Emacs' internal code as is.
6320 (write_glyphs): Likewise.
6321
6322 * coding.c (ENCODE_ISO_CHARACTER_DIMENSION1): Pay attention to
6323 CODING_FLAG_ISO_SAFE.
6324 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6325 (safe_terminal_coding): New variable.
6326 (Fset_safe_terminal_coding_system_internal): New function.
6327 (init_coding_once): Initilize safe_terminal_coding.
6328 (syms_of_coding): Declare set-safe-terminal-coding-system as a
6329 Lisp function.
6330
6331 * coding.h (CODING_FLAG_ISO_SAFE): New macro.
6332 (CODING_INHIBIT_CHARACTER_SUBSTITUTION): New macro.
6333 coding.h (safe_terminal_coding): Extern it.
6334
6335 1997-08-10 Kenichi Handa <handa@etl.go.jp>
6336
6337 * coding.c (Vmicrosoft_code_table): New variable.
6338 (syms_of_coding): Declare it as a Lisp variable and initialize it.
6339 (detect_coding_mask): Pay attention to Vmicrosoft_code_table.
6340
6341 * xterm.c (dumpglyphs): Pay attention to
6342 Vignore_relative_composition.
6343
6344 * fontset.h (Vignore_relative_composition): Extern it.
6345
6346 * fontset.c (Vignore_relative_composition): New variable.
6347 (syms_of_fontset): Doc-string of use-default-ascent modified.
6348 Declare ignore-relative-composition as a Lisp variable.
6349
6350 * fns.c (concat): Pay attention to multibyte characters when
6351 TARGET_TYPE is Lisp_String.
6352
6353 1997-08-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6354
6355 * sysdep.c (init_system_name): If domain is null, don't add a period.
6356
6357 1997-08-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6358
6359 * buffer.c (init_buffer): Use getcwd instead of getwd, if available.
6360
6361 * eval.c (do_autoload): Require a suffix for the file.
6362
6363 * lread.c (read1): Handle read_escape making a multibyte character.
6364
6365 * strftime.c (gmtime_r, localtime_r): Undef before defining.
6366
6367 * fns.c (Frequire): Don't insist on a suffix
6368 if the file name argument was explicitly specified.
6369
6370 1997-08-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6371
6372 * Makefile.in (lisp, shortlisp): Add bindings.el and case-table.elc.
6373
6374 * xdisp.c (redisplay_window): Fix access to w->last_point{,_[xy]}.
6375
6376 * lisp.h (Flocal_variable_p, Ffind_operation_coding_system): Declared.
6377 (find_symbol_value): Fix declaration.
6378
6379 1997-08-07 Erik Naggum <erik@naggum.no>
6380
6381 * emacs.c (main): Remove call to init_filelock.
6382 * filelock.c (init_filelock): Function deleted.
6383 * paths.in (PATH_LOCK): Definition deleted.
6384
6385 1997-08-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6386
6387 * xrdb.c (X_DEFAULT_SEARCH_PATH): Add /usr/X11R6/lib alternatives.
6388
6389 * editfns.c (Fwiden, Fnarrow_to_region, save_restriction_restore):
6390 Don't set clip_changed if the new values are the same as the old.
6391
6392 * fileio.c (Fwrite_region): Turn off the feature of checking
6393 whether another buffer has locked this file.
6394
6395 * xdisp.c (COERCE_MARKER): New macro.
6396 (redisplay_internal): Coerce Voverlay_arrow_position to a number
6397 to record it in last_arrow_position.
6398 (mark_window_display_accurate, redisplay_window): Likewise.
6399 (redisplay_window): Don't do the "only point has change" optimization
6400 if the overlay arrow is in this buffer.
6401
6402 1997-08-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6403
6404 * unexelf.c (unexec): Cast 1st arg in mmap calls.
6405
6406 * sysdep.c (init_sys_modes) [mips || HAVE_TCATTR]:
6407 Handle flow_control by setting VSTART and VSTOP characters.
6408
6409 * filelock.c (lock_file_1, lock_file): Add casts.
6410
6411 * xselect.c (syms_of_xselect): Doc syntax fixes.
6412
6413 * coding.c (syms_of_coding): Doc syntax fixes.
6414
6415 * xdisp.c (redisplay_internal): Count only visible frames at first.
6416
6417 * xdisp.c (redisplay_internal): Count all visible frames in new_count.
6418
6419 1997-08-05 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6420
6421 * coding.c (detect_eol_type): Fix previous change.
6422
6423 1997-08-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6424
6425 * fontset.c (syms_of_fontset): Doc fixes.
6426
6427 1997-08-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6428
6429 * indent.c (current_column): Update ptr differently at newline
6430 so that current_column_bol_cache is set properly.
6431
6432 1997-08-04 Kenichi Handa <handa@etl.go.jp>
6433
6434 * coding.c (detect_eol_type): If EOL representation does not
6435 seem consistent, use no conversion.
6436
6437 * process.c (Fset_process_coding_system): Doc-string modified.
6438 (Fprocess_coding_system): Likewise.
6439
6440 * callproc.c (Fcall_process_region): Use cdr part (not car part)
6441 of Vdefault_process_coding_system for writing out text.
6442
6443 * coding.c (detect_coding_iso2022): Do not exclude posibility of
6444 7-bit encoding when designation to G1 occurs. If CSI, SS2, or SS3
6445 is found, return CODING_CATEGORY_MASK_ISO_8_ELSE.
6446 (Fdetect_coding_region): Doc-string modified.
6447
6448 1997-08-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6449
6450 * xfaces.c (merge_face_list): New function.
6451 (compute_char_face): Use merge_face_list.
6452 Allow (foreground-color . COLOR) and (background-color . COLOR)
6453 in place of a face.
6454
6455 1997-08-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6456
6457 * m/intel386.h (HAVE_ALLOCA): Don't define this
6458 on USG5_4 if not using GNU C.
6459
6460 * xdisp.c (redisplay_internal): Count number of visible frames
6461 instead of number of frames that were redisplayed.
6462
6463 * m/ibmrs6000.h (LD_SWITCH_MACHINE):
6464 Add #ifdef emacs around all the definitions of this.
6465
6466 * lisp.h (Fload): Update declaration.
6467
6468 1997-08-03 Kenichi HANDA <handa@etl.go.jp>
6469
6470 * coding.h (CODING_CATEGORY_MASK_BINARY): New macro.
6471
6472 * coding.c (detect_coding_mask): Include
6473 CODING_CATEGORY_MASK_BINARY in the return value if any 8-bit code
6474 is found.
6475
6476 * xfns.c (x_set_frame_parameters): Heading comment fixed.
6477 (x_default_parameter): Likewise.
6478
6479 * xselect.c (Vclipboard_coding_system): New variable.
6480 (selection_data_to_lisp_data): Decode text by
6481 Vclipboard_coding_system.
6482 (lisp_data_to_selection_data): Encode text by
6483 Vclipboard_coding_system.
6484 (syms_of_xselect): Declare clipboard-coding-system as Lisp
6485 variable and initialize it.
6486
6487 1997-08-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6488
6489 * coding.c: Doc fixes.
6490
6491 * lread.c (Fload): New optional arg MUST-SUFFIX.
6492 * fns.c (Frequire): Pass t for the MUST-SUFFIX arg to Fload.
6493 * eval.c (do_autoload): Pass new arg to Fload.
6494
6495 * indent.c (compute_motion): Correct the criterion for when to
6496 move back 1 space when we terminate just after continuing the line.
6497
6498 1997-07-31 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6499
6500 * coding.c (encode_coding_iso2022): When source data ends not at
6501 character boundardy, set data in coding->carryover correctly, and
6502 set SRC to SRC_END.
6503 (encode_coding_sjis_big5): Likewise.
6504 (encode_coding): Don't set coding->carryover_size to 0.
6505
6506 * fileio.c (Fwrite_region): Don't try to flush out a data twice.
6507
6508 1997-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6509
6510 * xdisp.c (redisplay_window): Fix previous change.
6511
6512 * dispnew.c (direct_output_for_insert): Set last_point_x properly.
6513
6514 1997-07-31 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6515
6516 * xterm.c (x_list_fonts): Request at least 10 fonts by XListFonts.
6517
6518 * coding.c (encode_coding_iso2022): Write out invalid multibyte
6519 forms in a buffer as is.
6520 (detect_coding_mask): If ISO_CODE_CSI appears in an invalid
6521 sequence, ignore it.
6522
6523 1997-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6524
6525 * xdisp.c (redisplay_window): Fix one-off in handling
6526 scroll-conservatively for scrolling up.
6527
6528 * filelock.c (current_lock_owner): Don't try to delete lock
6529 if this or another existing process owns it!
6530
6531 1997-07-31 enami tsugutomo <enami@but-b.or.jp>
6532
6533 * process.c (read_process_output): Don't call setup_coding_system
6534 for proc_decode_coding_system[channel]. It is already done in
6535 detect_coding called via decode_coding.
6536
6537 1997-07-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6538
6539 * filelock.c (lock_if_free): Don't loop; for strange error, return -1.
6540
6541 * s/sunos4shr.h (LIBXMU): Alternative definition if CANNOT_DUMP.
6542
6543 * Makefile.in (LDFLAGS, CPPFLAGS): Get them from configure like CFLAGS.
6544
6545 1997-07-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6546
6547 * process.c (wait_reading_process_input): Call detect_input_pending
6548 whenever read_kbd is 0, not just when wait_for_cell.
6549
6550 * xdisp.c (decode_mode_spec_coding): If multibyte chars disabled.
6551 display only the eol flag.
6552
6553 1997-07-29 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6554
6555 * xterm.c (x_list_fonts): Reject a font whose min_bounds.width is 0.
6556
6557 1997-07-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6558
6559 * emacs.c (sort_args): Check properly for `--'.
6560
6561 * xdisp.c (redisplay_window): Fix previous change.
6562
6563 * cm.h, sysdep.c, terminfo.c [HAVE_LIBNCURSES]:
6564 Declare ospeed as short, unless NCURSES_OSPEED_T.
6565
6566 * xdisp.c (redisplay_window): When text has not changed,
6567 call compute_motion starting from the former PT if possible.
6568 If PT is unchanged from w->last_point, don't do compute_motion at all.
6569
6570 1997-07-28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6571
6572 * editfns.c (Fformat_time_string): Don't hang if strftime produces
6573 an empty string. Fix arguments of second call to strftime.
6574 Remove check for result being negative, this cannot happen.
6575
6576 * xterm.c (x_new_font): Follow the change in
6577 x_set_scroll_bar_width and make the scroll bar at least 14 pixels
6578 wide.
6579
6580 * xfns.c (Fx_create_frame): Initialize fontset in output_data.
6581
6582 1997-07-28 Dan Nicolaescu <done@ece.arizona.edu>
6583
6584 * charset.c (non_ascii_char_to_string): Fix typos.
6585
6586 1997-07-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6587
6588 * callproc.c (syms_of_callproc):
6589 Don't init Vtemp_file_name_pattern here.
6590
6591 * lread.c (map_obarray): Don't crash if something strange
6592 is in the obarray.
6593
6594 1997-07-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6595
6596 * xterm.c (x_term_init) [! HAVE_X11R5]: Don't try to use
6597 XtCvtStringToFont.
6598
6599 * print.c (strout, printchar): Handle minibuffer_auto_raise.
6600
6601 1997-07-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6602
6603 * fileio.c (Fwrite_region): Fix previous change.
6604
6605 1997-07-25 NIIBE Yutaka <gniibe@mri.co.jp>
6606
6607 * indent.c (compute_motion): Handle display table correctly for
6608 multibyte characters.
6609
6610 1997-07-25 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu>
6611
6612 * fontset.c (syms_of_fontset): Set Vhighlight_wrong_size_font to
6613 Qnil.
6614
6615 * coding.h (CODING_REQUIRE_TEXT_CONVERSION,
6616 CODING_REQUIRE_EOL_CONVERSION, CODING_REQUIRE_CONVERSION): Deleted.
6617 (CODING_REQUIRE_NO_CONVERSION): New macro.
6618 (CODING_MAY_REQUIRE_NO_CONVERSION): New macro.
6619
6620 * fileio.c (Finsert_file_contents): Use new macros
6621 CODING_MAY_REQUIRE_NO_CONVERSION and
6622 CODING_MAY_REQUIRE_NO_CONVERSION.
6623 (Fwrite_region): Correct the logic for deciding coding system.
6624
6625 * process.c (read_process_output): Use new macro
6626 CODING_REQUIRE_NO_CONVERSION
6627 (send_process): Use new macro CODING_MAY_REQUIRE_NO_CONVERSION.
6628
6629 * xterm.c (dumpglyphs): Check the member `encoding' of *FONTP while
6630 setting `byte1' and `byte2' members of *CP.
6631
6632 1997-07-24 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6633
6634 * Makefile.in (${lispsource}TAGS): Specify ETAGS var in inner make.
6635
6636 * print.c (Vprint_gensym_alist): Renamed from printed_gensyms.
6637 (Vprint_gensym): Now a Lisp_Object; Renamed from print_gensym.
6638 (syms_of_print): Set up both as Lisp vars.
6639 (PRINTPREPARE, PRINTFINISH): Don't clear Vprint_gensym_alist
6640 if Vprint_gensym is a cons cell.
6641
6642 * Makefile.in (../src/$(OLDXMENU)): New target.
6643
6644 * xselect.c (selection_data_to_lisp_data):
6645 Make the vector the right size, when format is 16.
6646
6647 * emacs.c (main): Make --help msg end in newline.
6648
6649 * xfns.c (Fx_create_frame): Don't fail to initialize `font'.
6650
6651 * syntax.c (Fforward_comment): When count1 is negative,
6652 return nil if FROM reaches STOP.
6653
6654 * editfns.c (Fcurrent_message): New function.
6655 (syms_of_editfns): defsubr it.
6656
6657 1997-07-23 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
6658
6659 * xterm.c (XTread_socket): Trap the BadMatch error that can occur
6660 after a XSetInputFocus if window is not visible.
6661
6662 1997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6663
6664 * xterm.c (XTread_socket) <ClientMessage>: Use FRAME_X_WINDOW
6665 when calling XSetInputFocus.
6666
6667 * buffer.c (syms_of_buffer): Doc fix.
6668
6669 * eval.c (syms_of_eval): Doc fix.
6670
6671 1997-07-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6672
6673 * xdisp.c (display_text_line): Don't count minibuf_prompt_width
6674 twice in taboffset.
6675
6676 * coding.c (syms_of_coding): Doc fix.
6677
6678 1997-07-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6679
6680 * s/sol2.h (LIBS_SYSTEM): Undo previous change.
6681 (HAVE_LIBKSTAT): Define it.
6682
6683 * minibuf.c (choose_minibuf_frame_1): New function.
6684 (read_minibuf): Make an unwind protect to run that.
6685 (read_minibuf_unwind): Don't call choose_minibuf_frame here.
6686
6687 * keyboard.c (read_char): Delete spurious UNGCPRO.
6688 Add UNGCPRO before the longjmps to wrong_kboard_jmpbuf.
6689 Initialize c before the GCPRO1.
6690
6691 * frame.c (Fdelete_frame): Undo previous change.
6692
6693 * s/hpux8.h (LD_SWITCH_SYSTEM_TEMACS): Define this
6694 instead of LD_SWITCH_SYSTEM.
6695
6696 * window.c (set_window_height): Allow all heights > 0
6697 for minibuffer windows.
6698 (change_window_height): Fix one-off comparing DELTA with MAXIMUM.
6699
6700 * xfns.c (Fx_create_frame): Default vertical-scroll-bars
6701 as symbol, not boolean.
6702
6703 1997-07-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6704
6705 * process.c (wait_reading_process_input): Initialize total_read.
6706 Check for read_process_output giving back EIO.
6707
6708 * keyboard.c (Fcommand_execute): gcpro c.
6709
6710 1997-07-20 Geoff Voelker <voelker@cs.washington.edu>
6711
6712 * w32term.c (w32_clear_end_of_line): Include scroll bar width.
6713
6714 1997-07-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6715
6716 * s/irix6-0.h: Undo previous change.
6717
6718 * xterm.c (XTread_socket) <ClientMessage>:
6719 Don't use FRAME_XIC if it is null, here.
6720
6721 * puresize.h (BASE_PURESIZE): Increased to 410000.
6722
6723 * xdisp.c (redisplay_internal): Calculate new_count properly
6724 for non-window displays.
6725
6726 1997-07-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6727
6728 * minibuf.c (Fcompleting_read): gcpro def.
6729
6730 * xterm.c (XTread_socket) <ClientMessage>:
6731 For wm_take_focus, use x_any_window_to_frame.
6732
6733 * fileio.c (Fread_file_name): If Fcompleting_read return the default
6734 because the buffer want empty, replace that with an empty string.
6735
6736 1997-07-18 Simon Marshall <simon@diazepam.gnu.ai.mit.edu>
6737
6738 * data.c: Many doc fixes.
6739
6740 1997-07-17 Geoff Voelker <voelker@cs.washington.edu>
6741
6742 * coding.c (Ffind_operation_coding_system): Use Ffboundp to
6743 check for a function entry.
6744
6745 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the coding
6746 system to determine buffer_file_type.
6747 (Fwrite_region): Only use Qbuffer_file_coding_system
6748 before checking file-coding-system-alist if non-nil.
6749 (Fwrite_region) [DOS_NT]: Delete conditional code.
6750
6751 1997-07-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6752
6753 * dispnew.c (direct_output_forward_char): Reenable check against
6754 truncated text at end of line.
6755
6756 * xdisp.c (display_string): Ignore W->left if OBEY_WINDOW_WIDTH is
6757 zero.
6758
6759 1997-07-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6760
6761 * xterm.c (dumpglyphs): Use 8-bit output to X, rather than 16-bit,
6762 if the character values permit that.
6763
6764 * .gdbinit (xcar, xcdr): Print with /x.
6765
6766 * fileio.c (Fdo_auto_save): Temporarily clear minibuffer_auto_raise.
6767
6768 1997-07-17 enami tsugutomo <enami@but-b.or.jp>
6769
6770 * xdisp.c (decode_mode_spec_coding): Fix typo; use `val' instead
6771 of `coding-system'.
6772
6773 1997-07-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6774
6775 * xdisp.c (display_text_line): Handle the case of point being in
6776 the invisible part of the line beyond the left margin.
6777
6778 1997-07-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6779
6780 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix previous change.
6781
6782 1997-07-15 Kenichi HANDA <handa@etl.go.jp>
6783
6784 * coding.h (CODING_CATEGORY_IDX_ISO_7_ELSE): This macro is deleted
6785 (CODING_CATEGORY_IDX_ISO_7_ELSE): New macro.
6786 (CODING_CATEGORY_IDX_ISO_8_ELSE): New macro
6787 (CODING_CATEGORY_MASK_ISO_ELSE): This macro is deleted.
6788 (CODING_CATEGORY_MASK_ISO_7_ELSE): New macro.
6789 (CODING_CATEGORY_MASK_ISO_8_ELSE): New macro.
6790 (CODING_CATEGORY_MASK_ANY): Adjusted for the above change.
6791
6792 * coding.c (detect_coding_iso2022): Distinguish
6793 coding-category-iso-7-else and coding-category-iso-8-else.
6794
6795 1997-07-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6796
6797 * unexalpha.c (unexec):
6798 Don't call update_dynamic_symbols if static link.
6799
6800 * keyboard.c (read_char): Call timer_stop_idle unconditionally
6801 at non_reread.
6802
6803 * keyboard.c (make_lispy_event): Distinguish S-SPC from SPC.
6804
6805 * cmds.c (internal_self_insert): Use replace_range when
6806 number_to_delete is nonzero.
6807
6808 * insdel.c (replace_range): New function.
6809
6810 * keyboard.c (make_lispy_event): Handle non_ascii_keystroke
6811 in the ASCII range.
6812
6813 * xterm.c (XTread_socket): Treat SPC as a function key.
6814
6815 1997-07-13 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
6816
6817 * xterm.c (x_draw_box): Use scratch_cursor_gc to draw the cursor
6818 box using the color specified by cursor_pixel.
6819
6820 1997-07-13 Eli Zaretskii <eliz@is.elta.co.il>
6821
6822 * fileio.c (Fwrite_region) [DOS_NT]: Always use binary mode since
6823 coding conversion now takes care of NL -> CRLF.
6824
6825 * callproc.c (Fcall_process) [MSDOS]: Request EOL conversion of
6826 the process output, unless we were promised it is binary.
6827
6828 * coding.c: Substantial comment changes.
6829
6830 * lread.c (init_lread): Don't add to load-path lisp subdirectories
6831 of the source tree if the parent of the source was moved after
6832 dumping Emacs.
6833
6834 1997-07-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6835
6836 * search.c (compile_pattern_1): Don't declare val with CONST.
6837
6838 * cmds.c (internal_self_insert): When overwriting, insert first
6839 and then delete.
6840
6841 1997-07-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6842
6843 * s/irix4-0.h (XPointer): Define as macro.
6844
6845 * emacs.c (main): Use setrlimit only if RLIMIT_STACK.
6846
6847 1997-07-11 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
6848
6849 * xdisp.c (decode_mode_spec): Initialize and use `p' (for the termcap
6850 case).
6851
6852 * dispnew.c (init_display): Go ahead and prepare for
6853 a X configuration in the CANNOT_DUMP case.
6854
6855 1997-07-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6856
6857 * editfns.c (get_system_name): Don't crash if Vsystem_name does
6858 not contain a string.
6859 * filelock.c (lock_file_1): Don't crash if Fuser_login_name or
6860 Fsystem_name don't return strings.
6861 (current_lock_owner): Likewise.
6862
6863 * ralloc.c (r_alloc_reinit): New function.
6864 * emacs.c (main) [DOUG_LEA_MALLOC]: Call it when restarting a
6865 dumped Emacs.
6866
6867 1997-07-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6868
6869 * m/news-r6.h: Renamed from news-risc6.h.
6870
6871 1997-07-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6872
6873 * xdisp.c (display_text_line): Exit the outer loop immediately
6874 when the right margin has been reached.
6875
6876 * lisp.h (EXFUN, P_): New definitions. Use them to declare
6877 prototypes for external functions.
6878
6879 * xterm.c (dumpglyphs): Declare local variable first_ch as
6880 Lisp_Object, not int.
6881 * xselect.c (selection_data_to_lisp_data): Convert Fmake_vector
6882 and Faset arguments to Lisp_Integer.
6883 (clean_local_selection_data): Likewise.
6884 * x-list-font.c (Fx_list_fonts): Fix Fnconc argument.
6885 * window.c (Fcoordinates_in_window_p): Convert Fcons arguments to
6886 Lisp_Integer.
6887 (save_window_save): Convert Fset_marker argument to Lisp_Integer.
6888 * textprop.c (interval_of): Convert args_out_of_range arguments to
6889 Lisp_Integer.
6890 * syntax.c (init_syntax_once): Convert Fmake_vector argument to
6891 Lisp_Integer.
6892 * process.c (Fprocess_send_region): Convert move_gap argument to int.
6893 * mocklisp.c (Fml_arg): Add missing Fread_string arguments.
6894 * minibuf.c (Fread_from_minibuffer): Remove extra get_keymap argument.
6895 (Fminibuffer_complete): Convert Fset_window_start argument to
6896 Lisp_Integer.
6897 * keyboard.c (command_loop_1): Add missing message2 argument.
6898 (menu_bar_items): Add missing get_keyelt argument.
6899 (follow_key): Likewise.
6900 (read_key_sequence): Likewise.
6901 * intervals.c (set_point): Convert call2 arguments to Lisp_Integer.
6902 * fileio.c (Fwrite_region): Fix call2 argument.
6903 (Fread_file_name): Convert Fcons argument to Lisp_Integer.
6904 * editfns.c (Fcurrent_time_zone): Convert Fmake_list argument to
6905 Lisp_Integer.
6906 (Ftranspose_regions): Convert Fset_text_properties arguments to
6907 Lisp_Integer.
6908 * doc.c (Fsubstitute_command_keys): Add missing describe_map_tree
6909 argument.
6910 * coding.c (Ffind_coding_system): Use call1, not call2.
6911 * cmds.c (Fdelete_backward_char): Convert Finsert_char argument to
6912 Lisp_Integer and add missing argument.
6913 (internal_self_insert): Convert Fmove_to_column argument to
6914 Lisp_Integer and add missing argument.
6915 * ccl.c (Fregister_ccl_program): Convert Fmake_vector argument to
6916 Lisp_Integer.
6917 (syms_of_ccl): Likewise.
6918 * category.h (CATEGORY_DOCSTRING): Convert Fchar_table_extra_slot
6919 argument to Lisp_Integer.
6920 (CATEGORY_TABLE_VERSION): Likewise.
6921 * buffer.c (set_buffer_internal_1): Convert Fset_marker argument
6922 to Lisp_Integer.
6923 (set_buffer_temp): Likewise.
6924 (fix_overlays_in_range): Likewise.
6925
6926 * xdisp.c (message2_nolog): Don't call fwrite will null string.
6927
6928 1997-07-10 Geoff Voelker <voelker@cs.washington.edu>
6929
6930 * w32.c (sys_shutdown): New function.
6931 * s/ms-win32.h: Define HAVE_SHUTDOWN.
6932
6933 1997-07-10 Eli Zaretskii <eliz@pogo.gnu.ai.mit.edu>
6934
6935 * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer
6936 only if HAVE_X_WINDOWS is defined.
6937
6938 1997-07-09 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
6939
6940 * xdisp.c (echo_area_display): Don't offset using left-side
6941 scroll bar width because it is included in the width; clear
6942 the entire line.
6943
6944 1997-07-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6945
6946 * process.c (read_process_output): Add cast.
6947
6948 * filelock.c (current_lock_owner, lock_file_1): Add casts.
6949
6950 * xdisp.c (redisplay_internal): Fix previous change.
6951
6952 * s/irix4-0.h (C_SWITCH_SYSTEM): Add -Wf,-XNh option.
6953
6954 * s/ms-w32.h: Don't define HAVE_SHUTDOWN.
6955
6956 * frame.c (Fdelete_frame): Always err for deleting the only frame.
6957
6958 1997-07-09 Kenichi HANDA <handa@etl.go.jp>
6959
6960 * fontset.c (Ffont_info): Make vector of correct size.
6961
6962 * xterm.c (x_load_font): Get value of fontp->height from
6963 ascent and descent members of structure font->max_bounds.
6964 (dumpglyphs): Draw background by FillSolid if a font is too short.
6965
6966 1997-07-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6967
6968 * xterm.c (x_term_init): Don't use initializer for null_bits.
6969
6970 * cm.h, sysdep.c, terminfo.c: Fix previous change.
6971
6972 * fns.c (syms_of_fns): Fix previous change.
6973
6974 * xdisp.c (decode_mode_spec) <z,Z>: Display buffer coding system
6975 last of the three.
6976
6977 * doprnt.c: Use #ifdef to test STDC_HEADERS.
6978
6979 * Makefile.in (shortlisp): Fix typo.
6980
6981 1997-07-08 enami tsugutomo <enami@but-b.or.jp>
6982
6983 * emacs.c (main) [__NetBSD__]: Round up new stack limit to page bdry.
6984
6985 * fileio.c (Finsert_file_contents): Give up match-end only if
6986 coding requires conversion. Adjust end of non-matching text area
6987 to multibyte character boundary if enable_multibyte_character is
6988 non-nil.
6989
6990 1997-07-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
6991
6992 * xdisp.c (decode_mode_spec_coding): Really don't display
6993 EOL indicator when eol_flag is 0.
6994 (echo_area_display): Use proper width when scroll bars on left.
6995
6996 * syntax.h (struct gl_state_s): New field `offset'.
6997 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set offset field.
6998 (SETUP_SYNTAX_TABLE): Clear offset field.
6999 (UPDATE_SYNTAX_TABLE, UPDATE_SYNTAX_TABLE_FORWARD):
7000 (UPDATE_SYNTAX_TABLE_BACKWARD): Use the offset field.
7001
7002 * s/sol2.h (LIBS_SYSTEM): Add -lkvm and -lelf.
7003
7004 1997-07-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7005
7006 * editfns.c (Fuser_full_name): Declare p, q and r as unsigned char *.
7007
7008 * xterm.c (XTread_socket) <KeyPress>: Call XFilterEvent.
7009
7010 * terminfo.c (ospeed):
7011 Define as short, unless HAVE_TERMIOS_H and LINUX.
7012
7013 * cm.h (ospeed): Declare as short unless HAVE_TERMIOS_H and LINUX.
7014 * sysdep.c (ospeed): Likewise.
7015
7016 * window.c: Include blockinput.h.
7017 (Fset_window_configuration): Block input around frobbing the frame.
7018 Preseve point in the current buffer if we do not switch
7019 to a different one.
7020
7021 1997-07-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7022
7023 * xdisp.c (redisplay_internal): Fix previous change.
7024 (echo_area_display): Use proper vpos when clearing extra minibuf lines.
7025
7026 1997-07-04 Kenichi HANDA <handa@etl.go.jp>
7027
7028 * callproc.c (Fcall_process): If enable-multibyte-characters is
7029 nil, do not encode arguments for process, and decode output of
7030 process by emacs-mule.
7031 (Fcall_process_region): If enable-multibyte-characters is nil, do
7032 not encode text to be given to process, and decode output of
7033 process by emacs-mule.
7034
7035 * process.c (Fstart_process): If enable-multibyte-characters is
7036 nil, set coding system for decoding output of process to
7037 emacs-mule, and set coding system for encoding to nil.
7038 (Fopen_network_stream): If enable-multibyte-characters is nil, set
7039 coding systems for decoding and encoding to nil.
7040
7041 * fileio.c (Finsert_file_contents): If enable-multibyte-characters
7042 is nil, decode character code by emacs-mule.
7043 (Fwrite_region): Use buffer-file-coding-system for encoding if
7044 enable-multibyte-characters is nil.
7045
7046 * coding.c (Qemacs_mule, inhibit_eol_conversion): New variables.
7047 (setup_coding_system): If inhibit_eol_conversion is 0, set
7048 coding->eol_type to CODING_EOL_LF.
7049 (syms_of_coding): Initialize and staticpro Qemacs_mule. Change
7050 error-message property of coding-system-error. Declare
7051 inhibit-eol-conversion as Lisp variable.
7052 (system_eol_type): New variable.
7053 (init_coding_once): Initialize it.
7054 (ENCODE_SJIS_BIG5_CHARACTER): Bug in encoding a BIG5 character
7055 fixed.
7056
7057 * coding.h (Qemacs_mule): Extern it.
7058
7059 * xterm.c (x_list_fonts): Initialize the variable LIST to Qnil.
7060
7061 1997-07-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7062
7063 * xdisp.c (display_menu_bar): Always pass W to display_string.
7064
7065 * unexalpha.c (update_dynamic_symbols): Add cast when setting reladdr.
7066
7067 * sysdep.c (init_system_name): Don't be fooled if getdomainname
7068 string starts with a period.
7069
7070 1997-07-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7071
7072 * xdisp.c (redisplay_internal): At the end, if more frames have
7073 become visible, repeat the redisplay.
7074 (decode_mode_spec): Don't display subprocess coding systems.
7075 Don't display EOL for keyboard and terminal coding systems.
7076
7077 * xfns.c (x_set_font): Funcall Qface_set_after_frame_default.
7078 (Qface_set_after_frame_default): New variable.
7079 (syms_of_xfns): Initialize and staticpro it.
7080
7081 * xterm.c (x_make_frame_visible): Don't move the frame
7082 if it was iconified--only if it was invisible.
7083
7084 1997-07-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7085
7086 * gmalloc.c: Rename macro __P to PP.
7087
7088 * floatfns.c, data.c, doprnt.c: Include float.h before lisp.h.
7089
7090 * dired.c (Ffile_attributes): Use cast to avoid warnings.
7091
7092 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Treat nil like a buffer.
7093
7094 * lread.c (Vpreloaded_file_list): New variable.
7095 (syms_of_lread): Set up Lisp variable.
7096 (Fload): Add to Vpreloaded_file_list, if dumping.
7097
7098 1997-07-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7099
7100 * editfns.c (Fformat): Add second argument in call to Ftruncate.
7101
7102 * alloc.c, buffer.c, casefiddle.c, casetab.c, category.c,
7103 category.h, ccl.c, coding.c, editfns.c, fileio.c, fns.c, indent.c,
7104 intervals.c, intervals.h, keymap.c, lisp.h, minibuf.c, print.c,
7105 syntax.c, syntax.h, sysdep.c, textprop.c, xfns.c: Fix numerous
7106 bugs with inappropriate mixing of Lisp_Object with int.
7107 * config.in (RE_TRANSLATE): Define to extract integers from
7108 array of Lisp_Objects.
7109
7110 1997-07-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7111
7112 * buffer.c (overlay_strings): Finish up previous change.
7113
7114 * Makefile.in (lisp, shortlisp): Some files moved to subdirs.
7115
7116 1997-07-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7117
7118 * s/sunos4shr.h (LD_SWITCH_SYSTEM_TEMACS): Add #undef.
7119
7120 * syssignal.h [sigmask] (SIGEMPTYMASK): Define to use sigmask.
7121
7122 * eval.c (Fsignal, find_handler_clause): If ERROR_SYMBOL
7123 is nil, assume it's in the car of DATA.
7124 * alloc.c (memory_full): Pass Qnil to Fsignal for ERROR_SYMBOL.
7125
7126 * s/sunos4-0.h (LD_SWITCH_SYSTEM_TEMACS): Defined. Move -e here.
7127 (LD_SWITCH_SYSTEM): Don't use -e option here.
7128
7129 * Makefile.in (ALL_LDFLAGS): Use LD_SWITCH_SYSTEM_TEMACS.
7130
7131 1997-07-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7132
7133 * process.c (send_process): Make buf and temp_buf `unsigned char *'.
7134
7135 * buffer.c (overlay_strings): Use unsigned char for things
7136 that relate to overlay_str_buf.
7137
7138 * syssignal.h (sigpause): Don't define if already defined.
7139
7140 * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable.
7141
7142 1997-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7143
7144 * Makefile.in (lisp, shortlisp): Add widget.elc.
7145
7146 1997-07-02 Kenichi Handa <handa@etl.go.jp>
7147
7148 * xselect.c (selection_data_to_lisp_data): Call free instead of
7149 xfree.
7150
7151 * coding.h (struct coding_system): New members
7152 character_unification_table_for_decode and
7153 character_unification_table_for_encode.
7154
7155 * coding.c (Vstandard_character_unification_table_for_decode):
7156 Name changed from Vstandard_character_unification_table_for_read.
7157 (Vstandard_character_unification_table_for_encode): Name changed
7158 from Vstandard_character_unification_table_for_write.
7159 (Qcharacter_unification_table_for_decode): New variable.
7160 (Qcharacter_unification_table_for_encode): New variable.
7161 (decode_coding_iso2022): Adjusted for the above name change.
7162 (encode_coding_iso2022): Likewise.
7163 (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char
7164 fixed.
7165 (DECODE_SJIS_BIG5_CHARACTER): New macro.
7166 (decode_coding_sjis_big5): Handle character unificatoin table.
7167 Use macro DECODE_SJIS_BIG5_CHARACTER.
7168 (encode_coding_sjis_big5): Handle character unificatoin table.
7169 Use macro ENCODE_SJIS_BIG5_CHARACTER.
7170 (setup_coding_system): Handle members
7171 character_unification_table_for_decode and
7172 character_unification_table_for_encode of the variable coding.
7173 (Ffind_operation_coding_system): Renamed from Ffind_coding_system.
7174 (syms_of_coding): Initialize and staticpro
7175 Qcharacter_unification_table_for_decode and
7176 Qcharacter_unification_table_for_decode. Declare
7177 Ffind_operation_coding_system as Lisp functions. Declare
7178 Vstandard_character_unification_table_for_decode and
7179 Vstandard_character_unification_table_for_encode as Lisp
7180 variables.
7181
7182 * charset.c (Fchar_width): Check if the current buffer has display
7183 table.
7184
7185 * fileio.c (Finsert_file_contents): Doc-string fixed. Call
7186 Ffind_operation_coding_system.
7187 (Fwrite_region): Call Ffind_operation_coding_system.
7188
7189 * callproc.c: Call Ffind_operation_coding_system.
7190
7191 * process.c (Fstart_process): Call Ffind_operation_coding_system.
7192 (Fopen_network_stream): Likewise.
7193
7194 * fontset.h: Move "#endif /* _FONTSET_H */" at the tail.
7195
7196 1997-07-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7197
7198 * sysdep.c (init_system_name): Don't accept "(none)" as domain.
7199
7200 * xterm.c (x_make_frame_visible): Check has_been_visible
7201 field before the UNBLOCK_INPUT.
7202
7203 1997-07-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7204
7205 * coding.c (syms_of_coding): Change initial values of
7206 eol_mnemonic_... variables.
7207
7208 * xdisp.c (decode_mode_spec_coding): Clean up handling of
7209 eol conversions.
7210
7211 * .gdbinit (xcons): Print car and cdr in hex.
7212 (nextcons): New command.
7213
7214 * xfns.c (x_set_scroll_bar_width): By default, use enough
7215 columns to give 14 or more pixels.
7216
7217 1997-06-30 Geoff Voelker <voelker@cs.washington.edu>
7218
7219 * emacs.c (decode_env_path): Ensure path elements use proper
7220 directory separator.
7221
7222 * keyboard.c (make_lispy_event):
7223 Check that ISO_FUNCTION_KEY_OFFSET is defined.
7224
7225 * process.c (READ_CHILD_OUTPUT): Deleted.
7226 (read_process_output): Use read instead of READ_CHILD_OUTPUT.
7227
7228 * makefile.nt (OBJ2): Include new source files.
7229
7230 * s/ms-w32.h: Duplicate undefs from config.in to check completeness.
7231 (STDC_HEADERS, HAVE_TZNAME, HAVE_MKTIME): Define to have a value.
7232 (HAVE_GETPAGESIZE, HAVE_SETLOCALE, HAVE_SHUTDOWN, HAVE_TZSET,
7233 HAVE_LIMITS_H, HAVE_STRERROR): Define.
7234 [HAVE_NTGUI] (HAVE_MENUS): Define.
7235 (SYSTEM_PURESIZE_EXTRA): Increase value.
7236
7237 * unexw32.c, w32heap.c: Add pragma to force zero initialized
7238 data into .data segment.
7239
7240 * w32console.c, w32term.c: Include charset.h.
7241
7242 * w32fns.c (syms_of_w32fns): Delete defsubrs of Sfocus_frame and
7243 Sunfocus_frame.
7244
7245 * w32heap.c (getpagesize): Define.
7246
7247 1997-06-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7248
7249 * editfns.c (Fformat_time_string): Move doc string outside DEFUN.
7250
7251 * buffer.c (overlay_str_buf): Declare as unsigned char *.
7252
7253 * fns.c (Fy_or_n_p, Fyes_or_no_p): Obey use_dialog_box.
7254 (use_dialog_box): New variable, controls whether to use dialog boxes.
7255 (syms_of_fns): Set up Lisp variable.
7256
7257 1997-06-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7258
7259 * buffer.c (syms_of_buffer): enable-multibyte-characters is a user var.
7260
7261 * callproc.c (Fcall_process): Fix previous change.
7262
7263 * fns.c (concat): Use XCONS rather than Fcar, Fcdr--for known cons.
7264 (Fassq, assq_no_quit, Fassoc, Frassq, Frassoc, Fdelq): Likewise.
7265 (Fdelete, Fplist_get, mapcar1, Fmember, Fmemq): Likewise.
7266
7267 * lread.c (init_lread): Add leim subdir, like lisp subdir.
7268
7269 * syntax.c (scan_sexps_forward): Split up a complex if-test.
7270
7271 * keyboard.c (read_char): Add a call to swallow_events
7272 when deciding whether to redisplay.
7273 (swallow_events): Add forward declaration.
7274
7275 * sysdep.c [HAVE_TERMIOS_H]: Include termios.h.
7276
7277 * callproc.c (Fcall_process): Avoid storing alloca result
7278 directly into array element.
7279
7280 * process.c (wait_reading_process_input): If wait_for_cell,
7281 do check for keyboard input and swallow events, just don't exit.
7282 (max): New macro.
7283 (wait_reading_process_input): Pass a smaller first arg to select.
7284
7285 * buffer.c (Fbury_buffer): Undo previous change.
7286
7287 1997-06-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7288
7289 * window.c (temp_output_buffer_show):
7290 Copy default-directory from current buffer.
7291
7292 * cm.h (ospeed): Always use `extern' in the declaration.
7293
7294 * Makefile.in (lisp, shortlisp): Some files are in international/.
7295
7296 * unexelf.c [__NetBSD__]: Add some conditionals for NetBSD.
7297
7298 * unexelf1.c: File deleted.
7299
7300 1997-06-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7301
7302 * s/unixware.h: New file.
7303
7304 1997-06-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7305
7306 * fileio.c (Finsert_file_contents):
7307 Pass new arg to prepare_to_modify_buffer.
7308
7309 * insdel.c (prepare_to_modify_buffer, signal_before_change):
7310 New argument PRESERVE_PTR.
7311 (del_range_1): Use PRESERVE_PTR to preserve FROM.
7312 Save the length of the range separately.
7313 (NULL): Define if not defined.
7314
7315 1997-06-23 Karl Heuer <kwzh@gnu.ai.mit.edu>
7316
7317 * fileio.c (Ffile_directory_p): Doc fix.
7318
7319 1997-06-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7320
7321 * buffer.c (Fbuffer_list): New optional argument FRAME.
7322
7323 * fns.c (Freverse): Simplify.
7324
7325 1997-06-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7326
7327 * s/bsdos3.h: New file.
7328
7329 * s/bsdos2.h (KERNEL_FILE): New overriding definition.
7330
7331 * keyboard.c (read_avail_input): Check for failure with EIO.
7332
7333 * s/gnu-linux.h (LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
7334
7335 * m/mips.h: Test __linux__ along with NEWSOS5.
7336 (KERNEL_FILE, UNEXEC): Don't redefine them if __linux__.
7337 [__linux__] (TEXT_START, DATA_START, DATA_SEG_BITS):
7338 Alternate definitions.
7339
7340 * emacs.c (Fdump_emacs): Bind command-line-processed to nil here.
7341
7342 * xdisp.c (init_xdisp): Pay attention to FRAME_MENU_BAR_LINES.
7343
7344 * emacs.c (Fdump_emacs): Error if not run in batch mode.
7345
7346 * s/hpux10.h (LIBS_TERMCAP): Use -ltermcap instead of -lc.
7347
7348 * unexelf.c [__sony_news && _SYSTYPE_SYSV]: Include sym.h
7349 and sys/elf_mips.h.
7350 (unexec): Add __sony_news && _SYSTYPE_SYSV conditionals.
7351 Add a _nec_ews_svr4 conditional.
7352
7353 * s/newsos6.h: New file.
7354
7355 * m/news-risc6.h: New file.
7356
7357 * frame.c (Fdelete_frame): Clear echo_area_glyphs if it was
7358 in this frame.
7359
7360 * process.c (wait_reading_process_input): Don't check for
7361 keyboard input if wait_for_cell.
7362
7363 * minibuf.c (read_minibuf): New arg allow_props.
7364 If it is 0, discard text properties from the result. Callers changed.
7365 (minibuffer_allow_text_properties): New variable.
7366 (Fread_from_minibuffer): That variable controls allow_props arg.
7367 (syms_of_minibuf): Set up Lisp var.
7368
7369 1997-06-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7370
7371 * insdel.c (del_range_1): Make markers for TO and FROM
7372 in case prepare_to_modify_buffer changes the text.
7373
7374 1997-06-21 Kenichi Handa <handa@etl.go.jp>
7375
7376 * fontset.h (font_idx_temp): Extern it.
7377 (FS_LOAD_FONT): New macro.
7378
7379 * fontset.c (font_idx_temp): New temprary variable used in
7380 FS_LOAD_FONT.
7381
7382 * xfaces.c (Fset_face_attribute_internal): Use FS_LOAD_FONT
7383 instead of calling fs_load_font directly.
7384
7385 * xterm.c (dumpglyphs): Use FS_LOAD_FONT.
7386 (x_new_fontset): If frame F has already using FONTSET, avoid the
7387 duplicated work. Use FS_LOAD_FONT.
7388 (x_list_fonts): Call Fassoc to search Valternate_charset_table.
7389 (x_load_font): Get around a buf of XListFonts
7390
7391 1997-06-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7392
7393 * print.c (Ferror_message_string): Optimize (error STRING) case.
7394
7395 1997-06-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7396
7397 * process.c (Fprocess_send_eof): Properly conditionalize prev. change.
7398
7399 1997-06-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7400
7401 * process.c (Fprocess_send_eof): Use shutdown, if it's a socket.
7402 Don't close the output descriptor if that is also the input descriptor.
7403
7404 * config.in (HAVE_SHUTDOWN): Add #undef.
7405
7406 * editfns.c (Fchar_before): Validate N after decrementing.
7407 Don't use POS as integer.
7408
7409 1997-06-18 Kenichi Handa <handa@etl.go.jp>
7410
7411 * coding.c (detect_coding_iso2022): Initilize mask correctly.
7412
7413 * fns.c (concat): Pay attention to multibyte characters when
7414 TARGET_TYPE is Lisp_String.
7415
7416 1997-06-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7417
7418 * process.c (wait_reading_process_input): Fix previous change.
7419
7420 1997-06-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7421
7422 * fileio.c (Fdo_auto_save): Use stdio to write the save-list file.
7423
7424 * fileio.c (Finsert_file_contents): Don't give up on the fast
7425 replace method if the coding remains undecided.
7426
7427 1997-06-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7428
7429 * process.c (wait_reading_process_input): When exiting because
7430 the process WAIT_PROC has terminated, first read all its output.
7431
7432 1997-06-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7433
7434 * editfns.c (Fchar_after, Fchar_before): Make arg optional.
7435
7436 1997-06-14 Karl Heuer <kwzh@gnu.ai.mit.edu>
7437
7438 * buffer.h (point): Obsolete macro deleted in favor of PT.
7439 * editfns.c (Fprevious_char): Use PT, not point.
7440 * cmds.c (internal_self_insert): Use PT, not point.
7441
7442 1997-06-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7443
7444 * bytecode.c (Bread_char): Deleted.
7445 (Bsave_current_buffer_1): New byte code.
7446 (Fbyte_code): Delete handling Bread_char.
7447 Handle Bsave_current_buffer_1 like Bsave_current_buffer.
7448
7449 1997-06-11 Paul Eggert <eggert@twinsun.com>
7450
7451 * callproc.c (Fcall_process): Use setsid to disconnect child
7452 process from controlling terminal.
7453
7454 1997-06-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7455
7456 * unexalpha.c (unexec): Call update_dynamic_symbols unconditionally.
7457 (update_dynamic_symbols): Define unconditionally, but do nothing
7458 if __linux__or __NetBSD__.
7459
7460 * s/netbsd.h (HAVE_TEXT_START, START_FILES, UNEXEC):
7461 Don't define these if __ELF__.
7462 (RUN_TIME_REMAP, N_PAGSIZ, N_BSSADDR, N_TRELOFF): Likewise.
7463
7464 * m/alpha.h (TEXT_END, COFF, DATA_END):
7465 Define them if __NetBSD__ just as if LINUX.
7466 (HAVE_TEXT_START): Define, if __NetBSD__ and __ELF__.
7467
7468 1997-06-10 Erik Naggum <erik@naggum.no>
7469
7470 * fileio.c (Fwrite_region): Fix previous doc change.
7471
7472 1997-06-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7473
7474 * process.c (wait_reading_process_input): Return if unread events
7475 appear.
7476
7477 * keyboard.c (kbd_buffer_get_event): When wait_reading_process_input
7478 returns, check Vunread_command_events.
7479
7480 1997-06-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7481
7482 * sysdep.c (init_sys_modes): Enable VSTART and VSTOP
7483 if flow_control.
7484
7485 * editfns.c (Finsert_char): Check QUIT.
7486
7487 * fontset.c (list_fontsets, fs_load_font):
7488 fast_c_string_match_ignore_case renamed.
7489
7490 * xterm.c (x_list_fonts): fast_c_string_match_ignore_case renamed.
7491
7492 * search.c (fast_c_string_match_ignore_case):
7493 Renamed from fast_string_match_ignore_case. Set re_match_object.
7494
7495 1997-06-09 Kenichi Handa <handa@etl.go.jp>
7496
7497 * buffer.c (init_buffer_once): Inititialize the member
7498 buffer_file_coding_system.
7499 (syms_of_buffer): Declare Lisp variables
7500 default-buffer-file-coding-system and buffer-file-coding-system.
7501
7502 * buffer.h (struct buffer): New member buffer_file_coding_system.
7503
7504 * coding.c (Vcoding_system_alist): Deleted.
7505 (Qcoding_system_spec): Renamed from Qcoding_system_vector.
7506 (Vdefault_process_coding_system, Vfile_coding_system_alist,
7507 Vprocess_coding_system_alist, Vnetwork_coding_system_alist): New
7508 variables.
7509 (Ffind_coding_system): Adjusted for the above change.
7510 (syms_of_coding): Declare them as lisp variables.
7511 (Fcheck_coding_system): Pass list as DATA argument to Fsignal.
7512
7513 * coding.h (Vdefault_process_coding_system): Extern it.
7514
7515 * callproc.c (Fcall_process): Pay attention to
7516 Vdefault_process_coding_system.
7517 (Fcall_process_region): Likewise.
7518
7519 * process.c (Fstart_process): Likewise.
7520 (Fopen_network_stream): Likewise.
7521
7522 * xdisp.c (decode_mode_spec): Access the value of
7523 buffer-file-coding-system by b->buffer_file_coding_system.
7524
7525 * fileio.c (Fwrite_region): Cancel the 7th argument CODING_SYSTEM
7526 added by the previous change.
7527 (auto_save_1): Adjusted for the above change.
7528
7529 * data.c (Faset): Inherit default value correctly while creating
7530 sub char table.
7531
7532 * xselect.c (selection_data_to_lisp_data): Change coding system
7533 name to iso-latin-1.
7534 (lisp_data_to_selection_data): Likewise.
7535
7536 * xterm.c (dumpglyph): Shift baseline for such a font that is
7537 shorter but ascent or descent exceed the line height.
7538 For a larger font, draw a small hook at right-bottom edge instead
7539 of a rectangle.
7540
7541 1997-06-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7542
7543 * keymap.c (Fcopy_keymap): After copying a sub-char-table,
7544 do store the copy.
7545
7546 1997-06-04 Kenichi Handa <handa@etl.go.jp>
7547
7548 * casefiddle.c (casify_object): Fix bug on handling a character
7549 argument.
7550
7551 1997-06-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7552
7553 * s/netbsd.h (NO_SHARED_LIBS): Test __alpha__ && ! __ELF__.
7554
7555 * keyboard.c (syms_of_keyboard): Doc fix.
7556
7557 * search.c (Freplace_match): If opoint is 0, that's relative to ZV.
7558
7559 * intervals.c (find_interval): No longer inline.
7560
7561 1997-06-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7562
7563 * lisp.h (VALMASK, GCTYPEMASK, MARKBIT, ARRAY_MARK_FLAG)
7564 (PSEUDOVECTOR_FLAG, enum pvec_type, PSEUDOVECTOR_SIZE_MASK):
7565 Define regardless of NO_UNION_TYPE.
7566
7567 * xfns.c (Fx_create_frame): Use XINT to access parent.
7568
7569 * syntax.c (Fsyntax_table_p, check_syntax_table): Use EQ.
7570 (Fmodify_syntax_entry): Use XINT to access c.
7571 (describe_syntax): Use XINT to access first.
7572
7573 * search.c (search_buffer): Use XINT around refs to trt.
7574
7575 * lisp.h (concat3, get_truename_buffer): Declare them.
7576
7577 * keyboard.c (read_key_sequence): Change some locals to `int'.
7578
7579 * indent.c (compute_motion): Use XFASTINT on width_table elts.
7580
7581 * fns.c (map_char_table): Use XSETFASTINT.
7582
7583 * fileio.c (Fwrite_region, build_annotations):
7584 Set start and end using XSETFASTINT.
7585
7586 * editfns.c (Fcompare_buffer_substrings): trt contains Lisp_Objects.
7587 (transpose_markers): Use marker_position, not Fmarker_position.
7588
7589 * buffer.c (Fmove_overlay): Clean up setting o_beg and o_end.
7590
7591 * alloc.c (Fmake_byte_code): Set val from p, not from val.
7592 (make_event_array): Convert nargs to Lisp_Object.
7593
7594 * m/powerpcle.h: New file.
7595
7596 * unexalpha.c [__NetBSD__]: Don't include filehdr.h, aouthdr.h
7597 scnhdr.h or syms.h. Add many other conditionalized definitions.
7598
7599 * m/alpha.h [__NetBSD__]: Include stdlib.h, not alloca.h.
7600 (ORDINARY_LINK): Defined (if __NetBSD__).
7601
7602 * s/netbsd.h [__alpha__] (NO_SHARED_LIBS): Defined.
7603
7604 1997-05-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7605
7606 * lread.c (init_lread): Sometimes add to load-path
7607 the lisp and site-lisp dirs under the source directory.
7608
7609 * xfaces.c: Include frame.h unconditionally.
7610
7611 * Makefile.in (stamp-oldxmenu): Always define this
7612 one way or another.
7613
7614 * search.c (Freplace_match): Fix previous change.
7615
7616 * syntax.c (back_comment): Detect 2-char comment starts properly.
7617 New arg COMSTYLE; callers changed.
7618 (Fforward_comment): Handle unmatched two-character comment starters.
7619
7620 * intervals.c (move_if_not_intangible): Fix previous change.
7621
7622 * Makefile.in (XOBJ, MSDOS_OBJ, SOME_MACHINE_OBJECTS): Delete xfaces.o.
7623 (obj): Add xfaces.o.
7624 (FACE_SUPPORT, SOME_MACHINE_LISP): Delete faces.elc.
7625 (shortlisp, lisp): Add faces.elc
7626
7627 * emacs.c (main): Call syms_of_xfaces whenever ! HAVE_NTGUI.
7628
7629 * xfaces.c (Fframe_face_alist, Fset_frame_face_alist):
7630 Define unconditionally.
7631 (Finternal_next_face_id, next_face_id): Likewise.
7632 (syms_of_xfaces): Define unconditionally,
7633 but conditionalize some of the contents.
7634
7635 1997-06-01 Roderick Schertler <roderick@ibcinc.com>
7636
7637 * sysdep.c (init_baud_rate): Use INIT_BAUD_RATE if it's defined.
7638 (sys_signal): Lose DGUX special case.
7639
7640 * s/dgux.h (signal): Define only if not NO_DGUX_SIGNAL_REDEF.
7641 * s/dgux4.h: New file.
7642
7643 1997-05-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7644
7645 * xterm.c (process_expose_from_menu, XTread_socket):
7646 Set has_been_visible field.
7647 (x_make_frame_visible): Don't do XMoveWindow unles has_been_visible.
7648
7649 * xterm.h (struct x_output): New field has_been_visible.
7650
7651 * lread.c (intern): Don't make a pure string here,
7652 since Fintern does that.
7653
7654 * Makefile.in (lisp, shortlisp): Use cus-start.el, not .elc.
7655
7656 * data.c (Farrayp): Accept bool-vectors and char-tables.
7657
7658 * fns.c (Fchar_table_range, Fset_char_table_range):
7659 Make one-element vector work for RANGE.
7660
7661 1997-05-30 NIIBE Yutaka <gniibe@mri.co.jp>
7662
7663 * term.c (insert_glyphs): Use &, not &&.
7664
7665 1997-05-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7666
7667 * search.c (Freplace_match): Use move_if_not_intangible
7668 to handle intangible text better.
7669
7670 * intervals.c (move_if_not_intangible): New function.
7671
7672 * editfns.c (Fcurrent_time_string): Doc fix.
7673
7674 * eval.c (Fsignal): Use call2 to call Vsignal_hook_function.
7675
7676 1997-05-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7677
7678 * dispnew.c (scrolling): If a line is not enabled,
7679 give it an infinite draw_cost.
7680
7681 * data.c (Faset): Doc fix.
7682
7683 * alloc.c (Fmake_bool_vector): Doc fix.
7684
7685 * buffer.c (syms_of_buffer): Doc fix.
7686
7687 1997-05-27 Kenichi Handa <handa@etl.go.jp>
7688
7689 * fontset.h (FONT_ENCODING_NOT_DECIDED): New macro.
7690
7691 * fontset.c (fs_load_font): Before using a fontset, be sure to
7692 load the ASCII font of the fontset. Size and height of a fontset
7693 is set to the same as those of the ASCII font of the fontset. Use
7694 macro FONT_ENCODING_NOT_DECIDED.
7695
7696 * xterm.c (x_load_font): Use macro FONT_ENCODING_NOT_DECIDED.
7697
7698 * fns.c (map_char_table): For sub char-table, index should be
7699 start from 0 (not from 32) considering a composite character.
7700 (Fmap_char_table): Doc-string adjusted. The variable indices is
7701 declared as an array of Lisp_Object.
7702
7703 * coding.h (struct iso2022_spec): Member requested_designation is
7704 changed to array of `unsigned char'.
7705 (CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION): New macro.
7706
7707 * coding.c (encode_invocation_designation): Use macro
7708 CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION.
7709 (encode_designation_at_bol, setup_coding_system): Likewise.
7710 (Fset_terminal_coding_system_internal): Renamed from
7711 Fset_terminal_coding_system. Make it non-interactive.
7712 Do not call Fredraw_display.
7713 (Fset_keyboard_coding_system_internal): Renamed from
7714 Fset_keyboard_coding_system. Make it non-interactive.
7715
7716 * charset.c (Ffind_charset_string): The variable CHARSETS is
7717 changed to (int *).
7718
7719 * casetab.c (case_temp1, case_temp2): New variables temporarily
7720 used in macros DOWNCASE and UPCASE1.
7721 (set_case_table): Setup canonical table correctly. Use
7722 map_char_table instead of compute_trt_inverse.
7723 (set_canon, set_identity, shuffle): New functions given to
7724 map_char_table.
7725 (compute_trt_identity, compute_trt_shuffle, compute_trt_inverse):
7726 Deleted.
7727
7728 * casefiddle.c (casify_object): Handle multibyte characters.
7729 (casify_region): Change the way of handling multibyte characters.
7730
7731 * lisp.h (CHAR_TABLE_REF): Do not check validity of CT.
7732 (CHAR_TABLE_SET): Likewise.
7733 (DOWNCASE_TABLE): Return case-table instead of the `contents' field.
7734 (UPCASE_TABLE): Likewise.
7735 (DOWNCASE): Use CHAR_TABLE_REF.
7736 (NOCASEP): Use UPCASE1.
7737 (UPCASE1): Use CHAR_TABLE_REF.
7738
7739 * search.c (looking_at_1): Change using DOWNCASE_TABLE.
7740 (string_match_1): Likewise.
7741
7742 * editfns.c (Fchar_equal): Make it handle case of multibyte
7743 characters.
7744
7745 1997-05-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7746
7747 * window.c (Fsplit_window): Ignore FRAME_NO_SPLIT_P here.
7748 (inhibit_frame_unsplittable): Variable deleted.
7749 (syms_of_window): Don't set up Lisp variable.
7750
7751 * xterm.c (XTread_socket) <ConfigureNotify>: Don't call
7752 x_wm_set_size_hint if window has no parent yet.
7753 Simplify the call to x_real_positions.
7754 (x_make_frame_visible): Use win_gravity to decide whether to
7755 call XMoveWindow. Also, don't do it if frame already visible.
7756
7757 * xfns.c (x_real_positions): Subtract border width from results.
7758
7759 1997-05-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7760
7761 * window.c (syms_of_window): Initialize inhibit_frame_unsplittable.
7762
7763 * w16select.c (Fwin16_set_clipboard_data): Pass new arg to sit_for.
7764
7765 * fileio.c (Fdo_auto_save): Pass new arg to sit_for.
7766
7767 * callint.c (Fcall_interactively): Pass new arg to sit_for.
7768
7769 * keyboard.c (command_loop_1): Pass 1 as new arg to sit_for.
7770 (read_char): Likewise, pass 0 for it.
7771
7772 * dispnew.c (sit_for): New arg initial_display.
7773 (Fsit_for): Pass new arg.
7774
7775 * indent.c (compute_motion): Return correctly if skip_invisible
7776 takes us past TO.
7777
7778 * xterm.c (XTread_socket) <UnmapNotify>: Don't make an iconify_event
7779 when frame was made invisible.
7780 (x_make_frame_visible): Put the call to x_set_offset back as it was.
7781 Near the end, instead call XMoveWindow, but only if original
7782 positions were not negative.
7783
7784 1997-05-26 Simon Marshall <simon@diazepam.gnu.ai.mit.edu>
7785
7786 * window.c (syms_of_window): Change frame_override_unsplittable to
7787 inhibit_frame_unsplittable.
7788 (Fsplit_window): Check inhibit_frame_unsplittable.
7789
7790 1997-05-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7791
7792 * window.c (Fdisplay_buffer): Use B not b for interactive argument.
7793
7794 * xfns.c (x_real_positions): Directly compare the frame's window
7795 or parent with the root window.
7796
7797 * xterm.c (x_make_frame_visible): Call x_set_offset only after
7798 mapping the window and accepting input.
7799 (x_calc_absolute_position): Do nothing if current position
7800 is already for the top-left corner.
7801 Handle errors in XTranslateCoordinates.
7802 (XTread_socket): Simplify handling of ConfigureNotify events.
7803 Always call x_wm_set_size_hint for them.
7804 No need to call XTranslateCoordinates here.
7805 (x_clear_errors): New function.
7806
7807 1997-05-20 Erik Naggum <erik@naggum.no>
7808
7809 * editfns.c (Fformat_time_string): Doc update.
7810
7811 1997-05-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7812
7813 * editfns.c (Fformat_time_string): Doc update.
7814 Handle emacs_strftime returning -1.
7815 If it returns 0, compute actual buffer size needed.
7816
7817 * Makefile.in (shortlisp): Add custom.elc and cus-start.elc.
7818
7819 * fns.c (internal_equal): When comparing strings, ignore text props.
7820 Friedman offers to fix anything that has trouble due to this.
7821
7822 * dispnew.c (sit_for): Delete #if 0.
7823
7824 * keymap.c (access_keymap, store_in_keymap): Don't look in a char-table
7825 for a character that has modifier bits.
7826
7827 1997-05-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7828
7829 * keymap.c (access_keymap): For a char-table,
7830 look only for chars with no modifier bits.
7831
7832 1997-05-19 Kenichi Handa <handa@etl.go.jp>
7833
7834 * s/osf1.h (HAVE_TERMIOS): Define it.
7835
7836 * m/alpha.h (PTY_OPEN): Call sigblock instead of sigblockx.
7837
7838 * Makefile.in (xdisp.o): Add coding.h in dependency list.
7839
7840 * fontset.h (struct font_info): Change the declaration of encoding
7841 from `char' to `unsigned char'.
7842
7843 * xterm.c (x_load_font): Set 4 instead of -1 in fontp->encoding[1]
7844 for the meaning of `can not be decided'.
7845
7846 * fontset.c (fs_load_font): Modified to cope with the above
7847 change.
7848
7849 * charset.c (Ffind_charset_region): Change the declaration of
7850 charsets from `char' to `int'.
7851 (find_charset_in_str): Likewise.
7852
7853 * xselect.c (lisp_data_to_selection_data): Likewise.
7854
7855 * coding.h (struct iso2022_spec): Change the declaration of
7856 requested_designation from `char' to `int'.
7857
7858 1997-05-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7859
7860 * callint.c (Fcall_interactively): Use num_input_events.
7861
7862 * keyboard.h (num_input_events, num_nonmacro_input_events):
7863 Renamed from ..._input_chars.
7864
7865 * eval.c (num_nonmacro_input_events):
7866 Renamed from num_nonmacro_input_chars.
7867
7868 * keyboard.c (num_nonmacro_input_events):
7869 Renamed from num_nonmacro_input_chars.
7870 (syms_of_keyboard): Rename Lisp variable.
7871
7872 1997-05-18 Erik Naggum <erik@naggum.no>
7873
7874 * lisp.h (Vtty_erase_char): Declared.
7875 * keyboard.c (Vtty_erase_char): Variable defined
7876 (syms_of_keyboard): Set up Lisp variable.
7877 Also set up `num-nonmacro-input-chars' to report actual keystrokes.
7878 * sysdep.c (init_sys_modes): Initialize Vtty_erase_char if
7879 possible from the stty settings, otherwise to nil.
7880
7881 * lread.c (Fintern): Give keywords a value when interned.
7882
7883 * dired.c (Ffile_attributes): Return inode number as a cons
7884 only if necessary.
7885
7886 1997-05-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7887
7888 * keymap.c (copy_keymap_1): Do nothing if ELT isn't a keymap.
7889
7890 1997-05-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7891
7892 * frame.c (make_terminal_frame): Don't add `Emacs' to frame name.
7893
7894 1997-05-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7895
7896 * sysselect.h (SELECT_TYPE): Don't define if already defined.
7897
7898 * cmds.c (nonascii_insert_offset): New variable.
7899 (Fself_insert_command, internal_self_insert):
7900 Add nonascii_insert_offset to what we insert, when appropriate.
7901 (syms_of_cmds): Set up Lisp variable.
7902
7903 * xdisp.c (display_text_line): Move the code to fill out the line
7904 with the newline's face to the end of the newline code.
7905 Add changes (commented out) to record ellipsis positions in charstarts.
7906
7907 * charset.c (strwidth): Fix previous change.
7908
7909 * ralloc.c (mallopt): Declare, if appropriate.
7910 (r_alloc_init) [DOUG_LEA_MALLOC]: Call mallopt,
7911 instead of setting __malloc_extra_blocks.
7912
7913 Thu May 15 22:21:18 1997 Ken'ichi Handa <handa@diazepam.gnu.ai.mit.edu>
7914
7915 * Makefile.in (charset.o): Add disptab.h in dependency list.
7916
7917 * charset.c: Include disptab.h.
7918
7919 1997-05-16 Kenichi Handa <handa@etl.go.jp>
7920
7921 * xterm.c (dumpglyphs): Draw glyphs one by one if the font for
7922 them is narrower than required.
7923
7924 * fns.c (copy_sub_char_table): Declare the argument ARG as
7925 Lisp_Object.
7926
7927 * fontset.c (fontset_pattern_regexp): Cast to (char *) before
7928 assigning to P0.
7929
7930 * ccl.c (struct ccl_prog_stack): Declear the member ccl_prog as
7931 Lisp_Object *.
7932
7933 * editfns.c: Declare Fuser_full_name as Lisp_Object in advance to
7934 avoid compiler error.
7935
7936 * data.c: Declare set_internal as Lisp_Object in advance to avoid
7937 compiler error.
7938
7939 * alloc.c (BYTES_USED): Put # at the beginning of line.
7940 (emacs_blocked_malloc): Likewise.
7941
7942 * xterm.c (x_connection_closed): Likewise.
7943 (x_load_font): Cast to (char *) before assigning to FONTNAME.
7944
7945 * keymap.c: Declare Fcopy_keymap as Lisp_Object in advance to
7946 avoid compiler error.
7947
7948 1997-05-16 Kenichi Handa <handa@etl.go.jp>
7949
7950 * charset.h (VALID_CHAR_P): New macro.
7951
7952 * fns.c (Fset_char_table_default): New function.
7953
7954 1997-05-15 Kenichi Handa <handa@etl.go.jp>
7955
7956 * charset.c (non_ascii_char_to_string): Signal error if the
7957 argument C is an invalid character code.
7958 (Fconcat_chars): Use alloca instead of malloc.
7959
7960 * charset.h (CHAR_STRING): Comment reflect the above change.
7961
7962 * coding.h: Name change through the code:
7963 coding-category-internal => coding-category-emacs-mule,
7964 XXX_coding_internal => XXX_coding_emacs_mule,
7965 coding_type_internal => coding_type_emacs_mule,
7966 coding_type_automatic => coding_type_undecided,
7967 CODING_CATEGORY_MASK_INTERNAL => CODING_CATEGORY_MASK_EMACS_MULE,
7968 CODING_CATEGORY_IDX_INTERNAL => CODING_CATEGORY_IDX_EMACS_MULE,
7969 CODING_EOL_AUTOMATIC => CODING_EOL_UNDECIDED.
7970 * coding.c: Likewise.
7971 * fileio.c: Likewise.
7972
7973 * xfns.c (Fx_create_frame): Delete unnecessary code.
7974
7975 1997-05-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7976
7977 * fileio.c (Finsert_file_contents): Use xmalloc. not malloc.
7978 Check correctly for whether no code translation is needed.
7979 (Finsert_file_contents): Use xrealloc too.
7980
7981 * charset.c (strwidth, Fchar_width): Handle display table.
7982
7983 1997-05-15 Karl Heuer <kwzh@gnu.ai.mit.edu>
7984
7985 * casefiddle.c: Include charset.h.
7986 (Qidentity): Define this variable.
7987 (syms_of_casefiddle): Initialize and staticpro it.
7988 (casify_object, casify_region): Handle multibyte.
7989
7990 1997-05-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
7991
7992 * casetab.c (compute_trt_identity): Use make_sub_char_table.
7993 (compute_trt_identity, compute_trt_shuffle):
7994 Set up bytes[0] with the charset code.
7995 Check for a sub-char-table when deciding to recurse.
7996 Terminate the loop properly for a sub-char-table.
7997
7998 * callint.c (Fcall_interactively): Pass extra arg to Fread_string.
7999
8000 * minibuf.c (Fread_from_minibuffer): Add gcpro.
8001
8002 * fns.c (Fcopy_sequence): Correctly copy the char-table contents.
8003
8004 * keymap.c (describe_vector): Identify charset row numbers clearly.
8005
8006 * casetab.c: Include charset.h.
8007 (compute_trt_inverse): Totally rewritten.
8008 Args are now Lisp_Object. Callers changed.
8009 (compute_trt_identity, compute_trt_shuffle): New subroutines.
8010 (init_casetab_once): Use XSETFASTINT to store into case table;
8011 use CHAR_TABLE_SINGLE_BYTE_SLOTS to end the loop.
8012
8013 1997-05-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8014
8015 * syntax.c (describe_syntax_1): Pass new args to describe_vector.
8016
8017 * category.c (describe_category_1): Pass new args to describe_vector.
8018
8019 1997-05-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8020
8021 * keymap.c (get_keyelt): Handle an indirect entry with meta char.
8022 (describe_vector): Rewrite char-table handling.
8023
8024 * data.c (wrong_type_argument): Pass new arg to Fstring_to_number.
8025
8026 1997-05-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8027
8028 * xfns.c (Fx_create_frame): Get X resources from the display
8029 we are making the frame on.
8030 (x_get_arg): New arg DPYINFO. Callers changed.
8031 (display_x_get_resource): New function.
8032
8033 1997-05-11 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
8034
8035 * data.c (Fstring_to_number): Handle bases 2...16.
8036 (digit_to_number): New subroutine.
8037
8038 1997-05-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8039
8040 * fns.c (map_char_table): New arg SUBTABLE. Callers changed.
8041 Pass the whole chartable to C_FUNCTION.
8042 Pass index character as a Lisp_Object.
8043
8044 * keymap.c (Fmake_keymap): Make a char-table.
8045 (access_keymap, store_in_keymap): Likewise,
8046 (describe_map, Fset_keymap_parent, Faccessible_keymaps): Likewise.
8047 (Fwhere_is_internal, Fcopy_keymap): Handle a char-table.
8048 (copy_keymap_1, accessible_keymaps_char_table): New subroutines.
8049 (where_is_internal_1, where_is_internal_2): New functions.
8050 (syms_of_keymap): Set up Qchar_table_extra_slots prop on Qkeymap.
8051
8052 1997-05-10 Ken'ichi Handa <handa@etl.go.jp>
8053
8054 * callproc.c (Fcall_process_region): Supply 7th new arg
8055 CODING_SYSTEM as Qnil to Fwrite_region.
8056
8057 * ccl.c (Fccl_execute_on_string): Add 4th optional arg
8058 CONTINUE.
8059
8060 * charset.c (unify_char): New function.
8061 (Fdefine_charset): Doc-string modified.
8062 (find_charset_in_str): Add 4th arg TABLE which is a character
8063 unification table.
8064 (Ffind_charset_region): Add optional arg TABLE which is a
8065 character unification table.
8066 (Ffind_charset_string): Likewise.
8067
8068 * charset.h (unify_char): Extern it.
8069
8070 * coding.c (Valternate_charset_table): The variable deleted.
8071 (Venable_character_unification,
8072 Vstandard_character_unification_table_for_read,
8073 Vstandard_character_unification_table_for_write,
8074 Qcharacter_unification_table): New variables.
8075 (syms_of_coding): Initialize and declare them.
8076 (DECODE_ISO_CHARACTER): Modified to handle a character unification
8077 table instead of Valternate_charset_table.
8078 (DECODE_DESIGNATION): Delete handling of Valternate_charset_table.
8079 (decode_coding_iso2022): Handle a character unification table.
8080 (ENCODE_ISO_CHARACTER): New macro.
8081 (encode_designation_at_bol): Handle a character unification table.
8082 Do not return -1 even if end-of-line is not in the current run.
8083 (encode_coding_iso2022): Handle a character unification table.
8084 Call macro ENCODE_ISO_CHARACTER instead of calling
8085 ENCODE_ISO_CHARACTER_DIMENSION1 and
8086 ENCODE_ISO_CHARACTER_DIMENSION2 directly. Check the size of
8087 carryover before copying it to destination.
8088 (setup_coding_system): Initialize the member
8089 character_unification_table of the struct coding system to Qnil.
8090 (Fset_keyboard_coding_system): Doc string augmented.
8091
8092 * coding.h (CODING_SPEC_ISO_PLANE_CHARSET): Return -1 if no
8093 character set is invoked to PLANE.
8094 (struct coding_system): New member character_unification_table.
8095
8096 * fileio.c (Fwrite_region): Add 7th optional arg
8097 CODING_SYSTEM. Move gap after a newline code if we are encoding
8098 in a coding system which requires designation sequences to be put
8099 at beginning of line. Set coding.last_block to 1 before calling
8100 a_write for an empty file.
8101 (build_annotations): Code tuned up for handling
8102 pre_write_conversion of a coding system.
8103 (e_write): Delete code for handling carryover of code conversion.
8104 It is now handled in encode_coding.
8105 (auto_save_1): Supply 7th new arg CODING_SYSTEM as Qnil to
8106 Fwrite_region.
8107
8108 * fontset.c (Vfontset_alias_alist): New variable.
8109 (fontset_pattern_regexp): Delete code for handling nickname of a
8110 fonset. It is now handled in Fquery_fontset by consulting
8111 Vfontset_alias_alist.
8112 (Fquery_fontset): Handle Vfontset_alias_alist.
8113 (syms_of_fontset): Terminate each line by `\n\' in doc-string of
8114 alternate-fontname-alist. Declare Lisp variable
8115 fontset-alias-alist. Doc-string of highlight-wrong-size-font
8116 and clip-large-size-font modified.
8117
8118 * xfns.c (Fx_create_frame): Delete code for handling the X
8119 resouce "Fontset".
8120
8121 * xselect.c (selection_data_to_lisp_data): If TYPE is `STRING'
8122 and DATA contains 8-bit codes, decode them as Latin-1 characters.
8123 (lisp_data_to_selection_data): Supply 4th arg TABLE as Qnil to
8124 find_charset_in_str.
8125
8126 * xterm.c (dumpglyphs): Even if font (not fontset) is used,
8127 display Latin1 characters correctly if the font contains glyphs
8128 for them. Fix bug of displaying cursor on a composite character.
8129
8130 1997-05-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8131
8132 * keyboard.c (Fexecute_extended_command):
8133 Pass new arg to Fcompleting_read.
8134 (command_loop_1): Use an int for last_command_char.
8135
8136 * lisp.h (read_minibuf): Declaration deleted.
8137
8138 * callint.c (Fcall_interactively): Pass new arg to
8139 Fread_from_minibuffer and Fread_variable.
8140
8141 * fns.c (Fyes_or_no_p): Pass new arg to Fread_from_minibuffer.
8142
8143 * minibuf.c (Fread_command): New optional arg DEFAULT-VALUE.
8144 Callers changed.
8145 (Fread_variable, Fread_string, Fread_from_minibuffer): Likewise.
8146 (read_minibuf): Now static. New arg DEFALT. Callers changed.
8147 Bind minibuffer-default here.
8148 (read_minibuf_unwind): Now static.
8149 (Fcompleting_read): Past DEF to Fread_from_minibuffer;
8150 no need to use it directly here.
8151
8152 * fileio.c (Fread_file_name): Finish previous change.
8153
8154 * coding.c (Fread_coding_system, Fread_non_nil_coding_system):
8155 Pass new arg to Fcompleting_read.
8156
8157 * callint.c (Fcall_interactively): Pass new arg to Fcompleting_read.
8158
8159 * xmenu.c (Fx_popup_menu): Doc fix.
8160
8161 1997-05-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8162
8163 * Makefile.in (TAGS): Fix typo.
8164
8165 * xdisp.c (mark_window_display_accurate, redisplay_internal):
8166 Test highlight_nonselected_windows.
8167 (display_text_line): Likewise (in more places).
8168 (syms_of_xdisp): Initialize highlight_nonselected_windows to 0.
8169
8170 * keyboard.c (Qtimer_event): Variable deleted.
8171 (Qtimer_event_handler): New variable.
8172 (syms_of_keyboard): Don't initialize Qtimer_event.
8173 Do initialize Qtimer_event_handler.
8174 (read_char): Don't check for timer event.
8175 (swallow_events): Don't handle timer events.
8176 (timer_check): Likewise.
8177 (make_lispy_event): Likewise.
8178
8179 1997-05-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8180
8181 * s/bsd386.h: Delete the code that was trying to define BSD "right"
8182 now that Emacs doesn't use the symbol BSD this way.
8183
8184 1997-05-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8185
8186 * Makefile.in (MOUSE_SUPPORT): Delete menu-bar.elc.
8187 (lisp): Move menu-bar.elc here.
8188 Add custom.elc and cus-start.elc.
8189
8190 * m/intel386.h (LIBS_MACHINE): Add -lelf.
8191
8192 1997-05-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8193
8194 * xdisp.c (display_text_line): Clear region_showing to Qnil if the
8195 window should not show a region.
8196 (redisplay_internal): Do update region_showing when ! all_windows.
8197
8198 * window.c (Fset_window_configuration): Set last_selected_window
8199 in the new selected window's new buffer.
8200
8201 * xdisp.c (display_text_line): Set w->region_showing to the mark
8202 position if there's a mark; to nil, otherwise.
8203
8204 * w32fns.c (x_set_mouse_color): Fix previous change.
8205
8206 * xselect.c (x_reply_selection_request): Delete the inner
8207 unbind_to call, since x_uncatch_errors does the job.
8208
8209 1997-05-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8210
8211 * minibuf.c (Fcompleting_read): New arg DEF.
8212 Callers changed.
8213 (Qminibuffer_default): New variable.
8214 (syms_of_minibuf): Initialize it.
8215
8216 * fileio.c (Fread_file_name): Pass default to Fcompleting_read.
8217
8218 1997-05-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8219
8220 * w32fns.c (x_set_mouse_color): Update calls to x_catch_errors
8221 and x_uncatch_errors.
8222
8223 * xfns.c (x_set_scroll_bar_width): If arg is too small, round it up.
8224
8225 * window.c (Fdisplay_buffer): If we give up and try other frames,
8226 look again for a window in those frames already showing BUFFER.
8227
8228 1997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8229
8230 * xselect.c (x_reply_selection_request): Fix previous change.
8231
8232 1997-04-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8233
8234 * xterm.c (XTmouse_position, x_term_init):
8235 Save value from x_catch_errors and pass to x_uncatch_errors.
8236
8237 * xselect.c (x_own_selection, x_reply_selection_request)
8238 (x_get_foreign_selection):
8239 Save value from x_catch_errors and pass to x_uncatch_errors.
8240
8241 * xfns.c (x_real_positions, x_set_mouse_color, Fx_list_fonts):
8242 Save value from x_catch_errors and pass to x_uncatch_errors.
8243
8244 * xterm.c (x_catch_errors): Use specpdl so can be nested.
8245 Use a Lisp string to as the buffer for the X message.
8246 (x_uncatch_errors, x_had_errors_p, x_check_errors): Related changes.
8247 (x_catch_errors_unwind): New function.
8248 (x_error_quitter): Call x_error_catcher if appropriate.
8249 (x_error_message_string): New variable.
8250 (syms_of_xterm): Defvar it.
8251 (x_caught_error_message): Variable deleted.
8252 (X_ERROR_MESSAGE_SIZE): Renamed from X_CAUGHT_ERROR_MESSAGE_SIZE.
8253 (x_error_handler): New function, calls x_error_quitter or ..._checker.
8254 (x_initialize): Use x_error_handler as error handler for X.
8255
8256 1997-04-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8257
8258 * fileio.c (Fexpand_file_name): Check length > 0 when necessary.
8259
8260 1997-04-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8261
8262 * syntax.c (skip_chars): Fix previous change in syntax/backward case.
8263
8264 * lread.c (init_lread): Don't add ../lisp to the dump-time load path.
8265
8266 * buffer.c (Fbury_buffer): If buffer is in selected window, remove it.
8267 Otherwise, remove it from other windows.
8268
8269 * fileio.c (Fsubstitute_in_file_name): Use xnm uniformly, never nm,
8270 when handling /~ and // at the end.
8271
8272 * process.c (read_process_output): Update opoint, old_begv and old_zv
8273 based on actual buffer change rather than size of string.
8274 old_begv and old_zv are now ints.
8275 (status_notify): Likewise for opoint.
8276
8277 1997-04-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8278
8279 * xterm.c (x_destroy_window): Free saved_menu_event, if any.
8280
8281 * frame.c (Fdelete_frame): Free FRAME_MESSAGE_BUF.
8282
8283 * xrdb.c (get_user_app): Free the gethomedir value.
8284
8285 * buffer.c (reset_buffer): Initialize clip_changed field.
8286
8287 1997-04-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8288
8289 * emacs.c (sort_args): Free the malloc'd memory.
8290
8291 * fileio.c (Fwrite_region): GCPRO `start' near the beginning.
8292
8293 * xfns.c (x_set_menu_bar_lines): Increment windows_or_buffers_changed.
8294
8295 1997-04-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8296
8297 * syntax.c (skip_chars): Merge mule changes back in.
8298
8299 1997-04-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8300
8301 * window.c (frame_override_unsplittable): New variable.
8302 (Fsplit_window): Ignore `unsplittable' if frame_override_unsplittable.
8303 (syms_of_window): Set up Lisp var.
8304
8305 * xmenu.c (set_frame_menubar): When widget is new,
8306 forget records of old contents.
8307
8308 1997-04-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8309
8310 * xterm.c (x_set_offset): Turn off the code that added the border_width
8311 to modified_left and modified_top; it seems incorrect to do that.
8312
8313 1997-04-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8314
8315 * keymap.c (Faccessible_keymaps): Convert PREFIX to a vector
8316 at the beginning, if it has any definition.
8317
8318 1997-04-19 Erik Naggum <erik@naggum.no>
8319
8320 * keymap.c (describe_vector): Test for suppressed commands in
8321 all cases. Call get_keyelt with two arguments.
8322
8323 1997-04-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8324
8325 * print.c (print): Symbols like e2 and 2e are not confusing.
8326
8327 1997-04-17 Andrew Innes <andrewi@harlequin.co.uk>
8328
8329 * fileio.c (Fexpand_file_name): Fix expansion of "/foo/../".
8330
8331 1997-04-15 Ken'ichi Handa <handa@etl.go.jp>
8332
8333 * coding.c (setup_coding_system): Setup coding->eol_type as LF
8334 for a invalid coding system.
8335
8336 1997-04-14 Ilya Zakharevich <ilya@math.ohio-state.edu>
8337
8338 * dired.c (Fdirectory_files): Set re_match_object.
8339
8340 * intervals.c (update_interval): New function.
8341
8342 * intervals.h (update_interval): New function declaration.
8343
8344 * regex.c (PTR_TO_OFFSET): New macro.
8345 (POS_AS_IN_BUFFER): New macro.
8346 (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' text
8347 property into account when doing SYNTAX (c).
8348 (re_compile_fastmap): disable fastmap if any of wordbound
8349 notwordbound wordbeg wordend notsyntaxspec syntaxspec are seen.
8350 (re_search_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start.
8351 (re_match_object): New variable.
8352 (re_match_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start.
8353 (re_match_2_internal): For any of wordbound notwordbound wordbeg
8354 wordend notsyntaxspec syntaxspec call UPDATE_SYNTAX_TABLE before
8355 doing SYNTAX (c).
8356
8357 * regex.h (re_match_object): New variable.
8358
8359 * search.c (looking_at_1): Set re_match_object.
8360 (string_match_1): Set re_match_object.
8361 (fast_string_match): Set re_match_object.
8362 (Fskip_chars_forward): Move to syntax.c.
8363 (Fskip_chars_backward): Move to syntax.c.
8364 (Fskip_syntax_forward): Move to syntax.c.
8365 (Fskip_syntax_backward): Move to syntax.c.
8366 (skip_chars): Move to syntax.c.
8367 (search_buffer): Set re_match_object.
8368 (syms_of_search): Move initialization of skip* to syntax.c.
8369
8370 * syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table'
8371 text property into account when doing SYNTAX (c).
8372 (ST_COMMENT_STYLE, ST_STRING_STYLE): New codes to denote
8373 delimiters for new types of strings and comments.
8374 (Vparse_sexp_lookup_properties): New variable.
8375 (struct lisp_parse_state): Comment updated.
8376 (gl_state): New global variable.
8377 (update_syntax_table): New function.
8378 (char_quoted): Move earlier, update gl_state when needed.
8379 (find_defun_start): Update gl_state when needed.
8380 (back_comment): New function.
8381 (Scomment_fence, Sstring_fence): New delimeter char classes
8382 denoted by `!' and `|'.
8383 (Fchar_syntax, Fmatching_paren): Update gl_state to whole-buffer state.
8384 (scan_words): Update gl_state when needed.
8385 (Fskip_chars_forward): Move from search.c.
8386 (Fskip_chars_backward): Move from search.c.
8387 (Fskip_syntax_forward): Move from search.c.
8388 (Fskip_syntax_backward): Move from search.c.
8389 (skip_chars): Move from search.c.
8390 (Fforward_comment, scan_lists): Update gl_state when needed.
8391 Handle Scomment_fence, Sstring_fence.
8392 (Fbackward_prefix_chars) update gl_state when needed.
8393 (scan_sexps_forward): update gl_state when needed.
8394 Handle Scomment_fence, Sstring_fence.
8395 If comment_stop==-1, stop at start or end of comment or string.
8396 (Fparse-partial-sexp): Doc fix.
8397 (syms_of_syntax): Move initialization of skip* from search.c.
8398
8399 * syntax.h (enum syntaxcode):
8400 New members Scomment_fence, Sstring_fence.
8401 (SYNTAX_ENTRY): Depending on the value of SYNTAX_ENTRY_VIA_PROPERTY
8402 may do a lookup for syntax table in gl_state.
8403 (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD,
8404 UPDATE_SYNTAX_TABLE, SETUP_SYNTAX_TABLE,
8405 SETUP_SYNTAX_TABLE_FOR_OBJECT): New macros.
8406 (struct gl_state_s): New struct.
8407
8408 * textprop.c: Style of comments corrected.
8409 (interval_of): New function.
8410
8411 1997-04-14 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu>
8412
8413 * w16select.c: New file, MS-Windows clipboard support from
8414 Emacs running as MSDOS application.
8415
8416 * s/msdos.h (SYMS_SYSTEM): Add `syms_of_win16select'.
8417
8418 * Makefile.in (MSDOS_OBJ): Add w16select.o.
8419 (dependencies): Add dependencies for w16select.o.
8420
8421 1997-04-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8422
8423 * undo.c (Fprimitive_undo): When inserting, always insert
8424 after markers (the ordinary kind of insertion).
8425
8426 * insdel.c (adjust_markers): Don't be confused by the gap
8427 when computing the arg to record_marker_adjustment.
8428
8429 1997-04-11 Karl Heuer <kwzh@gnu.ai.mit.edu>
8430
8431 * category.c (Fmodify_category_entry): Delete second arg in call
8432 to make_sub_char_table.
8433
8434 * lisp.h (DOWNCASE): Return int, not Lisp_Object.
8435 (UPPERCASEP): Use DOWNCASE.
8436 (UPCASE_TABLE): New macro.
8437 (NOCASEP, UPCASE1): Use UPCASE_TABLE.
8438 [!NO_UNION_TYPE] (make_number): Declare.
8439
8440 1997-04-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8441
8442 * minibuf.c (read_minibuf): Get the string from the minibuffer
8443 even if the user has selected a different buffer.
8444
8445 * fileio.c (Finsert_file_contents): Do call signal_after_change
8446 when REPLACE is handled by reading directly from the file.
8447 Use insert_1 to insert replacement text, to avoid
8448 query about whether to modify the buffer.
8449
8450 1997-04-10 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
8451
8452 * Makefile.in (mallocobj): Make non-REL_ALLOC configuration work
8453 with glibc's malloc--do use vm-limit.o.
8454
8455 1997-04-10 Karl Heuer <kwzh@gnu.ai.mit.edu>
8456
8457 * cmds.c (internal_self_insert): Fix return value.
8458 * category.c (Fmake_category_set): Use XSETFASTINT.
8459 * minibuf.c (scmp): Fix Lisp_Object/integer confusion.
8460 (Fdisplay_completion_list): Likewise.
8461 * insdel.c (Fcombine_after_change_execute): Likewise.
8462 * xselect.c (expect_property_change): Likewise.
8463 * xterm.c (construct_menu_click, note_mouse_highlight): Likewise.
8464 (fast_find_position): Likewise.
8465 * ccl.c (ccl_driver): Likewise.
8466 * coding.c (Ffind_coding_system): Likewise.
8467 * charset.c (Fconcat_chars, ONE_BYTE_CHAR_WIDTH): Likewise.
8468 * xmenu.c (Fx_popup_menu, set_frame_menubar): Likewise.
8469 * disptab.h (DISP_TABLE_P): Likewise.
8470 * xdisp.c (display_text_line): Likewise.
8471 * dispnew.c (Fframe_or_buffer_changed_p): Likewise.
8472 * window.c (Fset_window_buffer, Fdisplay_buffer): Likewise.
8473 (delete_window): Don't return value from void function.
8474
8475 1997-04-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8476
8477 * s/freebsd.h (BSD_SYSTEM): Alternate definition for FreeBSD v3.
8478
8479 * systty.h (GETPGRP_NO_ARG): If Glibc 2.1 or later,
8480 don't define this if _BSD_SOURCE is defined.
8481
8482 1997-04-08 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>
8483
8484 * emacs.c (malloc_get_state, malloc_set_state): New declarations.
8485 (main): Restore internal malloc state when loading from dumped image.
8486 (Fdump_emacs): Copy internal malloc state for dumping, then free it.
8487
8488 * alloc.c: For glibc's malloc, include <malloc.h> for mallinfo,
8489 mallopt, struct mallinfo, and mallopt constants.
8490 (BYTES_USED): New macro.
8491 (memory_full, emacs_blocked_free): Replace _bytes_used with BYTES_USED.
8492 (emacs_blocked_malloc): Set sbrk padding value for glibc, as is
8493 done with gmalloc.
8494 (allocate_vectorlike, make_uninit_string):
8495 Prevent using mmap for possible large chunks.
8496 (init_alloc_once): Set trim and mmap malloc parms, when using glibc.
8497
8498 * config.in (DOUG_LEA_MALLOC): Add #undef.
8499
8500 * Makefile.in (mallocobj): Don't add gmalloc if using glibc.
8501 Drop check for `old malloc'; it isn't distributed with Emacs.
8502
8503 1997-04-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8504
8505 * casetab.c (init_casetab_once): Initialize the purpose slot.
8506
8507 1997-04-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8508
8509 * keyboard.c (read_key_sequence): New argument FIX_CURRENT_BUFFER.
8510 Restore the current buffer from selected window on occasion.
8511 All callers changed.
8512
8513 1997-04-07 Kenichi HANDA <handa@etl.go.jp>
8514
8515 * Makefile.in (lisp, shortlisp): Include english.elc and
8516 tibetan.elc.
8517
8518 * alloc.c (Fmake_char_table): Adjusted for the new structure of
8519 Lisp_Char_Table.
8520 (make_sub_char_table): New function.
8521
8522 * category.c (category-table-p): Check only type and purpose.
8523 (copy_category_table, Fmodify_category_entry): Adjusted for the
8524 new structure of Lisp_Char_Table.
8525
8526 * ccl.c: (ccl_driver): Fix bug of the case CCL_WriteArrayReadJump.
8527
8528 * charset.h (CHARSET_TABLE_ENTRY): Handle ASCII charset correctly.
8529 (SPLIT_NON_ASCII_CHAR, SPLIT_CHAR): Return -1 in C2 for DIMENSION1
8530 characters.
8531
8532 * charset.c (non_ascii_char_to_string, update_charset_table,
8533 Fsplit_char): Adjusted for the above change.
8534
8535 * coding.c (detect_coding_iso2022, detect_coding_mask): Ignore
8536 invalid ESC sequence for ISO 2022.
8537 (Fencode_sjis_char, Fencode_big5_char): Adjusted for the change of
8538 SPLIT_CHAR.
8539
8540 * data.c (Faref, Faset): Adjusted for the new structure of
8541 Lisp_Char_Table.
8542
8543 * disptab.c (disp_char_vector): Extern it.
8544 (DISP_CHAR_VECTOR): Handle multibyte characters.
8545
8546 * fns.c (copy_sub_char_table): New function.
8547 (Fcopy_sequence): Call copy_sub_char_table for copying a sub char
8548 table.
8549 (Fchar_table_range, Fset_char_table_range, map_char_table,
8550 Fmap_char_table): Handle multibyte characters correctly.
8551
8552 * fontset.c (Vhighlight_wrong_size_font, Vclip_large_size_font):
8553 New variables.
8554 (syms_of_fontset): Declare them as Lisp variables.
8555
8556 * fontset.h (Vhighlight_wrong_size_font, Vclip_large_size_font):
8557 Extern them.
8558
8559 * keymap.c (describe_vector): Adjusted for the new structure of
8560 Lisp_Char_Table.
8561
8562 * lisp.h (CHAR_TABLE_STANDARD_SLOTS): Now 4 more slots than
8563 CHAR_TABLE_ORDINARY_SLOTS for top, defalt, parent, and purpose.
8564 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
8565 New macros.
8566 (CHAR_TABLE_REF, CHAR_TABLE_SET): Enclose args by parenthesis.
8567 (struct Lisp_Char_Table): New member `top'. The member `defalt'
8568 is moved before `contents' so that XCHAT_TABLE (val)->defalt can
8569 also be used for a sub char table.
8570 (SUB_CHAR_TABLE_P): New macro.
8571 (make_sub_char_table): Extern it.
8572
8573 * lread.c (read1): Adjusted for the new structure of
8574 Lisp_Char_Table.
8575
8576 * print.c (print): Likewise.
8577
8578 * xdisp.c (disp_char_vector): New function to be used from the
8579 macro DISP_CHAR_VECTOR for multibyte characters.
8580
8581 * xterm.c (dumpglyphs): Clip and highlight glyphs displayed with
8582 fonts of wrong size.
8583
8584 Sun Apr 6 10:26:53 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu>
8585
8586 * emacs.c (init_cmdargs) [MSDOS]: Make the change that sets
8587 `installation-directory' if `info' is found as its subdirectory or
8588 sibling, be conditioned on MSDOS (it makes trouble on Unix).
8589
8590
8591 1997-04-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8592
8593 * coding.c (Ffind_coding_system): Doc fix.
8594
8595 1997-04-03 Karl Heuer <kwzh@gnu.ai.mit.edu>
8596
8597 * fns.c (Fcopy_sequence): Delete unused variable.
8598 (Fchar_table_extra_slot, Fset_char_table_extra_slot): Doc fix.
8599 (map_char_table): When expanding indices, don't increase depth;
8600 that's amount used, not amount allocated.
8601
8602 * category.h [!__GNUC__] (CATEGORY_SET): Fix syntax error.
8603
8604 * lisp.h (CHAR_TABLE_REF): Fix syntax error.
8605 (LOWERCASEP): Use NOCASEP instead of its expansion.
8606 (UPCASE): Use UPPERCASEP instead of its expansion.
8607
8608 1997-04-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8609
8610 * fileio.c (Finsert_file_contents): When handling REPLACE,
8611 first try comparing block by block; if we discover a need for
8612 nontrivial code conversion, give up and try convert-whole-file method.
8613
8614 * fileio.c (Fcopy_file): Fix error message.
8615
8616 * fileio.c (Finsert_file_contents): Handle non-regular files.
8617
8618 1997-04-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8619
8620 * search.c (skip_chars): Make `c' an unsigned int.
8621
8622 1997-04-01 Erik Naggum <erik@naggum.no>
8623
8624 * eval.c (Fuser_variable_p): If not a symbol, return nil.
8625
8626 1997-03-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8627
8628 * fileio.c (Fcopy_file): Use Qfile_date_error if can't set file date.
8629 (Qfile_date_error): New variable.
8630 (syms_of_fileio): Set it up.
8631 (Fcopy_file): Fix previous change.
8632 (Finsert_file_contents): Determine the character coding
8633 before we see if REPLACE can be handled.
8634 Do handle REPLACE even if code conversion is needed.
8635
8636 1997-03-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8637
8638 * keymap.c (Faccessible_keymaps): When metizing, convert a
8639 string to a vector. But don't metize a character that is
8640 part of PREFIX.
8641
8642 * window.c (Qwindow_configuration_change_hook): New variable.
8643 (Vwindow_configuration_change_hook): New variable.
8644 (syms_of_window): Initialize; set up Lisp var.
8645 (delete_window): New subroutine, from Fdelete_window.
8646 Most callers changed.
8647 (Fdelete_window): Call Vwindow_configuration_change_functions.
8648 (Fset_window_buffer, Fenlarge_window, Fshrink_window):
8649 Call the Vwindow_configuration_change_functions.
8650 (Fset_window_configuration): Likewise.
8651
8652 * dispnew.c (change_frame_size_1): Call Fset_window_buffer,
8653 so that Vwindow_configuration_change_hook gets run.
8654
8655 1997-03-25 Erik Naggum <erik@naggum.no>
8656
8657 * process.c (Fopen_network_stream): Use same socket for in and out.
8658
8659 1997-03-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
8660
8661 * frame.c (frames_bury_buffer): New function.
8662 * buffer.c (Fbury_buffer): Call frames_bury_buffer.
8663
8664 1997-03-22 Mark W. Eichin <eichin@kitten.gen.ma.us>
8665
8666 * keyboard.c (make_lispy_event): Use iso_lispy_function_keys for
8667 XK_ISO_* keys found in XFree86.
8668 (ISO_FUNCTION_KEY_OFFSET): New macro.
8669 (iso_lispy_function_keys): New table.
8670
8671 * xterm.c (XTread_socket): Accept XK_ISO_* keys.
8672
8673 1997-03-19 Kenichi Handa <handa@etl.go.jp>
8674
8675 * xterm.c (dumpglyphs): Set a clipping region when we draw glyphs
8676 with a font of inappropriate size.
8677 (x_list_fonts): Try alternative fonts if we can't find a font of an
8678 appropriate size.
8679
8680 * fontset.c (Valternative_fontname_alist): New variable.
8681 (syms_of_fontset): Declare Lisp variable alternative-fontname-alist.
8682
8683 * fontset.h (Valternative_fontname_alist): Extern it.
8684
8685 * term.c (insert_glyphs): Fix a bug which turns up when
8686 TS_ins_multi_chars is 0.
8687
8688 1997-03-18 Kenichi Handa <handa@etl.go.jp>
8689
8690 * xterm.c (x_list_fonts): Comment about cached font list added.
8691
8692 * fns.c (map_char_table): Handle multibyte characters.
8693
8694 * lisp.h (CHAR_TABLE_ORDINARY_SLOTS): Change to 384 (== 256 + 128).
8695 (CHAR_TABLE_STANDARD_SLOTS): Adjusted for the above change.
8696 (CHAR_TABLE_SINGLE_BYTE_SLOTS): New macro.
8697 (CHAR_TABLE_REF, CHAR_TABLE_SET): New macros.
8698
8699 * data.c (Faref, Faset): Adjusted for the above change.
8700
8701 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY): Likewise.
8702
8703 * category.h (CATEGORY_SET): Likewise.
8704
8705 * category.c (Fmodify_category_entry): Likewise.
8706
8707 * keymap.c (describe_vector): Likewise.
8708 (push_key_description): A key code less than 512 is printed with 3
8709 octal numbers. Print only entries of valid charsets.
8710
8711 * disptab.h (GLYPH_FOLLOW_ALIASES): Assure that the resulting G
8712 contains valid character code.
8713
8714 * xdisp.c (copy_part_of_rope): Declare glyph as type GLYPH. For a
8715 invalid character code, use ' ' (space).
8716 (display_string, display_text_line): Check validity of character
8717 code before calling fix_glyph.
8718
8719 * term.c (encode_terminal_code): Check validity of character code.
8720
8721 * charset.h (MAX_CHARSET): Definition changed to the actual
8722 maximum valid charset.
8723 (MAX_CHAR): New macro.
8724
8725 * charset.c, coding.h, coding.c, fontset.h, fontset.c, xselect.c:
8726 Adjusted for the above change.
8727
8728 * charset.c (str_cmpchar_id): Return -1 if we have no more room
8729 for a new composite character.
8730 (Fmake_char_internal): Docstring is moved to lisp/mule.el.
8731
8732 * fontset.h (struct font_info): Typo in comment of
8733 `relative_compose' fixed.
8734
8735 1997-03-14 Karl Heuer <kwzh@gnu.ai.mit.edu>
8736
8737 * window.c (change_window_height): Handle shrink as well as enlarge.
8738
8739 1997-03-13 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
8740
8741 * buffer.c (reset_buffer): Initialize display_count slot.
8742
8743 * search.c (Freplace_match): Give error if
8744 NEWTEXT uses backslash in an invalid way.
8745
8746 1997-03-10 Karl Heuer <kwzh@gnu.ai.mit.edu>
8747
8748 * lisp.h (FAST_MAKE_GLYPH): Don't cast CHAR arg; character codes
8749 are now wider than C chars.
8750
8751 1997-03-09 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
8752
8753 * buffer.c (Fkill_buffer): Call frames_discard_buffer.
8754 (record_buffer): Move buffer to front of frame_buffer_list.
8755 (Fother_buffer): Use frame_buffer_list.
8756
8757 * frame.h (struct frame): New field buffer_list.
8758
8759 * frame.c (frame_buffer_list, set_frame_buffer_list): New functions.
8760 (store_frame_param): Handle buffer-list parameter.
8761 (Qbuffer_list): New variable.
8762 (syms_of_frame_1): Initialize it.
8763 (make_frame): Initialize buffer_list field.
8764 (Fframe_parameters): Handle buffer-list parameter.
8765 (frames_discard_buffer): New function.
8766 (make_frame): Initialize buffer_list.
8767
8768 * alloc.c (mark_object): Mark the buffer_list field.
8769
8770 1997-03-05 Ken'ichi Handa <handa@etl.go.jp>
8771
8772 * coding.c (decode_eol): Fix bug of converting CRLF to LF.
8773
8774 1997-03-05 NIIBE Yutaka <gniibe@mri.co.jp>
8775
8776 * indent.c: (compute_motion): When POS >= TO, don't call
8777 find_before_next_newline as it assumes POS < TO.
8778
8779 1997-03-02 Ken'ichi Handa <handa@etl.go.jp>
8780
8781 * category.h (CATEGORY_SET): Cast arg C to
8782 `unsigned char' before indexing category table directly.
8783
8784 1997-03-01 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
8785
8786 * process.c (wait_reading_process_input): If wait_for_cell,
8787 ignore subprocess input and respond only to keyboard.
8788 (non_process_wait_mask): New variable.
8789 (add_keyboard_wait_descriptor): Update it.
8790 (delete_keyboard_wait_descriptor): Update it.
8791 (init_process): Initialize it.
8792
8793 1997-03-01 NIIBE Yutaka <gniibe@mri.co.jp>
8794
8795 * gmalloc.c [__GLIBC__ >= 2]: Don't declare __getpagesize.
8796
8797 1997-02-28 Tomohiko MORIOKA <morioka@jaist.ac.jp>
8798
8799 * coding.c (create_process, Fopen_network_stream): Typo in indexes
8800 of array proc_encode_coding_system fixed.
8801
8802 1997-02-28 Kenichi HANDA <handa@etl.go.jp>
8803
8804 * Makefile.in (lisp, shortlisp): Add lao.elc.
8805
8806 * buffer.c (init_buffer_once): Make member
8807 enable_multibyte_characters of struct buffer not always local.
8808 (reset_buffer): Do not reset b->enable_multibyte_characters.
8809 (syms_of_buffer): Declare default-enable-multibyte-characters.
8810
8811 * category.h (CATEGORY_SET): For a composite character, return
8812 category set of the first component.
8813
8814 * ccl.c (Fregister_ccl_program): Escape newlines in docstring.
8815
8816 * coding.h (struct iso2022_spec): Member requested_designation is
8817 changed to array of `char' just for saving memory.
8818 (CODING_FLAG_ISO_INIT_AT_BOL, CODING_FLAG_ISO_DESIGNATE_AT_BOL):
8819 New macros.
8820
8821 * coding.c (setup_coding_system): Now, flags of ISO2022 coding
8822 systems contains charsets instead of charset IDs. Correct setting
8823 coding->symbol and coding->eol_type. The performance improved.
8824 (encode_coding) : Fix typo ("=" -> "==").
8825 (detect_coding_iso2022, decode_coding_iso2022): Make the code
8826 robust against invalid SI and SO.
8827 (ENCODE_RESET_PLANE_AND_REGISTER): Argument `eol' is deleted.
8828 Don't call ENCODE_DESIGNATION if nothing designated initially.
8829 (encode_designation_at_bol) New function.
8830 (encode_coding_iso2022): Handle CODING_FLAG_ISO_INIT_AT_BOL and
8831 CODING_FLAG_ISO_DESIGNATE_AT_BOL.
8832 (detect_coding_iso2022): Detect coding-category-iso-8-2 more
8833 precisely.
8834 (Ffind_coding_system, syms_of_coding): Escape newlines in
8835 docstring.
8836
8837 * charset.h (INC_POS, DEC_POS): Don't increase or decrease too
8838 much if there's binary code (invalid character code).
8839
8840 * data.c (Faref, Faset): Handle a composite char correctly in
8841 char-table.
8842
8843 * disptab.h (DISP_CHAR_VECTOR): Allow bare 8-bit in display-table.
8844
8845 * charset.c (Fcmpchar_cmp_rule): Escape newlines in docstring.
8846
8847 * editfns.c (Fuser_full_name): Likewise.
8848
8849 * fileio.c (Finsert_file_contents, Fwrite_region): Do not perform
8850 character code conversion if enable-multibyte-characters is nil.
8851
8852 * fontset.h (Vuse_default_ascent): Extern.
8853
8854 * fontset.c (syms_of_fontset): Intern Qfontset. Declare new lisp
8855 variable use-default-ascent.
8856 (Vuse_default_ascent): New variable.
8857 (Ffont_info): Return also the value of default-ascent of a font.
8858 (fs_load_font): Disable updating fontsetp->height by non-ASCII
8859 character sets. This should be enabled when Emacs supports
8860 variable height lines.
8861 (fs_load_font, Fset_fontset_font): Bug fix to cope
8862 with the change of charsets to symbols.
8863
8864 * keymap.c (describe_vector): Do not describe deeper char-table if
8865 enable-multibyte-characters is nil.
8866
8867 * process.c (proc_decode_coding_system,
8868 proc_encode_coding_system): Changed to array of pointers to struct
8869 coding_system to reduce the size of dumped Emacs.
8870 (create_process, Fopen_network_stream): Allocate them dynamically.
8871 (init_process): Initialize these pointers to NULL.
8872 (Fstart_process, Fopen_network_stream): Do not perform character
8873 code conversion if enable-multibyte-characters is nil.
8874
8875 * search.c (skip_chars): If enable-multibyte-characters is nil,
8876 don't handle multibyte characters.
8877
8878 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY): Cast arg C to
8879 `unsigned char' before indexing syntax table directly.
8880
8881 * syntax.c (init_syntax_once): Add trick to avoid compiler warning
8882 of "comparison is always 1 ...".
8883 (describe_syntax): Handle the case that the argument VALUE is
8884 char-table.
8885
8886 * xdisp.c (display_mode_line): Avoid error while compiling with
8887 --with-x=no.
8888
8889 * xfns.c (syms_of_xfns): Documentation of
8890 x-pixel-size-width-font-regexp modified.
8891
8892 * xselect.c (lisp_data_to_selection_data, selection_data_to_lisp_data):
8893 Remove prefix "coding-system-" from coding system symbol names.
8894
8895 * xterm.h (struct x_display_info): New member
8896 Xatom_MULE_DEFAULT_ASCENT.
8897
8898 * xterm.c (dumpglyphs): Pay attention to characters registered in
8899 use-default-ascent. Fill background in advance if font has
8900 non-zero _MULE_BASELINE_OFFSET property.
8901 (x_load_font, x_term_init): Handle font property
8902 _MULE_DEFAULT_ASCENT.
8903
8904 1997-02-28 NIIBE Yutaka <gniibe@mri.co.jp>
8905
8906 * sysdep.c: `ospeed' should be short if not HAVE_TERMIO_H.
8907
8908 * xdisp.c (display_text_line): Correct displaying multi-column
8909 binary data.
8910 (try_window_id): Display blank lines from the next line, when
8911 xp.bufpos == ZV. (This bug is introduced by changes of Mule).
8912 Compare height against xp.vpos instead of xp.bufpos.
8913
8914 1997-02-27 Erik Naggum <erik@naggum.no>
8915
8916 * lread.c (Fload): Call Vload_source_file_function with 4 args.
8917
8918 1997-02-22 Tsugutomo ENAMI <enami@ba2.so-net.or.jp>
8919
8920 * regex.c: Include charset.h and category.h
8921
8922 [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P,
8923 SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH,
8924 STRING_CHAR_AND_LENGTH, GET_CHAR_AFTER_2, GET_CHAR_BEFORE_2):
8925 New dummy macros.
8926
8927 (enum re_opcode_t): New member categoryspec and
8928 notcategoryspec.
8929
8930 (STORE_CHARACTER_AND_INCR, EXTRACT_CHARACTER,
8931 CHARSET_LOOKUP_RANGE_TABLE_WITH_COUNT,
8932 CHARSET_LOOKUP_RANGE_TABLE, CHARSET_BITMAP_SIZE,
8933 CHARSET_RANGE_TABLE_EXISTS_P, CHARSET_RANGE_TABLE
8934 CHARSET_PAST_RANGE_TABLE): New macros.
8935
8936 (TRANSLATE): Cast return value to unsigned char, not char.
8937
8938 (struct range_table_work_area): New structure.
8939
8940 (EXTEND_RANGE_TABLE_WORK_AREA, SET_RANGE_TABLE_WORK_AREA,
8941 FREE_RANGE_TABLE_WORK_AREA, CLEAR_RANGE_TABLE_WORK_USED,
8942 RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_ELT): New macros.
8943 (FREE_STACK_RETURN): Call FREE_RANGE_TABLE_WORK_AREA.
8944
8945 (regex_compile): Declare `c' and `c1' as int to store
8946 multibyte characters.
8947 Declare range_table_work and initialize it.
8948 Initialize bufp->multibyte to 0 if not emacs.
8949 For case '[' and `default', code re-written to handle
8950 multibyte characters.
8951 Add code for case 'c' and 'C' to handle category spec.
8952
8953 (re_compile_fastmap): New local variables k, simple_char_max,
8954 and match_any_multibyte_characters.
8955 Use macro CHARSET_BITMAP_SIZE.
8956 Handle multibyte characters in cases charset, charset_not,
8957 wordchar, notwordchar, anychar, syntaxspec, notsyntaxspec,
8958 categoryspec, notcategoryspec.
8959
8960 (STOP_ADDR_VSTRING, POS_ADDR_VSTRING): New macros.
8961
8962 (re_search_2): Code re-written to handle multibyte characters.
8963
8964 (AT_WORD_BOUNDARY): Macro disabled.
8965
8966 (re_match_2_internal): New local variable multibyte. `d' is
8967 incremented while paying attention to multibyte characters if
8968 necessary.
8969 For case charset, charsetnot, wordbound, notwordbound,
8970 wordbeg, wordend, matchsyntax, and matchnotsyntax, code
8971 re-written to handle multibyte characters.
8972 Add code for case categoryspec and notcategoryspec.
8973
8974 * regex.h (struct re_pattern_buffer): New member multibyte.
8975
8976 1997-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
8977
8978 * window.c (Fset_window_buffer): Increment display_count
8979 if it is an integer.
8980
8981 * buffer.c (init_buffer_once): Set up display_count.
8982 (syms_of_buffer): Set up Lisp variable.
8983
8984 * buffer.h (struct buffer): New field display_count.
8985
8986 1997-02-20 NIIBE Yutaka <gniibe@mri.co.jp>
8987
8988 * dispnew.c (direct_output_forward_char): #if-0-out redundant
8989 check against truncated text at end of line.
8990 Add giving-up for buffers with reverse direction.
8991 (remake_frame_glyphs): Use FRAME_MESSAGE_BUF_SIZE
8992 instead of FRAME_WIDTH, as the message may include multi-byte
8993 character and the length may be longer than width.
8994 (width_run_cache_on_off): Disable width-run-cache when
8995 multi-byte characters are enabled.
8996 (skip_invisible): Don't put the boundary in the middle of
8997 multibyte characters.
8998
8999 * indent.c (current_column_bol_cache): New variable. This makes
9000 move_to_column faster.
9001 (current_column): Set current_column_bol_cache.
9002 (current_column_1): Likewise.
9003 (Fmove_to_column): Use current_column_bol_cache.
9004
9005 * xdisp.c (display_text_line): Introduce new local variable
9006 rev_dir_bit to display right to left characters (not yet used).
9007 * xdisp.c (message): Use FRAME_MESSAGE_BUF_SIZE.
9008 (redisplay_internal): Add canceling code for continuation at
9009 wide-column.
9010 (display_text_line): Don't just decrement left_edge->bufpos,
9011 it may be multi-byte character, use DEC_POS instead.
9012
9013 1997-02-20 NIIBE Yutaka <gniibe@mri.co.jp>
9014
9015 Handle multi-byte and wide-column character in computing columns.
9016 Note that we will find the continuation (linebreak) _AFTER_ it
9017 occurs.
9018
9019 * indent.c (current_column): When the buffer may have multi-byte
9020 characters, call current_column_1.
9021 (compute_motion): Handle multi-byte characters.
9022 (current_column_1): Likewise.
9023 (Fmove_to_column): Likewise.
9024
9025 1997-02-20 NIIBE Yutaka <gniibe@mri.co.jp>
9026
9027 Tab offset calculation changes. We need this change because the
9028 line may be less than WIDTH columns because of wide-character
9029 continuation.
9030
9031 * indent.h (struct position): New member tab_offset to accumulate
9032 tab offset.
9033
9034 * xdisp.c (try_window): Change the way of calculation of tab
9035 offset. We now use val.tab_offset to maintain tab offset.
9036 Removed local variable tab_offset.
9037 (try_window_id): Likewise.
9038
9039 * indent.c: Include "charset.h".
9040 (compute_motion): Remove the variable PREV_VPOS.
9041 Introduce new local variables (multibyte, wide_column, prev_pos,
9042 contin_hpos, prev_tab_offset) to handle multi-byte characters and
9043 wide-column characters.
9044
9045 (pos_tab_offset): Return COL (Modulo is no longer valid).
9046 Add the line to set tab_offset member.
9047 Use pos.tab_offset.
9048
9049 1997-02-20 NIIBE Yutaka <gniibe@mri.co.jp>
9050
9051 * window.c (Fpos_visible_in_window_p): Bug fix. Specify big
9052 negative number for the argument TOHPOS of compute_motion.
9053 We don't need to calculate to (HPOS==0), but can stop immediately
9054 when VPOS pasts HEIGHT.
9055 * xdisp.c (redisplay_window): Likewise.
9056 (try_window_id): Likewise.
9057
9058 * indent.c (pos_tab_offset): Specify "- (1 << (BITS_PER_SHORT - 1))"
9059 to express big negative number (for consistency with xdisp.c).
9060
9061 1997-02-20 NIIBE Yutaka <gniibe@mri.co.jp>
9062
9063 * indent.c (vmotion): Specify "1 << (BITS_PER_SHORT - 1)" to
9064 express "Don't care".
9065 * xdisp.c (tri_window_id): Likewise.
9066
9067 * dispnew.c (direct_output_forward_char): Bug fix. Add
9068 XFASTINT (w->left) for losing cursor check.
9069
9070 1997-02-20 Kenichi HANDA <handa@etl.go.jp>
9071
9072 * Makefile.in: The following changes are for new source codes
9073 related to Mule.
9074 (XOBJ): Include fontset.o.
9075 (obj): Include charset.o, coding.o, category.o, and ccl.o.
9076 (lisp, shortlisp): Include Mule related elc files.
9077 (buffer.o, cmds.o, dispnew.o, doprnt.o): Depend on charset.h.
9078 (editfns.o, indent.o, insdel.o, keymap.o): Depend on charset.h.
9079 (minibuf.o, xdisp.o, xfaces.o, xselect.o): Depend on charset.h.
9080 (data.o, print.o, lread.o): Depend on charset.h.
9081 (callproc.o, fileio.o, process.o, term.o): Depend on charset.h and
9082 coding.h.
9083 (regex.o, search.o, syntax.o): Depend on charset.h and category.h.
9084 (fontset.o): Depend on charset.h and fontset.h.
9085 (xterm.o): Depend on charset.h, ccl.h, and fontset.h.
9086 (category.o, ccl.o, charset.o, coding.o, fontset.o): New targets.
9087
9088 * alloc.c (Fmake_char_table): Typo in doc-string fixed. Handle
9089 the case that PURPOSE is nil (in a deeper char-table).
9090 (Fmake_bool_vector): Make correct size of Lisp_Object for
9091 bool-vector.
9092
9093 * buffer.c: Include charset.h.
9094 (Fget_buffer_create): Allocate an extra byte for a buffer, and
9095 make it always 0 for anchoring.
9096 (reset_buffer): Handle a new member `enable_multibyte_characters'
9097 in the struct buffer.
9098 (fix_overlay_before): New function.
9099 (init_buffer_once): Handle new members in the struct buffer.
9100 (syms_of_buffer): Declare new buffer local variables
9101 `enable-multibyte-characters' and `direction-reserved'.
9102
9103 * buffer.h (BEGV_ADDR, PT_ADDR, ZV_ADDR): Use macro POS_ADDR.
9104 (Z_ADDR, BUF_GPT_ADDR, BUF_Z_ADDR): New macros.
9105 (struct buffer): New members `category_table',
9106 `direction_reserved', and `enable-multibyte-characters'.
9107 (POS_ADDR): New macro used at all places instead of &FETCH_CHAR.
9108 (FETCH_BYTE): New macro used at any places to check the argument
9109 against an ASCII character.
9110 (FETCH_MULTIBYTE_CHAR): New macro used at any places to get a
9111 character code of the argument when it is known to be a multibyte
9112 character.
9113 (_fetch_multibyte_char_p, _fetch_multibyte_char_len): New
9114 variables.
9115 (FETCH_CHAR): Use macros FETCH_MULTIBYTE_CHAR and FETCH_BYTE.
9116
9117 * callint.c (doc-string of `interactive'): Describe new code
9118 letters `i', `z', and `Z'.
9119 (Fcall_interactively): Handle them.
9120
9121 * callproc.c: Include charset.h and coding.h.
9122 (Fcall_process): Perform character code conversion of a process
9123 arguments and the process output.
9124 (Fcall_process_region): Encode coding of a text given to a
9125 process.
9126
9127 * cmds.c: Include charset.h.
9128 (forward_point, Fforward_point): New functions.
9129 (Fforward_char, Fdelete_char): Handle multibyte characters by
9130 calling forward_point.
9131 (Fdelete_backward_char): Pay attention to multibyte characters
9132 in overwrite-mode.
9133 (internal_self_insert): Handle self inserting a multibyte
9134 character.
9135 (syms_of_cmds): Handle the new function Fforward_point.
9136
9137 * data.c: Include charset.h.
9138 (Qprocess): Now extern, not static.
9139 (Faref, Faset): Enable indexing a char table by a multibyte
9140 character.
9141
9142 * dispextern.h (struct face): New members `non_ascii_gc' and
9143 `fontset'.
9144 [HAVE_FACES]: New macros FACE_NON_ASCII_GC and FACE_FONTSET.
9145
9146 * dispnew.c: Include charset.h.
9147 (update_line): Handle wide-column characters.
9148
9149 * disptab.h (DISP_CHAR_VECTOR): Always return nil for multibyte
9150 characters.
9151
9152 * doprnt.c: Include charset.h.
9153 (doprn1): Handle multibyte characters.
9154
9155 * editfns.c: Include charset.h.
9156 (Fchar_to_string, Fstring_to_char): Handle multibyte characters.
9157 (Fsref): New function.
9158 (Fgoto_char): Force point to be at a character boundary.
9159 (Ffollowing_char, Fpreceding_char): Handle multibyte characters.
9160 (Fchar_after): Handle multibyte characters.
9161 (Fchar_before): New function.
9162 (general_insert_function): New function.
9163 (Finsert, Finsert_and_inherit, Finsert_before_markers): Use it.
9164 (Finsert_char): Doc-string refer to markers of
9165 before-insertion-type. Handle multibyte characters.
9166 (Fsubst_char_in_region): Handle multibyte characters.
9167 (Fchar_equal): Don't consider `case' of multibyte characters.
9168 (syms_of_editfns): Handle the new function `char-before'.
9169
9170 * emacs.c (main): Call several initialization function introduced
9171 by Mule.
9172
9173 * eval.c (init_eval_once): Increase max_lisp_eval_depth to 300.
9174
9175 * fileio.c: Include charset.h and coding.h.
9176 (READ_BUF_SIZE): New macro.
9177 (Finsert_file_contents): Refer to a coding system in the docstring.
9178 Perform character code conversion of a text read in.
9179 (Fwrite_region): Refer to a coding system in the docstring.
9180 Setup a coding system for character code conversion.
9181 Pass a new arg `pre_write_conversion' (Lisp function) to
9182 build_annotations.
9183 Pass a new arg `coding' to a_write.
9184 (build_annotations): Handle the new arg.
9185 (a_write): Handle the new arg `coding' by passing it to e_write.
9186 (WRITE_BUF_SIZE): New macro.
9187 (e_write): Perform character code conversion of a text to write
9188 out according to the new arg `coding'.
9189
9190 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray):
9191 Fix a bug of miscalculation of `size_in_chars' of a bool vector.
9192 (Fset_char_table_range): When range is vector, make the original
9193 char table deeper if necessary.
9194
9195 * frame.c: Include "charset.h"
9196 [HAVE_WINDOW_SYSTEM]: Include fontset.h.
9197 (make_frame): Allocate member `fontset_data' of the struct frame.
9198 (Fdelete_frame): Free the area for the member.
9199
9200 * frame.h (struct frame): New member `fontset_data'.
9201 (FRAME_MESSAGE_BUF_SIZE): New macro.
9202
9203 * insdel.c: Include charset.h.
9204 (gap_left, gap_right): Put an anchor `\0' at the end of GAP.
9205 (adjust_markers_for_insert): If any markers are adjusted, check
9206 and fix the order of overlays in overlays_before.
9207 (make_gap): Allocate an extra byte and set to `\0' for anchoring.
9208 (insert1, insert_from_buffer_1): Put an anchor `\0' at the head of
9209 GAP.
9210
9211 * keyboard.c (command_loop_1): Pay attention to a multibyte
9212 character while handling forward-char and backward-char.
9213 [!HAVE_NTGUI && XK_kana_A] (lispy_kana_keys): New variable.
9214 [!HAVE_NTGUI] (lispy_function_keys): New variable.
9215 (make_lispy_event) [XK_kana_A]: Handle kana keys.
9216
9217 * keymap.c: Include charset.h.
9218 (push_key_description): If enable-multibyte-characters is t, use
9219 octal representation for a code of range 128..255 as binary.
9220 (Ftext_char_description): Handle multibyte characters.
9221 (describe_vector): Provide prettier description of a char table
9222 which contains multibyte characters.
9223
9224 * lisp.h (CHARACTERBITS, GLYPH_MASK_REV_DIR): New macros.
9225 (GLYPH_MASK_PADDING, GLYPH_MASK_FACE, GLYPH_MASK_CHAR): New macros.
9226 [HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
9227 Use CHARACTERBITS.
9228 [!HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
9229 New macros.
9230 [!HAVE_FACES] (GLYPH_CHAR, GLYPH_FACE): Mask appropriate bits.
9231 (Fcoding_system_p, Fcheck_coding_system): Declare external.
9232 (Fread_coding_system, Fread_non_nil_coding_system): Likewise.
9233
9234 * lread.c: Include charset.h.
9235 (Vload_source_file_function): New variable.
9236 (Fload): Call Vload_source_file_function if defined while loading
9237 an Emacs Lisp source file. */
9238 (read_multibyte): New function.
9239 (read_escape): Handle multibyte characters.
9240 (read1): Correct the value of size_in_chars of a bool vector.
9241 Handle the case `?' is followed by a multibyte character.
9242 (Vload_source_file_function): New variable.
9243
9244 * minibuf.c: Include charset.h.
9245 (read_minibuf): Pay attention to multibyte characters in the arg
9246 INITIAL while handling the arg BACKUP_N.
9247 (scmp, Fminibuffer_complete_word): Handle multibyte characters.
9248
9249 * print.c: Include charset.h.
9250 (printchar, strout): Handle multibyte characters.
9251 (print): Correct the value of size_in_chars of a bool vector.
9252
9253 * process.c: Include charset.h and coding.h.
9254 (proc_decode_coding_system, proc_encode_coding_system): New
9255 variables.
9256 (Fstart_process, create_process, Fopen_network_stream): Setup
9257 coding systems for character code conversion.
9258 (READ_CHILD_OUTPUT): New macro.
9259 (read_process_output): Perform character code conversion of a
9260 process output.
9261 (send_process): Perform character code conversion of a text sent
9262 to a process.
9263 (Fset_process_coding_system, Fprocess_coding_system): New
9264 functions.
9265 (syms_of_process): Handle them.
9266
9267 * process.h (struct Lisp_Process): New members
9268 decode_coding_system, decoding_buf, encode_coding_system, and
9269 encoding_buf.
9270
9271 * puresize.h (BASE_PURESIZE): Increase.
9272
9273 * search.c: Include category.h and charset.h.
9274 (compile_pattern_1): Handle new argument `multibyte'.
9275 (compile_pattern): Handle the flag `enable-multibyte-characters'.
9276 (Vascii_downcase_table): Declare external.
9277 (fast_string_match_ignore_case): New function.
9278 (skip_chars): Handle multibyte characters.
9279 (trivial_regexp_p): Handle regular expression "\\Cc" and "\\CC"
9280 for category.
9281
9282 * syntax.c: Include charset.h and category.h.
9283 (Vsyntax_code_object): New variable.
9284 (Fmodify_syntax_entry): Handle multibyte characters. A multibyte
9285 character in matching parenthesis is also handled correctly. Use
9286 shared object in the vector Vsyntax_code_object for an ASCII
9287 character.
9288 (describe_syntax): Handle a multibyte character in matching
9289 parenthesis.
9290 (describe_syntax_1): Describe also parent syntax tables.
9291 (scan_words, Fforward_comment): Handle multibyte characters.
9292 (scan_lists, char_quoted, Fbackward_prefix_chars): Likewise.
9293 (scan_sexps_forward): Likewise.
9294 (init_syntax_once): Initialize Vsyntax_code_object.
9295 Initialize Vstandard_syntax_table by share objects in
9296 Vsyntax_code_object.
9297 (syms_of_syntax): Staticpro Vsyntax_code_object.
9298
9299 * syntax.h (SET_RAW_SYNTAX_ENTRY): Handle syntax of multibyte
9300 characters.
9301 (SYNTAX_ENTRY_FOLLOW_PARENT): New macro.
9302 (SYNTAX_ENTRY): Handle syntax of multibyte characters.
9303 (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH): Don't signal error even
9304 if a syntax entry is not cons.
9305
9306 * term.c: Include charset.h and coding.h.
9307 (TS_end_italic_mode, TS_italic_mode, TS_bold_mode): New variables.
9308 (TS_end_bold_mode, TS_end_underscore_mode): New variables.
9309 (TS_underscore_mode): New variable.
9310 (encode_terminal_code): New function.
9311 (write_glyphs, insert_glyphs): Perform character code conversion
9312 on output to a terminal.
9313 (term_init): Initialize TS_bold_mode, TS_end_bold_mode,
9314 TS_end_underscore_mode, and TS_underscore_mode.
9315
9316 * xdisp.c: Include charset.h, coding.h, and process.h.
9317 (display_text_line): Handle multibyte characters.
9318 (display_mode_line): Pay attention to wide-column characters.
9319 (decode_mode_spec_coding): New function.
9320 (decode_mode_spec): Handle %-constructs `%z' and `%Z' to print
9321 coding system mnemonics.
9322 (display_string): Handle multibyte characters.
9323
9324 * xfaces.c: Include charset.h.
9325 (allocate_face, copy_face, face_eq1): Handle member `fontset' of
9326 struct face, i.e. initialize, copy, and check it.
9327 (intern_face, clear_face_cache): Handle member `non_ascii_gc' of
9328 struct face, i.e. initialize and free it.
9329 (free_frame_faces): Unload font only when fontset is not used.
9330 Free non_ascii_gc.
9331 (frame_update_line_height, merge_faces, compute_base_face): Handle
9332 fontset.
9333 (recompute_base_faces): Free non_ascii_gc.
9334 (Fset_face_attribute_internal): Handle fontset.
9335
9336 * xfns.c: Include charset.h and fontset.h.
9337 (Vx_pixel_size_width_font_regexp): New variable.
9338 (x_set_font): Handle fontset.
9339 (Fx_create_frame): Create fontsets in Vglobal_fontset_alist.
9340 (Fx_list_fonts): Handle fontset.
9341 (syms_of_xfns): Initialize Vx_pixel_size_width_font_regexp.
9342 Setting callback functions for fontset handler.
9343
9344 * xselect.c: Include charset.h and coding.h.
9345 (QCOMPOUND_TEXT): New variable.
9346 (symbol_to_x_atom): Handle it.
9347 (selection_data_to_lisp_data): Decode a selection data if
9348 selection type is TEXT or COMPOUND_TEXT.
9349 (lisp_data_to_selection_data): Encode a text to COMPOUND_TEXT if
9350 it contains multibyte characters.
9351 (syms_of_xselect): Initialize and staticpro QCOMPOUND_TEXT.
9352
9353 * xterm.c: Include charset.h, ccl.h, and fontset.h.
9354 (PER_CHAR_METRIC): New macro.
9355 (dumpglyphs): New argument CMPCHARP. Handle multibyte characters.
9356 (XTwrite_glyphs, redraw_previous_char, redraw_following_char):
9357 Supply argument CMPCHARP to dumpglyphs.
9358 (dumprectangle): Display whole glyph of wide-column characters.
9359 Supply argument CMPCHARP to dumpglyphs.
9360 (show_mouse_face): Supply argument CMPCHARP to dumpglyphs.
9361 (x_draw_box): Pay attention to wide-column characters.
9362 (x_draw_single_glyph): Supply argument CMPCHARP to dumpglyphs.
9363 (x_new_font): Call fs_load_font for actual font loading work.
9364 (x_new_fontset): New function.
9365 (x_get_font_info, x_list_fonts, x_load_font, x_query_font): New
9366 functions providing API to fontset handler.
9367 (x_term_init): Initialize several new members of struct x_display_info.
9368
9369 * xterm.h (struct font_info): This definition is moved to
9370 fontset.h.
9371 (struct x_display_info): New members Xatom_PIXEL_SIZE,
9372 Xatom_MULE_BASELINE_OFFSET, Xatom_RELATIVE_COMPOSE, and null_pixel.
9373 (x_list_fonts, x_get_font_info, x_load_font, x_query_font):
9374 Declare external.
9375 (struct x_output): New members font_baseline and fontset.
9376 (FRAME_FONTSET, FRAME_X_FONT_TABLE): New macros.
9377
9378 * category.h, category.c, ccl.h, ccl.c, charset.h: New files.
9379 * charset.c, coding.h, coding.c, fontset.h, fontset.c: New files.
9380
9381 1997-02-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9382
9383 * print.c (print): Generate a backslash in \2e10.
9384
9385 1997-02-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9386
9387 * window.c (change_window_height): Take size from multiple siblings,
9388 nearest ones first, when that can be done without deleting any of them.
9389
9390 1997-02-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9391
9392 * minibuf.c (Fminibuffer_message): New function.
9393 (syms_of_minibuf): Set up Lisp function.
9394
9395 * syntax.c (scan_lists): Signal errors using scan-error.
9396 (syms_of_syntax): Set up Qscan_error.
9397
9398 1997-02-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9399
9400 * lread.c (Feval_buffer): Doc fix.
9401
9402 1997-02-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9403
9404 * window.c (scroll_preserve_screen_position): New variable.
9405 (keys_of_window): Set up Lisp var.
9406 (window_scroll): If scroll_preserve_screen_position is 0,
9407 behave the old way (advancing point the minimum distance).
9408
9409 1997-02-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9410
9411 * emacs.c (main): Don't extend stack limit too far.
9412
9413 Sun Feb 2 10:36:26 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu>
9414
9415 * msdos.c (dos_rawgetc): When international keyboard doesn't have
9416 to be supported, recognize Alt-key combinations even if the Alt
9417 key is no longer pressed.
9418
9419 1997-01-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9420
9421 * xfns.c (Vx_resource_class): New variable.
9422 (syms_of_xfns): Set up Lisp variable.
9423 (Fx_get_resource, x_window): Use Vx_resource_class.
9424 (validate_x_resource_name): Ensure Vx_resource_class is a string.
9425
9426 1997-01-27 Paul Eggert <eggert@twinsun.com>
9427
9428 * data.c (isnan): Define even if LISP_FLOAT_TYPE is not defined,
9429 since fmod might need it.
9430 (fmod): Ensure that the magnitude of the result does not exceed that
9431 of the divisor, and that the sign of the result does not disagree with
9432 that of the dividend. This does not yield a
9433 particularly accurate result, but at least it will be in the
9434 range promised by fmod.
9435
9436 * doprnt.c: Include <float.h> if STDC_HEADERS.
9437 (DBL_MAX_10_EXP): Define if not defined; default is IEEE double.
9438 (doprnt1): Allocate enough buffer space to handle very large floating
9439 point numbers, or very large field widths or precisions.
9440 Detect overflow in field widths or precisions.
9441
9442 1997-01-26 Karl Heuer <kwzh@gnu.ai.mit.edu>
9443
9444 * config.in (HAVE_RINT, HAVE_CBRT): Add undefs.
9445
9446 1997-01-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9447
9448 * lread.c (openp): Handle remote file names in path.
9449 Don't use the path for an absolute name.
9450 (Fload): Handle openp finding a remote file name.
9451
9452 1997-01-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
9453
9454 * floatfns.c [!HAVE_RINT] (rint): Convert macro to an actual
9455 function, so we can take its address.
9456
9457 1997-01-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9458
9459 * indent.c (pos_tab_offset): Take the width of the minibuffer
9460 prompt into account.
9461 (vmotion): In calls to compute_motion use a value for tab_offset
9462 that is corrected by the minibuffer prompt width.
9463
9464 * xdisp.c (try_window): Remove frobnication of tab_offset in a
9465 minibuffer window.
9466 (display_text_line): Likewise, for the taboffset parameter.
9467
9468 1997-01-24 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9469
9470 * lread.c (Qinhibit_file_name_operation): New variable.
9471 (syms_of_lread): Initialize and staticpro.
9472 (Fload): Bind inhibit-file-name-operation to nil.
9473
9474 1997-01-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9475
9476 * eval.c (unbind_to, specbind): Use set_internal.
9477
9478 * data.c (set_internal): New subroutine. New arg BINDFLAG.
9479 Don't make a new buffer-local binding if BINDFLAG is 0.
9480 (Fset): Use set_internal.
9481
9482 1997-01-21 Paul Eggert <eggert@twinsun.com>
9483
9484 * editfns.c (set_time_zone_rule_tz1, set_time_zone_rule_tz2):
9485 Put "+" in value; needed if we are a Solaris 1 executable
9486 running under Solaris 2.
9487 Define these variables only if LOCALTIME_CACHE is defined.
9488
9489 1997-01-21 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu>
9490
9491 * msdos.c (run_msdos_command): Remove unused variables.
9492 (crlf_to_lf): Remove unused variables.
9493 (Fmsdos_downcase_filename): Remove unused variable.
9494 (IT_set_frame_parameters): Declare prototypes for external functions.
9495 (IT_set_frame_parameters): Correct format specifier.
9496 (IT_set_terminal_modes): Remove unused variable.
9497 (top level): Add header files which declare used functions.
9498
9499 1997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9500
9501 * Makefile.in (stamp-oldxmenu): New target.
9502 (temacs): Depend on stamp-oldxmenu, not on ${OLDXMENU}.
9503
9504 1997-01-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9505
9506 * lisp.h (FAST_MAKE_GLYPH): Rename args to CHAR and FACE.
9507 Cast CHAR to unsigned char before using it.
9508
9509 * xterm.c (dumpglyphs): Declare g as GLYPH.
9510
9511 1997-01-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9512
9513 * term.c (fatal): Print a newline at the end.
9514 (term_init): Calls to fatal changed.
9515
9516 * eval.c (Fsignal): Call fatal if no error handlers and no catch.
9517
9518 * dispnew.c (init_display): Check for overflow in screen size.
9519 Use `fatal'.
9520
9521 1997-01-19 Geoff Voelker <voelker@cs.washington.edu>
9522
9523 * w32.c (init_environment): Rebuild Vsystem_configuration at startup.
9524
9525 * w32gui.h: Update include conditionals to use new name.
9526
9527 * w32gui.h: Renamed from win32.h.
9528 * dispextern.h, w32term.h, makefile.nt: Use new name w32gui.h.
9529 * makefile.nt: Update header comment.
9530
9531 * w32console.c (initialize_w32_display): Renamed from
9532 initialize_win_nt_display.
9533 * term.c (term_init): Use new name initialize_w32_display.
9534
9535 * w32.c, w32console.c, w32faces.c, w32fns.c, w32heap.c,
9536 w32inevt.c, w32menu.c, w32proc.c, w32select.c, w32term.c,
9537 w32xfns.c, win32.h, w32inevt.h, w32term.h: Change all uses of win95,
9538 winnt, and win32 into Windows 95, Windows NT, and W32, respectively.
9539 Expand "win" substring in variables referring to Microsoft Windows
9540 constructs into "windows".
9541 Canonicalize header comments to use same terminology.
9542
9543 1997-01-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9544
9545 * search.c (skip_chars): Optimize by not calling SET_PT in the loop.
9546
9547 1997-01-16 Erik Naggum <erik@naggum.no>
9548
9549 * keymap.c (push_key_description): Print C-j, not LFD.
9550
9551 1997-01-16 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu>
9552
9553 * msdos.c (XMenuActivate): Don't allow non-positive menu
9554 coordinates.
9555
9556 1997-01-15 Eli Zaretskii <eliz@is.elta.co.il>
9557
9558 * keyboard.c (interrupt_signal): Make emergency exit work on MSDOS
9559 frames. Block further SIGINTs while `interrupt_signal' runs.
9560
9561 * msdos.c (sigprocmask, sig_suspender): New functions, implement
9562 signal blocking on MSDOS.
9563
9564 1997-01-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9565
9566 * s/hpux9.h (HAVE_PSTAT_GETDYNAMIC): New definition.
9567
9568 1997-01-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9569
9570 * w32.c (get_emacs_configuration): Return windows95 instead of win95.
9571
9572 1997-01-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9573
9574 * dispnew.c (change_frame_size_1): Reject new sizes if they cause
9575 overflow.
9576
9577 1997-01-13 Eli Zaretskii <eliz@is.elta.co.il>
9578
9579 * emacs.c (init_cmdargs) [MSDOS]: Allow `installation-directory'
9580 to be set if either `lib-src' or `info' are found as its
9581 subdirectories or siblings.
9582
9583 1997-01-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9584
9585 * fns.c (concat): Take modulus of thisindex before shifting.
9586 Declare thisindex as unsigned.
9587
9588 1997-01-12 Geoff Voelker <voelker@cs.washington.edu>
9589
9590 * w32menu.c (x-popup-menu): Pass in insist flag to mouse_position_hook.
9591
9592 1997-01-11 Paul Eggert <eggert@twinsun.com>
9593
9594 * floatfns.c (rounding_driver): New function for systematic support of
9595 2-argument rounding functions, so that `floor' isn't the only one
9596 that supports 2 arguments.
9597 (Fceiling, Ffloor, Fround, Ftruncate): Use it.
9598 (ceiling2, floor2, round2, truncate2, double_identity): New functions.
9599 (syms_of_floatfns): Define ceiling, round, and truncate even if
9600 LISP_FLOAT_TYPE is not defined.
9601
9602 1997-01-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9603
9604 * lread.c (read1): Round size of bool-vector properly.
9605
9606 * print.c (print): Round size of bool-vector properly.
9607
9608 * lread.c (read1): Fix error messages.
9609
9610 1997-01-09 Steve Nygard <nygard@telusplanet.net>
9611
9612 * unexnext.c: Include <mach-o/reloc.h>.
9613 (fgrowth): Initialize to zero.
9614 (vmaddr_growth, dataseg_vmaddr, dataseg_vmend): New variables.
9615 [NS_TARGET] (extreloff, nextrel, dysymtab, reloc_info): New variables.
9616 (unexec_doit): Adjust file offsets of segments that follow the
9617 enlarged data segment. Adjust vmaddr of the SEG_LINKEDIT segment that
9618 follows the data segment.
9619 [NS_TARGET] (unexec_doit): Adjust file offsets in the LC_DYSYMTAB load
9620 command that follows the data segment. Zero out relocation entries
9621 that fall within the data segment.
9622
9623 1997-01-07 Karl Berry <karl@cs.umb.edu>
9624
9625 * filelock.c (LOCK_PID_MAX): Use sizeof (unsigned long) instead
9626 of hardwiring 21.
9627 (lock_file_1): Use LOCK_PID_MAX when allocating lock_info_str
9628 instead of hardwiring 21.
9629
9630 1997-01-06 Eli Zaretskii <eliz@is.elta.co.il>
9631
9632 * msdos.c (bright_bg): Save the original state of video blink bit.
9633 (maybe_enable_blinking): New function, restores the original state
9634 of the blink bit.
9635 (IT_reset_terminal_modes): Restore the original state of the blink
9636 bit when suspending/exiting.
9637 (run_msdos_command): Make sure bright background colors are again
9638 enabled after subsidiary program returns.
9639
9640 1997-01-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9641
9642 * data.c (Fset_default): For a BUFFER_OBJFWD, store into
9643 buffer_defaults even if mask < 0.
9644
9645 1997-01-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9646
9647 * keyboard.c (command_loop_1, read_char):
9648 Run Qecho_area_clear_hook when clearing echo area.
9649 (Qecho_area_clear_hook): New variable.
9650 (syms_of_keyboard): Initialize it.
9651
9652 * buffer.c (Fpop_to_buffer): New arg NORECORD.
9653
9654 1997-01-04 Geoff Voelker <voelker@cs.washington.edu>
9655
9656 * w32proc.c (compare_env, merge_and_sort_env): New functions.
9657 (sys_spawnve): Sort environment variables for subprocess.
9658 (ppid_env_var_buffer): Variable deleted.
9659
9660 1997-01-02 Karl Berry <karl@cs.umb.edu>
9661
9662 * filelock.c (lock_info_type): Declare pid as unsigned long
9663 instead of int.
9664 (lock_file_1): Use %lu instead of %d in printf.
9665
9666 1997-01-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9667
9668 * cmds.c (internal_self_insert): Check the property
9669 on the hook, not on the abbrev symbol.
9670
9671 * dispnew.c (update_frame): Call detect_input_pending
9672 for X as well as for termcap frames.
9673
9674 1996-12-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9675
9676 * bytecode.c (HANDLE_RELOCATION): New macro.
9677 (MAYBE_GC): Call HANDLE_RELOCATION. Swallow following semicolon.
9678 (Fbyte_code): Use HANDLE_RELOCATION.
9679
9680 1996-12-31 Paul Eggert <eggert@twinsun.com>
9681
9682 * s/nextstep.h, s/sco4.h (BROKEN_MKTIME): New macro.
9683 * Makefile.in (MKTIME_OBJ), config.in (mktime):
9684 Use BROKEN_MKTIME to determine whether mktime is broken.
9685
9686 1996-12-30 Paul Eggert <eggert@twinsun.com>
9687
9688 * data.c, floatfns.c: <float.h>: Include if STDC_HEADERS.
9689 (IEEE_FLOATING_POINT): New symbol.
9690 * data.c (float_arith_driver, Fmod), floatfns.c (Ffloor):
9691 Test for division by 0 only if ! IEEE_FLOATING_POINT.
9692 * floatfns.c (fmod_float): New function.
9693
9694 * Makefile.in (MKTIME_OBJ): Use our mktime instead of SCO
9695 3.2v4.2's, since SCO's botches time arithmetic as used by display-time.
9696
9697 1996-12-30 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9698
9699 * bytecode.c (Fbyte_code): Add error check for jumping out of range.
9700
9701 * s/hiuxmpp.h, m/sr2k.h: New files.
9702
9703 1996-12-29 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9704
9705 * Makefile.in (process.o): Depend on blockinput.h.
9706
9707 * process.c: Include blockinput.h.
9708 (create_process): Block input around the fork.
9709
9710 1996-12-27 Karl Berry <karl@owl.HQ.Ileaf.COM>
9711
9712 * filelock.c: Total rewrite.
9713
9714 1996-12-26 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9715
9716 * data.c (Ffset): Change argument name and doc string.
9717 (Fdefalias): Likewise.
9718
9719 1996-12-26 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
9720
9721 * xterm.c (x_iconify_frame): Clear visible when we set iconified.
9722
9723 1996-12-25 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
9724
9725 * window.c (window_scroll): Preserve vpos of point
9726 if we cannot preserve the actual position of it.
9727 Make it static. New arg WHOLE; callers changed.
9728
9729 * keyboard.c (read_char_x_menu_prompt): Unread and record all the
9730 input events from here.
9731 (record_menu_key): New subroutine.
9732
9733 * xmenu.c (single_keymap_panes): New arg DEPTH.
9734 Cut off recursion at that depth. Callers changed.
9735
9736 1996-12-23 +02 Eli Zaretskii <eliz@is.elta.co.il>
9737
9738 * msdos.c (dos_set_keyboard): Test whether KEYB.COM is installed
9739 for international keyboard support.
9740 (dos_get_modifiers): If international keyboard support is NOT
9741 required, make both Right and Left Alt key behave like Meta key.
9742
9743 1996-12-22 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
9744
9745 * emacs.c (standard_args): Add -find-file and -visit.
9746
9747 * cmds.c (internal_self_insert): If the abbrev has no expansion,
9748 just a hook, inhibit the insertion of the character.
9749
9750 * abbrev.c (Fexpand_abbrev): Return the abbrev symbol,
9751 or nil if no expansion.
9752
9753 1996-12-20 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9754
9755 * xdisp.c (try_window): Add error check for POS.
9756
9757 1996-12-19 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9758
9759 * s/nextstep.h (LD_SWITCH_SYSTEM): Use just -X.
9760 (LIB_STANDARD): Alternate definition if NS_TARGET.
9761
9762 * xfns.c (x_set_title): Check data type of NAME.
9763
9764 * search.c (Fmatch_data): Doc fix.
9765
9766 1996-12-19 Werner Benger <werner@ast1.uibk.ac.at>
9767
9768 * keyboard.c (modify_event_symbol):
9769 Don't index thru name_table if it is null.
9770
9771 1996-12-19 Erik Naggum <erik@naggum.no>
9772
9773 * process.c (read_process_output, exec_sentinel):
9774 * w32menu.c (set_frame_menubar):
9775 * xdisp.c (prepare_menu_bars, update_menu_bar):
9776 * xmenu.c (set_frame_menubar):
9777 Call Fmatch_data with new explicit arguments.
9778
9779 1996-12-18 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9780
9781 * search.c (Fmatch_data): New args INTEGERS and REUSE.
9782
9783 * process.c (send_process) [EMACS_HAS_USECS]:
9784 When we wait for the buffer to clear, wait just .02 second.
9785
9786 * intervals.c (adjust_intervals_for_insertion):
9787 Be smarter about when to split an interval
9788 for properties that are not sticky on either side.
9789
9790 * intervals.h (FRONT_NONSTICKY_P): New macro.
9791
9792 * intervals.c (set_point): Use virtual bounds, not real bounds,
9793 in the abort test for POSITION.
9794 Skip the intangibility test if POSITION is at either end of buffer.
9795
9796 1996-12-18 Jonathan I. Kamens <jik@annex-1-slip-jik.cam.ov.com>
9797
9798 * config.in (HAVE_LIBMAIL, HAVE_MAILLOCK_H, HAVE_TOUCHLOCK):
9799 Add #undefs.
9800
9801 1996-12-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9802
9803 * fileio.c (Finsert_file_contents): Handle BEG and END non-nil
9804 when REPLACE is non-nil.
9805
9806 1996-12-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9807
9808 * intervals.c (merge_properties_sticky): Don't discard explicit nil
9809 properties. Don't put on a front-sticky property if we inherit
9810 one from the category that does the job.
9811
9812 * config.in (HAVE_LIMITS_H): Add #undef.
9813
9814 1996-12-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9815
9816 * intervals.c (set_point): Check for intangible properties
9817 on overlays.
9818
9819 * textprop.c (Fnext_char_property_change): New function.
9820 (Fprevious_char_property_change): New function.
9821 (syms_of_textprop): defsubr them.
9822
9823 1996-12-14 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
9824
9825 * editfns.c (Fuser_full_name): Return nil if the specified user
9826 doesn't exist.
9827 (init_editfns): Set Vuser_full_name to "unknown" if the user name
9828 can't be resolved.
9829
9830 1996-12-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9831
9832 * strftime.c: Replace this with the version from libc.
9833
9834 1996-12-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9835
9836 * xfns.c (x_set_scroll_bar_width): Reject a width that's too small.
9837
9838 1006-12-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9839
9840 * buffer.c (syms_of_buffer): Doc fix (transient-mark-mode).
9841
9842 1996-12-10 Andrew Innes <andrewi@harlequin.co.uk>
9843
9844 * fileio.c (Fwrite_region): Be careful not to destroy contents of
9845 existing file when appending.
9846
9847 1996-12-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9848
9849 * fileio.c (Fread_file_name_internal): Verify STRING is a string.
9850 (Fread_file_name): Don't insert DIR or INITIAL if it isn't a string.
9851
9852 1996-12-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9853
9854 * s/aix4-2.h: New file.
9855
9856 1995-12-08 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
9857
9858 * editfns.c (Fuser_full_name): Use build_string instead of make_string.
9859
9860 1996-12-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
9861
9862 * callproc.c (Fcall_process_region): Define missing local `count'.
9863
9864 * xdisp.c (message2_nolog): Handle minibuffer_auto_raise.
9865
9866 * minibuf.c (syms_of_minibuf): Doc fix.
9867
9868 1996-12-07 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
9869
9870 * editfns.c (Fuser_full_name): Accept a string (the login name) as
9871 a parameter. Do ampersand expansion, if required.
9872 (init_editfns): Use it.
9873
9874 1996-12-06 Eli Zaretskii <eliz@is.elta.co.il>
9875
9876 * msdos.c (IT_cmgoto): Don't update FRAME_CURSOR_X when the cursor
9877 is in echo area.
9878
9879 1996-12-05 Erik Naggum <erik@naggum.no>
9880
9881 * keyboard.c (syms_of_keyboard): Doc fix.
9882
9883 1996-11-28 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
9884
9885 * callproc.c (Vtemp_file_name_pattern): New variable.
9886 (syms_of_callproc): Set up Lisp variable.
9887 (init_callproc): Initialize it.
9888 (Fcall_process_region): Use it.
9889
9890 * bytecode.c (MAYBE_GC): New macro.
9891 (Fbyte_code): Use MAYBE_GC in every goto opcode.
9892
9893 1996-11-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
9894
9895 * editfns.c (Fline_beginning_position, Fline_end_position): New fns.
9896 * cmds.c (Fend_of_line, Fbeginning_of_line):
9897 Use Fline_beginning_position, Fline_end_position.
9898 * lisp.h (Fend_of_line, Fbeginning_of_line): Declared.
9899
9900 1996-11-23 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
9901
9902 * window.c (window_scroll): Don't set w->start or w->force_start
9903 if signaling an error.
9904
9905 * xmenu.c (Vmenu_updating_frame): New variable.
9906 (syms_of_xmenu): Set up Lisp var.
9907 (Fx_popup_menu, set_frame_menubar): Initialize it.
9908
9909 1996-11-23 Erik Naggum <erik@naggum.no>
9910
9911 * keyboard.c (syms_of_keyboard): Doc fix for num-input-keys.
9912
9913 1996-11-22 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
9914
9915 * editfns.c (Fuser_full_name): Accept an optional UID and return
9916 the full name of that user instead.
9917
9918 1996-11-20 Andrew Innes <andrewi@harlequin.co.uk>
9919
9920 * w32fns.c (w32_wnd_proc): Use dummy message to wake up thread on
9921 quit_char.
9922
9923 1996-11-19 Eli Zaretskii <eliz@is.elta.co.il>
9924
9925 * msdos.c [__DJGPP__ >= 2] (dos_direct_output): Faster method of
9926 writing characters to the screen.
9927 (SCREEN_SET_CURSOR): Remove.
9928 (IT_display_cursor): New function, to turn the cursor on and off.
9929 (IT_cmgoto): New function, sets the cursor to its final position
9930 whenever frame update is complete.
9931 (internal_terminal_init): Set IT_cmgoto as the hook to be called
9932 when frame is up to date.
9933 (dos_rawgetc): Call IT_cmgoto instead of the SCREEN_SET_CURSOR
9934 macro (which is gone now).
9935 (XMenuActivate): Turn off the cursor while the menu is displayed,
9936 to prevent it from showing through the menu panes.
9937
9938 1996-11-19 Geoff Voelker <voelker@cs.washington.edu>
9939
9940 * w32.c, w32.h: Renamed from nt.c, nt.h.
9941 * w32heap.c, w32heap.h: Renamed from ntheap.c, ntheap.h.
9942 * w32inevt.c, w32inevt.h: Renamed from ntinevt.c, ntinevt.h.
9943 * w32proc.c: Renamed from ntproc.c.
9944 * w32console.c: Renamed from w32term.c.
9945 * unexw32.c: Renamed from unexnt.c.
9946 * s/ms-w32.h: Renamed from s/windowsnt.h.
9947
9948 * dispnew.c (init_display) [HAVE_NTGUI]: Use w32 for window-system.
9949
9950 * Makefile.in, callproc.c, makefile.nt: Use new names for w32 files.
9951
9952 1996-11-18 Geoff Voelker <voelker@cs.washington.edu>
9953
9954 * emacs.c, frame.c, frame.h, keyboard.c, nt.c, nt.h,
9955 ntheap.c, ntheap.h, ntinevt.c, ntinevt.h, ntproc.c, ntterm.c,
9956 termhooks.h, unexnt.c, w32faces.c, w32fns.c, w32menu.c, w32reg.c,
9957 w32select.c, w32term.c, w32term.h, w32xfns.c, s/windowsnt.h:
9958 Change identifiers of the form win32* to w32*.
9959
9960 * window.c (special-display-p, same-window-p): Add missing
9961 newlines and backslashes in help strings.
9962
9963 1996-11-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9964
9965 * xdisp.c (redisplay_window): When handling scroll_conservatively,
9966 scroll a little farther for the sake of scroll_margin.
9967
9968 1996-11-11 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9969
9970 * abbrev.c (Fexpand_abbrev): If the abbrev's expansion is nil,
9971 don't expand it, but do still call the hook.
9972 (Fdefine_abbrev): Allow anything for EXPANSION.
9973
9974 * frame.c (Fmodify_frame_parameters): Use alist in reverse order.
9975
9976 1996-11-10 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9977
9978 * process.c (status_notify): Test p->infd > 0
9979 before each call to read_process_output.
9980 (read_process_output): Handle match data properly in recursive calls.
9981 (exec_sentinel): Likewise.
9982
9983 * window.c (window_scroll): Handle scroll_margin
9984 by putting point at a place that won't force recentering.
9985
9986 * xdisp.c (scroll_margin): New variable.
9987 (init_xdisp): Set up Lisp variable.
9988 (redisplay_window): Implement scroll_margin; don't use old start pos
9989 if point is inside the margin.
9990
9991 1996-11-09 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
9992
9993 * window.h (struct window): New field optional_new_start.
9994 * xdisp.c (redisplay_window): Handle optional_new_start.
9995 * window.c (Fdelete_other_windows): Set optional_new_start
9996 instead of force_start.
9997
9998 * insdel.c (signal_after_change): If Vcombine_after_change_calls,
9999 save up changes in combine_after_change_list.
10000 (Fcombine_after_change_execute)
10001 (Fcombine_after_change_execute_1): New subroutines.
10002 (syms_of_insdel): New function.
10003
10004 * emacs.c (main): Call syms_of_insdel.
10005
10006 * fns.c: Include frame.h and window.h.
10007 (Fy_or_n_p): Handle minibuffer_auto_raise here.
10008
10009 * Makefile.in (fns.o): Depend on frame.h and window.h.
10010
10011 1996-11-08 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10012
10013 * macros.c (Fcall_last_kbd_macro): Set this_command from last_command
10014 on entry and again on exit.
10015
10016 1996-11-07 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10017
10018 * frame.c (Fmodify_frame_parameters): Doc fix.
10019
10020 * fileio.c (USG5 or BSD_SYSTEM or LINUX): Include fcntl.h.
10021 (Ffile_readable_p): Return immediately if stat fails.
10022 Call S_ISFIFO correctly.
10023
10024 1996-11-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10025
10026 * editfns.c (Fencode_time): Doc fix.
10027
10028 1996-11-06 John F. Carr <carrj@polaroid.com>
10029
10030 * dired.c (Ffile_attributes): Represent inode number as a pair of
10031 integers in case inode numbers do not fit in a Lisp integer.
10032
10033 1996-11-06 Eli Zaretskii <eliz@is.elta.co.il>
10034
10035 * msdos.c [__DJGPP_MINOR__ == 0] (_rename): New function, a
10036 substitute for library low-level file-renaming function which
10037 works around Windows 95 bug.
10038
10039 1996-11-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10040
10041 * window.c (window_loop, case GET_BUFFER_WINDOW):
10042 Don't find any minibuffer window
10043 except the one that is currently in use.
10044
10045 1996-11-05 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10046
10047 * fileio.c (S_ISFIFO): Default definition (if S_IFIFO is defined).
10048
10049 * editfns.c (Fencode_time): Use xfree, not free.
10050
10051 * print.c (PRINTFINISH): Use xfree, not free.
10052
10053 1996-11-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10054
10055 * xfns.c (Fx_create_frame): Look for X-resource for minibuffer.
10056
10057 * alloc.c (Fgarbage_collect): Use Vhistory_length
10058 for truncating Vcommand_history.
10059
10060 * print.c (PRINTPREPARE): Really do set free_print_buffer.
10061
10062 * xdisp.c (scroll_conservatively): New variable.
10063 (redisplay_window): Obey it.
10064 (syms_of_xdisp): Set up Lisp var.
10065
10066 1996-11-02 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10067
10068 * minibuf.c (choose_minibuf_frame): Don't change selected_frame's
10069 selected window even if it is a minibuffer window,
10070 if it is active.
10071
10072 1996-11-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10073
10074 * print.c (PRINTDECLARE): Declare specpdl_count and free_print_buffer.
10075 (PRINTPREPARE): If print_buffer is nonzero,
10076 save its contents in a string using record_unwind_protect.
10077 (PRINTFINISH): Restore old print_buffer contents.
10078 Free it only if this PRINTPREPARE malloc'd it.
10079 (print): Don't call PRINTFULLP after all.
10080 (print_unwind): New function.
10081
10082 * print.c (printchar, strout): Do QUIT for echo area output.
10083 (PRINTFULLP): New macro.
10084 (print): Exit if PRINTFULLP.
10085 When printing a symbol, don't save a pointer to the name.
10086 (PRINTFINISH): Null out print_buffer after freeing it.
10087
10088 1996-10-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10089
10090 * xterm.c (cancel_mouse_face): New function. Code copied from
10091 x_set_window_size, fixing a bug.
10092 (x_set_window_size): Use cancel_mouse_face.
10093 (XTread_socket): When frame size has changed, call cancel_mouse_face.
10094
10095 * widget.c (EmacsFrameResize): Use cancel_mouse_face.
10096
10097 1996-10-31 Erik Naggum <erik@naggum.no>
10098
10099 Reorganize function definitions so etags finds them.
10100 * abbrev.c (Finsert_abbrev_table_description).
10101 * editfns.c (Finsert_and_inherit_before_markers).
10102 * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success,
10103 Frun_hook_with_args_until_failure).
10104 * window.c (Fcurrent_window_configuration).
10105 * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal,
10106 Fx_disown_selection_internal).
10107
10108 1996-10-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10109
10110 * emacs.c (main): Clear out *Messages* before init_callproc.
10111
10112 * keyboard.c (command_loop_1): Update selected buffer again
10113 after read_key_sequence.
10114
10115 1996-10-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10116
10117 * callproc.c (init_callproc): Use dir_warning.
10118
10119 * lread.c (dir_warning): New function.
10120 (init_lread): Use dir_warning.
10121
10122 1996-10-28 Erik Naggum <erik@naggum.no>
10123
10124 * alloc.c (Fmake_char_table): Doc fix.
10125
10126 1996-10-25 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
10127
10128 * keymap.c (describe_buffer_bindings): Pass 1 for PARTIAL
10129 in some calls to describe_map_tree.
10130
10131 1996-10-24 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
10132
10133 * process.c (status_notify): Update p->tick again
10134 just before running the sentinel, in case it dies.
10135
10136 1996-10-23 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
10137
10138 * xdisp.c (decode_mode_spec): In the `L' case,
10139 remove a buffer from base_line_pos if window has switched buffers.
10140
10141 1996-10-15 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10142
10143 * minibuf.c (read_minibuf_unwind): Don't restore minibuf_window;
10144 instead call choose_minibuf_frame.
10145 (choose_minibuf_frame): Don't let any other frame keep its minibuf
10146 window selected.
10147
10148 * xterm.c (XTread_socket, KeyPress case): Clear compose_status
10149 if the key has the meta modifier.
10150
10151 1996-10-14 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10152
10153 * eval.c (Vdebug_on_signal): Renamed from Vdebug_force.
10154
10155 1996-10-13 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10156
10157 * m/pmax.h (BROKEN_O_NONBLOCK): Define only if Ultrix.
10158 (LIBS_MACHINE, KERNEL_FILE): Don't define if __NetBSD__.
10159 (C_SWITCH_X_MACHINE): Define only if Ultrix.
10160 [__NetBSD__] (START_FILES, CANNOT_DUMP): New definitions.
10161 [__NetBSD__] (RUN_TIME_REMAP, UNEXEC): Undef them.
10162
10163 * m/mips.h (UNEXEC): Undef before defining.
10164
10165 * fileio.c (Fexpand_file_name):
10166 No longer discard .../ before another / or ~.
10167 That is now only in Fsubstitute_in_file_name.
10168
10169 1996-10-12 Simon Marshall <simon@duality.gnu.ai.mit.edu>
10170
10171 * data.c (Fdefine_function): Function definition deleted.
10172 (syms_of_data): Don't call defsubr for it.
10173
10174 1996-10-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10175
10176 * xterm.c (XTwrite_glyphs, XTclear_end_of_line, XTclear_frame)
10177 (clear_cursor, x_display_bar_cursor, x_display_box_cursor)
10178 (x_set_window_size): Use phys_cursor_on field in frame.
10179 (x_update_cursor): Negative phys_cursor_x no longer means anything.
10180
10181 * frame.h (struct frame): New field phys_cursor_on.
10182
10183 1996-10-08 David KÃ¥gedal <davidk@lysator.liu.se>
10184
10185 * xmenu.c (Fx_popup_menu): Give the menu a title when the menu is
10186 a single keymap.
10187
10188 1996-10-07 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10189
10190 * s/ptx.h (POSIX_SIGNALS): New definition.
10191
10192 * dispnew.c (init_display): If not yet initialized,
10193 we can't really use X, so we must do the real work.
10194
10195 1996-10-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10196
10197 * xdisp.c (display_text_line): New arg ovstr_done. (Callers changed).
10198 Ignore that many chars from start of overlay strings.
10199 Return updated value in ovstring_chars_done field.
10200
10201 * indent.c (vmotion, compute_motion): Fill in ovstring_chars_done
10202 in the return value.
10203
10204 * indent.h (struct position): New field ovstring_chars_done.
10205
10206 1996-10-06 Erik Naggum <erik@naggum.no>
10207
10208 * window.c (Fspecial_display_p, Fsame_window_p): New functions.
10209 (Fdisplay_buffer): Use them, instead of doing the work here.
10210 (syms_of_window): Defsubr them.
10211
10212 1996-10-05 Marcus G. Daniels <marcus@coulee.tdb.com>
10213
10214 * xfns.c (x_set_internal_border_width): Only change
10215 an edit_widget's internal_border_width for the toolkit case.
10216
10217 1996-10-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10218
10219 * lread.c (openp): Omit /: from start of file name.
10220
10221 1996-10-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10222
10223 * buffer.c (init_buffer): Add /: to dir names that could be magic.
10224 * emacs.c (decode_env_path): Add /: to dir names that could be magic.
10225 (init_cmdargs): Add /: to argv[0] if it could be magic.
10226
10227 1996-10-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10228
10229 * xfns.c (syms_of_xfns): For x-sensitive-text-pointer-shape, use
10230 DEFVAR_LISP.
10231
10232 1996-10-01 Karl Heuer <kwzh@gnu.ai.mit.edu>
10233
10234 * frame.c (store_frame_param): Allow setting a frame's minibuffer
10235 to the value that it already has.
10236
10237 1996-10-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10238
10239 * buffer.c (syms_of_buffer): Doc fix.
10240
10241 1996-09-28 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10242
10243 * xterm.c (show_mouse_face): Undo 1996-08-30 change.
10244
10245 * s/irix5-0.h (ospeed): New definition.
10246 * s/irix6-0.h (ospeed): New #undef to counteract that definition.
10247
10248 1996-09-27 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10249
10250 * xterm.c (XTflash): Don't flash in the internal borders.
10251 or between a scroll bar and the edge.
10252
10253 * eval.c (Vdebug_force): New variable.
10254 (syms_of_eval): Set up Lisp var.
10255 (find_handler_clause): If Vdebug_force, call debugger
10256 even if there are handlers.
10257
10258 1996-09-26 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
10259
10260 * xfns.c (x_set_scroll_bar_width): Move cursor to the
10261 left margin, past a scroll bar, if any.
10262
10263 1996-09-26 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10264
10265 * lread.c (isfloat_string): Accept E like e.
10266
10267 * callint.c (Fcall_interactively): Bind cursor-in-echo-area to t
10268 for `k' and `K'.
10269
10270 * s/hpux10.h (KERNEL_FILE): Redefine it here.
10271
10272 1996-09-25 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10273
10274 * textprop.c (Fset_text_properties, Fadd_text_properties)
10275 (Fremove_text_properties): Call modify_region and signal_after_change
10276 only for buffers, not for strings.
10277
10278 * xterm.c (XTflash): Flash just top and bottom screen line.
10279
10280 * window.c (syms_of_window): Doc fixes.
10281
10282 1996-09-25 Marcus Daniels <marcus@sysc.pdx.edu>
10283
10284 * s/irix5-0.h (sigsetmask, _longjmp, _setjmp): #undef them.
10285 (_BSD_SIGNALS): Definition deleted.
10286
10287 1996-09-25 Eli Zaretskii <eliz@is.elta.co.il>
10288
10289 * dosfns.c (init_dosfns): When setting `__opendir_flags' value,
10290 override the bits recorded when dumping.
10291
10292 1996-09-24 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10293
10294 * w32term.c (w32_read_socket): Delete WAITP arg.
10295
10296 * keyboard.c (read_avail_input): Don't pass WAITP to read_socket_hook.
10297
10298 * xterm.c (XTread_socket): Delete WAITP arg.
10299
10300 * config.in (HAVE_GETCWD): Add #undef.
10301
10302 * fileio.c (Vuser_login_name): Declared extern.
10303 (minibuf_level): extern decl moved to top level.
10304 (Fwrite_region): Query before writing to a file that is locked,
10305 even if it is locked by the same user.
10306
10307 * textprop.c (set_properties, add_properties, remove_properties):
10308 Don't call modify_region or signal_after_change here.
10309 (Fset_text_properties, Fadd_text_properties, Fremove_text_properties):
10310 Call them here when appropriate.
10311
10312 * Makefile.in (LIBES): Add LOADLIBES and LDLIBS.
10313
10314 1996-09-24 Eli Zaretskii <eliz@is.elta.co.il>
10315
10316 * msdos.c (run_msdos_command): When testing whether a shell
10317 belongs to the MSDOS family, convert its name to lower-case.
10318
10319 1996-09-24 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10320
10321 * eval.c (Vsignal_hook_function): New variable.
10322 (syms_of_eval): Set up Lisp variable.
10323 (Fsignal): Call that function.
10324
10325 * xfns.c (x_set_internal_border_width, Fx_create_frame):
10326 Call widget_store_internal_border.
10327 (Fx_create_frame): Don't use a superclass when
10328 checking for an internalBorder resource.
10329
10330 * widget.c (widget_store_internal_border): New function.
10331 (EmacsFrameSetValues): Undo previous change.
10332
10333 1996-09-23 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10334
10335 * xfns.c (x_window): With Motif, double extra_borders.
10336 Use a preprocessor conditional to test for Motif.
10337
10338 * frame.h (struct frame): New field window_width.
10339 (FRAME_WINDOW_WIDTH): Refer to window_width field.
10340 (SET_FRAME_WIDTH): Set window_width field as well as width field.
10341
10342 1996-09-22 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10343
10344 * eval.c (syms_of_eval): Initialize Vrun_hooks here.
10345 Don't make it a Lisp variable.
10346
10347 * frame.c (Fdelete_frame): Set update_mode_lines.
10348
10349 * emacs.c (main): Add copyright etc. to --version output.
10350
10351 1996-09-21 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10352
10353 * bytecode.c (Bsave_current_buffer): New macro.
10354 (Fbyte_code): Handle Bsave_current_buffer.
10355
10356 * editfns.c (Fsave_current_buffer): New function.
10357 (syms_of_editfns): defsubr it.
10358
10359 * search.c (REGEXP_CACHE_SIZE): Increase to 20.
10360 (compile_pattern): Check for size match before calling Fstring_equal.
10361
10362 1996-09-21 Paul Eggert <eggert@twinsun.com>
10363
10364 * editfns.c: For time zone difference calculations, use the same
10365 code as the GNU C Library; this fixes a bug with large negative years.
10366 (tm_diff): Renamed from difftm. Yield int, not long.
10367 (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN.
10368
10369 1996-09-21 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10370
10371 * xdisp.c (echo_area_display): Clear the left-side scroll bar columns.
10372
10373 1996-09-20 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10374
10375 * xterm.c (x_scroll_bar_create, x_scroll_bar_move):
10376 (x_scroll_bar_expose): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM.
10377
10378 * xterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Renamed from
10379 LEFT_VERTICAL_SCROLL_BAR_WIDTH_TRIM.
10380 (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM.
10381
10382 * widget.c (EmacsFrameSetValues): Copy internal_border_width
10383 from the Emacs frame if caller isn't changing it.
10384
10385 * xfns.c (Fx_create_frame): Default Qinternal_border_width to 1.
10386
10387 * xterm.c (XTchange_line_highlight, dumpglyphs, XTclear_end_of_line)
10388 (do_line_dance, pixel_to_glyph_coords): Use FRAME_WINDOW_WIDTH.
10389
10390 * xfns.c (x_set_scroll_bar_width): Default the width to 3 cols.
10391 Call change_frame_size.
10392
10393 * xterm.c (x_scroll_bar_move, x_scroll_bar_create):
10394 Add a border around the actual window.
10395
10396 * dispnew.c (make_frame_glyphs, update_line, update_frame)
10397 (scroll_frame_lines, char_ins_del_cost): Use FRAME_WINDOW_WIDTH.
10398
10399 * minibuf.c (read_minibuf): Use FRAME_LEFT_SCROLL_BAR_WIDTH
10400 to set the cursor position at the end.
10401
10402 * xterm.c (x_scroll_bar_expose): Don't trim the width here.
10403
10404 * xdisp.c (display_mode_line): Use faces for inverse video mode line
10405 whenever that possible.
10406
10407 * xfns.c (Fx_create_frame): Default Qvertical_scroll_bars to `left'.
10408
10409 Fri Sep 20 02:37:37 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
10410
10411 * xterm.c (XTclear_end_of_line): Shift end-of-line when there is a
10412 left-side scroll bar by FRAME_LEFT_SCROLL_BAR_WIDTH.
10413 (do_line_dance): Take into account the width of a left-side scroll bar.
10414 (dumprectangle): Trim at FRAME_WINDOW_WIDTH instead of FRAME_WIDTH.
10415 (fast_find_position): Use new macro WINDOW_LEFT_MARGIN.
10416 (show_mouse_face): Likewise.
10417 (x_scroll_bar_set_handle): VERTICAL_SCROLL_BAR_INSIDE_WIDTH now
10418 requires the frame as an argument.
10419 (x_scroll_bar_expose): Narrow the box slightly for a left-side
10420 scroll bar.
10421
10422 * xfns.c: Add the symbol `right'; this symbol is used to indicate
10423 that a right-side scroll bar is wanted.
10424 (x_set_vertical_scroll_bars): Check for left<->right<->none
10425 scroll bar changes, and modify the vertical scroll bar type
10426 as appropriate.
10427 (x_figure_window_size): Use new SET_FRAME_WIDTH macro.
10428 (Fx_create_frame): Likewise.
10429 (Fx_horizontal_line): Use new macro WINDOW_LEFT_MARGIN.
10430
10431 * xdisp.c (echo_area_display): Shift display_string past a
10432 left-side scroll bar.
10433 (redisplay_window): Likewise.
10434 (redisplay_internal): Shift cursor past a left-side scroll bar.
10435 (redisplay_window): Likewise.
10436 (try_window_id): Likewise.
10437 (display_text_line): Likewise.
10438 (redisplay_internal): Shift charstarts past a left-side scroll bar.
10439 (display_text_line): Likewise.
10440 (redisplay_internal): Use new macro WINDOW_FULL_WIDTH_P.
10441 (redisplay_window): Likewise.
10442 (display_text_line): Likewise.
10443 (display_text_line): Shift output past left-side scroll bar.
10444 (display_text_line): Use new WINDOW_RIGHTMOST_P macro.
10445 (display_text_line): Don't pad right columns unless using
10446 a right-side scroll bar. Don't draw vertical bars unless there
10447 isn't any kind of scroll bar.
10448 (display_string): Likewise.
10449 (display_mode_line): Use new macros WINDOW_LEFT_MARGIN,
10450 WINDOW_RIGHT_MARGIN, and WINDOW_FULL_WIDTH_P.
10451 (display_string): Use new macro WINDOW_RIGHTMOST_P.
10452
10453 * window.c (Fwindow_edges): Use new WINDOW_RIGHT_EDGE macro.
10454 (coordinates_in_window): Use WINDOW_LEFT_MARGIN, WINDOW_RIGHT_MARGIN,
10455 and WINDOW_RIGHT_EDGE. Adjust for left-side scroll bar margin.
10456 (window_loop, Fdisplay_buffer): Use new WINDOW_FULL_WIDTH_P macro.
10457 (window_internal_width): Window width now always includes the
10458 scroll bar, if any. Use WINDOW_RIGHTMOST_P and WINDOW_FULL_WIDTH_P.
10459
10460 * w32term.c (fast_find_position, show_macro_face): Use new
10461 WINDOW_LEFT_MARGIN macro.
10462
10463 * w32fns.c (Qright): New variable.
10464 (syms_of_win32fns): Initialize and staticpro Qright.
10465 (x_set_vertical_scroll_bars): Check for left<->right<->none
10466 scroll bar changes, and modify the vertical scroll bar type
10467 as appropriate.
10468 (x_figure_window_size): Use new SET_FRAME_WIDTH macro.
10469 (Fx_create_frame): Likewise.
10470
10471 * term.c (term_init): Use new vertical scroll bar enumerated type.
10472 (term_init): Use new macro SET_FRAME_WIDTH.
10473
10474 * sunfns.c (Fsun_menu_internal): Use new WINDOW_LEFT_MARGIN macro.
10475
10476 * ntterm.c (initialize_win_nt_display): Use SET_FRAME_WIDTH.
10477
10478 * keyboard.c (make_lispy_event): When converting from pixel to
10479 glyph coordinates, offset by WINDOW_LEFT_MARGIN instead of XINT
10480 (XWINDOW (window)->left; this is necessary when there are
10481 left-side scrollbars.
10482
10483 * frame.c (make_frame): Switch from boolean
10484 `has_vertical_scrollbars' integer to an enumerated type.
10485 Use new macro SET_FRAME_WIDTH.
10486
10487 * dispnew.c (preserve_other_columns, preserve_my_columns): Use new
10488 macros WINDOW_LEFT_MARGIN and WINDOW_RIGHT_EDGE.
10489 (adjust_window_charstarts, verify_charstarts, cancel_my_columns):
10490 Use new macro WINDOW_LEFT_MARGIN instead of w->left.
10491 (direct_output_for_insert, direct_output_forward_char): Likewise.
10492 (buffer_posn_from_coords): Likewise.
10493 (verify_charstarts): Use new macro WINDOW_FULL_WIDTH_P.
10494 (update_frame): For determining when to wrap the cursor, use the
10495 new macro FRAME_WINDOW_WIDTH instead of FRAME_WIDTH; they aren't
10496 necessarily the same any more.
10497 (change_frame_size_1): Use FRAME_WINDOW_WIDTH to check for changes.
10498 Give `set_window_width' the window width value.
10499 Use new macro SET_FRAME_WIDTH.
10500
10501 * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Add frame as an
10502 argument, and use it to decrease the width in the case of a
10503 left-side scroll bar; this prevents the bar and adjacent text
10504 from scrunching together.
10505 (LEFT_VERTICAL_SCROLL_BAR_WIDTH_TRIM): Add constant.
10506
10507 * frame.h (vertical_scroll_bar_type): Add enumerated
10508 none/left/right type for identifying vertical scroll bars.
10509 (struct frame): Use vertical_scroll_bar_type.
10510 (FRAME_HAS_VERTICAL_SCROLL_BARS): Use vertical scroll bar type.
10511 (FRAME_VERTICAL_SCROLL_BAR_TYPE): New macro.
10512 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT): New macros.
10513 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT): New macros.
10514 (FRAME_SCROLL_BAR_WIDTH, FRAME_LEFT_SCROLL_BAR_WIDTH): New macros.
10515 (FRAME_WINDOW_WIDTH, FRAME_WINDOW_WIDTH_ARG): New macros.
10516 (SET_FRAME_WIDTH): New macro for assigning to both
10517 `external_width' and `width'.
10518 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Modify to handle left-side
10519 scroll bars too.
10520
10521 * window.h (WINDOW_LEFT_MARGIN): New macro.
10522 (WINDOW_RIGHT_EDGE, WINDOW_RIGHT_MARGIN): New macros.
10523 (WINDOW_FULL_WIDTH_P, WINDOW_RIGHTMOST_P): New macros.
10524
10525 1996-09-20 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10526
10527 * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_HEIGHT): New arg F (not used).
10528 (VERTICAL_SCROLL_BAR_TOP_RANGE): New arg F (not used).
10529 * xterm.c: Pass frame arg in calls to VERTICAL_SCROLL_BAR_INSIDE_HEIGHT
10530 and VERTICAL_SCROLL_BAR_TOP_RANGE.
10531
10532 * sysdep.c (init_system_name): Retry gethostbyname only 5 times
10533 and don't sleep after the last time.
10534
10535 1996-09-19 Eli Zaretskii <eliz@is.elta.co.il>
10536
10537 * dired.c (file_name_completion): Remove code which sets and
10538 restores the `stat' control flags (they might not be restored if
10539 C-g is pressed during completion).
10540 (file_name_completion_stat): Set and restore flags that make
10541 `stat' faster here instead of in `file_name_completion'.
10542
10543 1996-09-18 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10544
10545 * buffer.c (overlay_strings): Declare pstr using unsigned char.
10546
10547 * xdisp.c (display_text_line): Declare ovstr as unsigned char *.
10548
10549 * minibuf.c (Fcompleting_read): Doc fix.
10550
10551 1996-09-17 Erik Naggum <erik@naggum.no>
10552
10553 * lisp.h: Declare make_symbol.
10554
10555 * lread.c (init_obarray): staticpro Qvariable_documentation.
10556
10557 * keymap.c (syms_of_keymap): staticpro global_map.
10558
10559 * keyboard.c (syms_of_keyboard): Initialize and staticpro
10560 internal_last_event_frame and read_key_sequence_cmd.
10561
10562 * fileio.c (syms_of_fileio): staticpro Qset_visited_file_modtime.
10563
10564 * dired.c (syms_of_dired): staticpro Qdirectory_files,
10565 Qfile_name_completion, Qfile_name_all_completions, and Qfile_attributes.
10566
10567 * casetab.c (syms_of_casetab): staticpro Vascii_canontable,
10568 Vascii_eqv_table, and Vascii_upcase_table.
10569
10570 * alloc.c (Fmake_symbol): Initialize `obarray' field.
10571
10572 1996-09-16 Karl Heuer <kwzh@gnu.ai.mit.edu>
10573
10574 * Makefile.in: Replaced symbol BSD with BSD_SYSTEM.
10575 * emacs.c, floatfns.c, keyboard.c, mem-limits.h, process.c: Likewise.
10576 * sysdep.c, syssignal.h, syswait.h, xterm.c: Likewise.
10577 * s/bsd386.h, s/bsd4-1.h, s/bsd4-2.h, s/bsd4-3.h, s/dgux.h: Likewise.
10578 * s/freebsd.h, s/msdos.h, s/rtu.h, s/umax.h, s/umips.h: Likewise.
10579 * m/intel386.h, m/mips.h, m/mips4.h, m/vax.h: Likewise.
10580
10581 1996-09-16 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10582
10583 * buffer.c (Fget_buffer_create): Initialize BUF_OVERLAY_MODIFF.
10584
10585 * minibuf.c (read_minibuf_unwind): Clear last_overlay_modified field.
10586
10587 * msdos.c (IT_set_menu_bar_lines): Clear last_overlay_modified field.
10588
10589 * w32term.c (note_mouse_highlight): Test last_overlay_modified field.
10590
10591 * xterm.c (note_mouse_highlight): Test last_overlay_modified field.
10592
10593 * window.c (Fset_window_start): Clear last_overlay_modified field.
10594 (set_window_height, set_window_width, Fset_window_buffer)
10595 (change_window_height, window_scroll, Fset_window_configuration):
10596 Clear last_overlay_modified field.
10597 (Fpos_visible_in_window_p): Test last_overlay_modified field.
10598
10599 * Makefile.in (frame.o, textprop.o, abbrev.o): Depend on window.h.
10600
10601 * process.c (stream_process): Variable deleted.
10602 (syms_of_process): staticpro deleted.
10603
10604 1996-09-15 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10605
10606 * sysdep.c: Don't explicitly Include termios.h.
10607 (ospeed): Use HAVE_TERMIOS to decide whether to use speed_t.
10608
10609 * s/hpux9.h (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include.
10610 (LD_SWITCH_X_DEFAULT): Add -L/usr/contrib/X11R5/lib.
10611
10612 1996-09-14 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10613
10614 * buffer.h (struct buffer): New field overlay_modiff.
10615 (MODIFF, BUF_OVERLAY_MODIFF): New macros.
10616 * window.h (struct window): New field last_overlay_modified.
10617
10618 * xdisp.c (redisplay_internal, mark_window_display_accurate)
10619 (redisplay_window): Test and update last_overlay_modified field
10620 along with last_modified.
10621
10622 * dispnew.c (direct_output_for_insert): Set last_overlay_modified
10623 field in window.
10624
10625 * keyboard.c (command_loop_1): Test last_overlay_modified
10626 along with last_modified.
10627
10628 * xdisp.c (overlay_unchanged_modified): New variable.
10629 (redisplay_internal): Set overlay_unchanged_modified.
10630 * insdel.c (gap_left, gap_right, modify_region):
10631 Compare overlay_unchanged_modified with OVERLAY_MODIFF.
10632
10633 * buffer.c (modify_overlay): Renamed from redisplay_region
10634 moved here from xdisp.c, and made static. Callers changed.
10635 Update OVERLAY_MODIFF instead of MODIFF.
10636 * xdisp.c (redisplay_region): Renamed and moved to buffer.c.
10637
10638 * s/sco5.h (C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM):
10639 Don't define them if using GCC.
10640
10641 1996-09-13 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10642
10643 * keyboard.c (recursive_edit_1): Handle a string as the
10644 throw value.
10645
10646 * minibuf.c (read_minibuf): If not in minibuffer window,
10647 cancel the active minibuffer.
10648
10649 1996-09-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10650
10651 * frame.c (Fmake_terminal_frame): Use Vdefault_frame_alist.
10652
10653 * s/hpux9.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
10654 Don't specify dirs for X, only for Motif.
10655
10656 1996-09-11 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10657
10658 * lread.c (Fload): Move ... to ends of messages.
10659
10660 * puresize.h (BASE_PURESIZE): Increased.
10661
10662 * s/sco5.h (LIBX11_SYSTEM): Don't use ..._s libraries.
10663
10664 1996-09-10 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10665
10666 * insdel.c (signal_before_change): Fix previous change.
10667
10668 * lisp.h (struct Lisp_Symbol): New field `obarray'.
10669
10670 * xterm.c (x_connection_closed): Call XtCloseDisplay.
10671
10672 1996-09-09 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10673
10674 * keyboard.c (Fexecute_extended_command): Delete junk lines.
10675 Print the key bindings after the command, temporarily;
10676 then bring back the previous message.
10677
10678 * buffer.c (syms_of_buffer): Doc fixes.
10679
10680 * filelock.c (lock_superlock): Delete superlock file if it stayed
10681 locked for 20 seconds.
10682
10683 1996-09-08 Erik Naggum <erik@naggum.no>
10684
10685 * lread.c: Add #n=object, #n#, and #:symbol constructs to reader.
10686 (readevalloop, read, Fread_from_string): Empty list of read objects
10687 before read0 call.
10688 (read1): New variable `uninterned_symbol', which controls how to
10689 make symbols. Support #:, #n=object and #n#.
10690 (make_symbol): New function, used in read1 to make uninterned symbols
10691 (Fintern): Set `obarray' field of interned symbols.
10692 (init_obarray): Explicit set `obarray' field of symbol `nil'.
10693 (syms_of_lread): staticpro read_objects, the list of read objects.
10694
10695 * print.c: Add #n=object, #n#, and #:symbol constructs to printer.
10696 (PRINTDECLARE): New macro to declare required variables.
10697 (PRINTPREPARE, PRINTFINISH): Set printed_genyms to nil.
10698 (Fwrite_char, write_string, write_string_1, Fterpri, Fprin1,
10699 Fprin1_to_string, Fprinc, Fprint): Use new macro PRINTDECLARE.
10700 (print): Print uninterned symbols readable.
10701 (syms_of_print): Defvar `print-gensym', staticpro printed_gensyms.
10702
10703 1996-09-05 Karl Heuer <kwzh@gnu.ai.mit.edu>
10704
10705 * editfns.c (Finsert_buffer_substring): Check for deleted buffer.
10706 (Fcompare_buffer_substrings): Likewise.
10707
10708 1996-09-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10709
10710 * lisp.h: Add many declarations.
10711
10712 * lisp.h (BITS_PER_EMACS_INT): New macro.
10713 (XMARKBIT): Test BITS_PER_EMACS_INT to conditionalize fast definition.
10714 * m/alpha.h (BITS_PER_EMACS_INT): New definition.
10715
10716 * s/sol2.h (LIBS_SYSTEM): Use -lkstat instead of -lelf -lkvm
10717
10718 * process.c (create_process): Test HAVE_SETPGID for using setpgid.
10719
10720 * config.in (HAVE_SETPGID): Add #undef.
10721
10722 * keymap.c (syms_of_keymap): staticpro current_global_map;
10723
10724 * intervals.c (get_local_map): Call indirect-function.
10725
10726 * m/alpha.h (UNEXEC): Use unexelf.c.
10727
10728 * unexelf.c: unexelf1.c merged into this file.
10729
10730 * terminfo.c: Include config.h.
10731 [HAVE_TERMIOS_H]: Include termios.h.
10732 (ospeed) [HAVE_TERMIOS_H]: Use ospeed_t.
10733
10734 * process.c (create_process_1, sigchld_handler) [POSIX_SIGNALS]:
10735 Don't reestablish handler.
10736
10737 * keyboard.c (input_available_signal) [POSIX_SIGNALS]:
10738 Don't reestablish handler.
10739 (interrupt_signal) [POSIX_SIGNALS]: Likewise.
10740
10741 * data.c (arith_error) [POSIX_SIGNALS]: Don't reestablish handler.
10742
10743 * config.in (HAVE_TERMIOS_H): Add #undef.
10744
10745 * cm.h, sysdep.c [HAVE_TERMIOS_H]: Include termios.h.
10746 (ospeed) [HAVE_TERMIOS_H]: Use ospeed_t.
10747
10748 * eval.c (Fmacroexpand): Don't declare `form' as register.
10749
10750 * frame.c (Fredirect_frame_focus): Don't call Ffocus_frame.
10751
10752 * keyboard.c (Fexecute_extended_command): Fix previous change.
10753
10754 * intervals.c (copy_intervals_to_string): Take arg as buffer.
10755
10756 * keyboard.c (Fcommand_execute): gcpro cmd and prefixarg
10757 while calling do_autoload.
10758
10759 * eval.c (Fmacroexpand): gcpro form while calling do_autoload.
10760 (do_autoload): gcpro fun, funname, fundef.
10761
10762 1996-09-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10763
10764 * keyboard.c (Fexecute_extended_command): gcpro prefixarg.
10765
10766 * xfns.c, w32fns.c (x_set_frame_parameters):
10767 Make height and width ints.
10768
10769 * fns.c (map_char_table): Declare depth as int.
10770
10771 * xterm.c (note_mouse_highlight):
10772 Pass POS argument to fast_find_position as int.
10773
10774 * textprop.c (set_properties, add_properties, remove_properties):
10775 Call modify_region with ints.
10776
10777 * insdel.c (prepare_to_modify_buffer): Take integer arguments.
10778 (signal_before_change): Take integer arguments.
10779
10780 * alloc.c (Fmake_byte_code): Call make_pure_vector using nargs.
10781
10782 * alloc.c (Fpurecopy): Cast arg to make_pure_vector.
10783 (Fmake_byte_code): Use XFASTINT when calling make_pure_vector.
10784
10785 * doprnt.c (doprnt1): If lispstrings, accept a string
10786 as a `struct Lisp_String *'.
10787
10788 * editfns.c (Fformat): Pass a string using XSTRING.
10789
10790 * xdisp.c (message): Cast size arg to doprnt.
10791
10792 * term.c (term_init): Avoid type-mismatch calling get_frame_size.
10793 (OUTPUT_IF, OUTPUT): Cast frame height to int.
10794
10795 * search.c (search_buffer): Use EMACS_UINT.
10796
10797 1996-09-03 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
10798
10799 * emacs.c (sort_args): Don't rearrange any args that follow "--".
10800
10801 1996-09-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10802
10803 * xfns.c, w32fns.c (Ffocus_frame, Funfocus_frame): Functions deleted.
10804
10805 * xfns.c (x_get_and_record_arg): New function.
10806 (x_icon): Use that, for Qicon_top and Qicon_left.
10807 (x_report_frame_params): Report the Qparent_id parameter.
10808
10809 1996-09-03 Paul Eggert <eggert@twinsun.com>
10810
10811 * config.in (mktime): Define to emacs_mktime if we are using our own
10812 mktime, since Nextstep doesn't let Emacs redefine the builtin mktime.
10813 * Makefile.in (MKTIME_OBJ): Use our mktime instead of NEXTSTEP's,
10814 since NEXTSTEP's wrongly ignores TZ.
10815 (mktime): #undef, to avoid messing up the file name mktime.c.
10816 * editfns.c (Fencode_time): Remove NEXTSTEP workaround;
10817 we now use our mktime instead.
10818
10819 1996-09-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10820
10821 * process.c (create_process): Undo previous change.
10822
10823 1996-09-02 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10824
10825 * editfns.c (Fencode_time) [_NEXT_SOURCE]: Use ZONE, not ABSZONE.
10826
10827 Make region highlighting show in just one window.
10828 * xdisp.c (redisplay_internal): Test last_selected_window slot.
10829 (mark_window_display_accurate, display_text_line): Likewise.
10830 * window.c (unshow_buffer): Clear last_selected_window slot, maybe.
10831 (Fset_window_buffer): Set last_selected_window slot.
10832 (Fselect_window): Set last_selected_window slot.
10833 (delete_all_subwindows): Maybe call unshow_buffer.
10834 * buffer.c (reset_buffer): Initialize last_selected_window slot.
10835 * buffer.h (strict buffer): New slot last_selected_window.
10836
10837 1996-09-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10838
10839 * process.c (Fprocess_contact): New function.
10840 (NETCONN_P): Use GC_CONSP.
10841 (list_processes_1): Use new childp format.
10842 (Fopen_network_stream): Store a cons cell in childp.
10843
10844 * keyboard.c (record_asynch_buffer_change, gobble_input):
10845 Use sigblock instead of sigblockx.
10846
10847 * syssignal.h (sigunblockx): Definitions deleted.
10848 (sigpausex, sigblockx, sigholdx): Definitions deleted.
10849
10850 * process.c (create_process): Test defined (TIOCSCTTY)
10851 and defined (HAVE_SETSID) instead of DONT_REOPEN_PTY.
10852
10853 * fileio.c (Faccess_file): New function.
10854 (Qaccess_file): New variable.
10855 (syms_of_fileio): defsubr function; init and staticpro Qaccess_file.
10856
10857 1996-09-01 Karl Heuer <kwzh@gnu.ai.mit.edu>
10858
10859 * config.in (MULTI_FRAME): Obsolete macro deleted.
10860 * Makefile.in: Removed support for !MULTI_FRAME.
10861 * dispextern.h, frame.h, keyboard.h, lisp.h, puresize.h: Likewise.
10862 * alloc.c, buffer.c, data.c, dispnew.c, frame.c: Likewise.
10863 * keyboard.c, minibuf.c, print.c, sysdep.c, w32faces.c: Likewise.
10864 * window.c, xdisp.c, xfaces.c: Likewise.
10865
10866 * abbrev.c, bytecode.c: Change all references from point to PT.
10867 * callint.c, casefiddle.c, cmds.c, dispnew.c, editfns.c: Likewise.
10868 * fileio.c, indent.c, lread.c, print.c, process.c: Likewise.
10869 * search.c, syntax.c, undo.c, window.c: Likewise.
10870
10871 1996-09-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10872
10873 * Makefile.in (TAGS): Use $(srcdir) in deps.
10874
10875 1996-08-31 Boris Goldowsky <boris@gnu.ai.mit.edu>
10876
10877 * fileio.c (build_annotations): Remember original buffer that the
10878 region came from; pass this to `format-annotate-function'.
10879
10880 1996-08-31 Geoff Voelker <voelker@cs.washington.edu>
10881
10882 * Makefile.in (MSDOS_SUPPORT, WINNT_SUPPORT, SOME_MACHINE_LISP):
10883 Include dos-nt.elc.
10884
10885 1996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10886
10887 * keyboard.c (requeued_events_pending_p): New function.
10888
10889 * config.in (HAVE_SETRLIMIT): Add #undef.
10890
10891 * emacs.c [HAVE_SETRLIMIT]: Include time.h and resource.h.
10892 (main) [HAVE_SETRLIMIT]: Call setrlimit to extend the stack limit.
10893 New local `rlim'.
10894
10895 * lread.c (Fload): Add "source is newer" info to the "loading" and
10896 "done" messages.
10897
10898 1996-08-31 Paul Eggert <eggert@twinsun.com>
10899
10900 * config.in (HAVE_SYS_SYSTEMINFO_H, HAVE_GETDOMAINNAME, HAVE_SYSINFO):
10901 New macros.
10902 * sysdep.c (<sys/systeminfo.h>):
10903 Include if HAVE_SYS_SYSTEMINFO_H is defined.
10904 (init_system_name): Use sysinfo or getdomainname to append domain name
10905 if host name is not already fully qualified.
10906
10907 1996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10908
10909 * xfns.c (Fx_list_fonts): New optional arg MAXIMUM.
10910
10911 1996-08-31 Erik Naggum <erik@naggum.no>
10912
10913 * alloc.c (Fgarbage_collect): Report used and free intervals.
10914
10915 1996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10916
10917 * xterm.h (struct x_display_info): Add element Xatom_FONT.
10918 * xterm.c (x_term_init): Initialize Xatom_FONT member.
10919 (x_new_font): Use Xatom_FONT member.
10920
10921 1996-08-31 Kevin Layer <layer@Franz.COM>
10922
10923 * ntproc.c (Vwin32_start_process_show_window): New variable.
10924 (create_child): Conditionally force subprocess to hide window.
10925 (syms_of_ntproc): DEFVAR it.
10926
10927 1996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10928
10929 * s/nextstep.h (LD_SWITCH_SYSTEM): Add alternate definition if
10930 not __NeXT.
10931
10932 1996-08-30 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10933
10934 * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer flag.
10935 * xterm.c (XTupdate_end): Always clear mouse_face_defer flag.
10936
10937 * xterm.c (do_line_dance, dumprectangle): Use x_update_cursor.
10938 (show_mouse_face, clear_cursor): Likewise.
10939 (x_display_cursor): New args X and Y.
10940 (XTupdate_end, XTcursor_to, XTwrite_glyphs): Pass new args.
10941 (XTupdate_begin): Initialize curs_x, curs_y here.
10942
10943 * xfns.c (x_set_cursor_color): Use x_update_cursor.
10944
10945 1996-08-29 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10946
10947 * xterm.c (XTread_socket): Fix previous change.
10948
10949 * keyboard.c (cmd_error): Clear executing_macro.
10950
10951 1996-08-29 David Byers <byers@lysator.liu.se>
10952
10953 * minibuf.c (Fminibuffer_complete_word): Check for
10954 unexpected data type returned by Ftry_completion.
10955
10956 1996-08-29 Erik Naggum <erik@psilocin.gnu.ai.mit.edu>
10957
10958 * macros.c (init_macros): Initialize executing_macro, too.
10959
10960 1996-08-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10961
10962 * xterm.c (XTread_socket): Call XFilterEvent on all events,
10963 if HAVE_X_I18N and FRAME_XIC nonzero.
10964
10965 * keyboard.c (cmd_error): Add number of kbd macro iterations
10966 to the error message.
10967
10968 * macros.h (executing_macro_iterations, executing_macro): Declared.
10969
10970 * macros.c (executing_macro_iterations, executing_macro): New vars.
10971 (Fexecute_kbd_macro): Set them.
10972
10973 1996-08-28 Morten Welinder <terra@diku.dk>
10974
10975 * minibuf.c (Vhistory_length, Qhistory_length): New variables.
10976 (syms_of_minibuf): Register and initialise these.
10977 (read_minibuf): Truncate history list if needed.
10978
10979 1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10980
10981 * fns.c (Fsubstring): Handle vectors as well as strings.
10982
10983 * callint.c (Fcall_interactively): For `N' and `n',
10984 if we don't get a number, try again.
10985
10986 1996-08-28 Lars Magne Ingebrigtsen <larsi@dain.ifi.uio.no>
10987
10988 * alloc.c (syms_of_alloc): Set up Lisp variables ...-consed,
10989 such as Vcons-cells-consed.
10990
10991 1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
10992
10993 * emacs.c (main): Add bug report info in --help message.
10994
10995 1996-08-26 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
10996
10997 * term.c (Vring_bell_function): New variable.
10998 (syms_of_term): Set up Lisp variable.
10999 (ring_bell): Use Vring_bell_function.
11000
11001 1996-08-25 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
11002
11003 * xterm.c (fast_find_position): Fix previous change.
11004
11005 * keyboard.c (command_loop_1): Cancel echoing etc.
11006 before running post-command-hook and such.
11007
11008 * xterm.c (fast_find_position): Minor fix in handling maybe_next_line.
11009
11010 * config.in (HAVE_LIBKRB, HAVE_LIBDES): Add #undefs.
11011
11012 1996-08-24 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
11013
11014 Renamings to avoid conflicting names on MSDOS.
11015 * s/riscix12.h: Renamed from s/riscix12.h.
11016 * s/sunos413.h: Renamed from s/sunos4-1-3.h.
11017 * s/dgux5-4-3.h: Renamed from s/dgux5-4r3.h.
11018 * s/sunos4-1-2.h: File deleted.
11019
11020 * xmenu.c (set_frame_menubar): Don't add ibw to menubar_size.
11021
11022 * xfns.c (x_window): Don't add ibw to menubar_size.
11023
11024 1996-08-24 Paul Eggert <eggert@twinsun.com>
11025
11026 * editfns.c (Fencode_time, Fset_time_zone_rule):
11027 Use UTC if the zone is t.
11028
11029 1996-08-24 Erik Naggum <erik@naggum.no>
11030
11031 * print.c (print-quoted): New variable.
11032 (print): Print certain expressions more compactly when set.
11033 Also use XCAR and XCDR directly -- we know we have conses.
11034
11035 1996-08-23 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
11036
11037 * xterm.c (x_term_init): If the default Xt font does not exist on
11038 the X server, add a resource so that dialog boxes use a common font.
11039
11040 1996-08-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11041
11042 * window.c (Fsplit_window): Treat width just like height;
11043 no special handling for scroll bars.
11044
11045 1996-08-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11046
11047 * Makefile.in (paths.h, config.h): Targets deleted.
11048 (../config.status): Add two new rules to check need for reconfigure.
11049
11050 * keyboard.c (command_loop_1): Check column_number_displayed
11051 in the selected window, not Vcolumn_number_mode.
11052 (Vcolumn_number_mode): Variable deleted.
11053 (syms_of_keyboard): Delete Lisp variable column-number-mode.
11054
11055 1996-08-22 Erik Naggum <erik@psilocin.gnu.ai.mit.edu>
11056
11057 * dispnew.c (change_frame_size_1): Clean up conditional.
11058
11059 1996-08-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11060
11061 * xmenu.c (xdialog_show): Don't allow 9 buttons.
11062
11063 1996-08-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11064
11065 * process.c (send_process): GCPRO object.
11066
11067 * unexalpha.c: Conditionalize previous changes on not __linux__.
11068
11069 * xfns.c (x_set_scroll_bar_width): Call x_set_window_size
11070 when arg is nil.
11071
11072 1996-08-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11073
11074 * unexalpha.c: Include reloc.h and elf_abi.h.
11075 (rel_dyn_section, dynstr_section, dynsym_section): New variables.
11076 (old_data_scnhdr): New variable.
11077 (CHECK_SCNHDR): Compare just 8 chars of section name.
11078 (unexec): Check for rel_dyn_section, dynsym_section, dynstr_section.
11079 Do call update_dynamic_symbols.
11080 (update_dynamic_symbols): Finish it up and take away #if 0.
11081
11082 1996-08-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11083
11084 * unexalpha.c (unexec): Copy the .got section.
11085
11086 1996-08-16 Karl Heuer <kwzh@gnu.ai.mit.edu>
11087
11088 * cmds.c (Fdelete_backward_char): Fix off-by-one error.
11089 Treat deleted newline specially.
11090
11091 1996-08-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11092
11093 * bytecode.c (Fbyte_code): For relative gotos, force signed arithmetic.
11094
11095 1996-08-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
11096
11097 * xfns.c (Fx_open_connection): Don't set Vx_resource_name.
11098
11099 See ChangeLog.6 for earlier changes.
11100
11101 Copyright (C) 1997, 1998 Free Software Foundation, Inc.
11102 Copying and distribution of this file, with or without modification,
11103 are permitted provided the copyright notice and this notice are preserved.
11104
11105 ;;; arch-tag: 3b03e091-1123-4031-b67d-41683932cc48