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