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