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