1 1995-06-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3 * Version 19.29 released.
5 * xfns.c (Fx_display_grayscale_p): Return t or nil.
6 Return t for color displays.
8 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Increase to 68000.
10 * xdisp.c (decode_mode_spec) [!MULTI_FRAME]: Handle %F properly.
12 1995-06-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
14 * keyboard.c (read_key_sequence): Don't use Vprefix_help_command
15 for the first character in a key seq.
17 * ntinevt.c (map_virt_key): Mark some additional chars as valid ASCII.
19 * ntterm.c (ctrl_c_handler): Ignore CTRL_BREAK_EVENT signals.
21 1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
23 * sysdep.c (rmdir): Fix up Aug 19 1993 change that wasn't done right.
25 * ntproc.c (win32_wait): Massage retval into what is expected in Unix.
27 * process.c (sigchld_handler): Change XSETFASTINT to XSETINT.
29 * keyboard.c (Freset_this_command_lengths): New function.
30 (before_command_key_count, before_command_echo_length)
31 (before_command_restore_flag): New variables.
32 (add_command_key): If requested, reset the lengths.
33 (command_loop_1): Record current lengths before reading cmd.
34 (read_char): Update the recorded length before echoing.
36 * xfns.c (Fx_create_frame): Fix last arg to x_get_arg for Qdisplay.
38 * s/linux.h (LIB_GCC): Fix previous change.
39 If we redefine it later, #undef it first.
41 1995-06-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
43 * keyboard.c (quit_throw_to_read_char): Turn off the error check
44 testing poll_suppress_count.
46 * s/linux.h (LIB_GCC): Define here, overriding Makefile.in.in,
47 so as to use C_SWITCH_X_MACHINE.
49 1995-06-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
51 * m/alpha.h (SYSTEM_MALLOC): Definition deleted.
53 * keymap.c (Vdefine_key_rebound_commands): New variable.
54 (syms_of_keymap): Set up Lisp var.
55 (Fdefine_key): Put new definition onto Vdefine_key_rebound_commands.
57 * xmenu.c (menu_item_equiv_key): Do reconsider a command that had
58 no equivalent before, if it is in Vdefine_key_rebound_commands.
60 * data.c (Flocal_variable_if_set_p): New function.
61 (syms_of_data): Call defsubr.
63 * xdisp.c (display_text_line): Fill in charstart for end of buffer.
65 1995-06-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
67 * puresize.h [MULTI_FRAME] (BASE_PURESIZE): Increase to 315000.
69 * frame.c (Fdelete_frame): Use do_switch_frame directly.
70 (do_switch_frame): No longer static.
71 * window.c (Fset_window_configuration): Use do_switch_frame directly.
72 * keyboard.c (quit_throw_to_read_char): Use do_switch_frame directly.
73 * lisp.h (do_switch_frame): Declare.
75 1995-06-16 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
77 * frame.c [MULTI_FRAME] (Fignore_event): New function.
78 [MULTI_FRAME] (keys_of_frame): Bind iconify-frame and
79 make-frame-visible to it.
81 1995-06-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
83 * .gdbinit: Use long, not EMACS_INT.
84 Do `set main' to make gdb_valbits etc. available.
86 * frame.h (struct frame): New field icon_name.
87 * xterm.h (struct x_display): icon_name deleted.
88 * xfns.c (x_report_frame_params, x_set_icon_type, x_set_icon_name)
89 (x_set_name, x_icon, Fx_create_frame): Use moved icon_name field.
90 * alloc.c (mark_object): Mark icon_name field.
92 1995-06-15 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
94 * keyboard.h (struct kboard): Add Voverriding_terminal_local_map.
95 * keyboard.c (init_kboard): Initialize it.
96 (syms_of_keyboard): Defvar it.
97 (read_key_sequence, menu_bar_items):
98 Check Voverriding_terminal_local_map before Voverriding_local_map.
99 * doc.c (Fsubstitute_command_keys): Likewise.
100 * keymap.c (Fkey_binding, describe_buffer_bindings): Likewise.
102 * xdisp.c (Qoverriding_terminal_local_map): New variable.
103 (syms_of_xdisp): staticpro it.
104 (update_menu_bar): If we bind overriding-local-map, also bind
105 overriding-terminal-local-map.
107 * frame.c (Fhandle_switch_frame): Preserve prefix arg.
108 * keyboard.c (command_loop_1): In special handling for commands
109 that create a prefix arg, don't handle commands that merely
110 preserve one that was previously created.
112 * .gdbinit ($valmask): Use EMACS_INT, not int.
114 * lisp.h (enum pvec_type): Don't use trailing comma.
116 1995-06-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
118 * m/alpha.h (malloc, realloc): If not _MALLOC_INTERNAL,
121 1995-06-15 Geoff Voelker <voelker@cs.washington.edu>
123 * callproc.c (call-process-region) [DOS_NT]: Use IS_DIRECTORY_SEP.
124 (call-process-region) [WINDOWSNT]: Use proper temp file template.
126 * ntproc.c (win32_spawnve): Accept program names without executable
129 * makefile.nt (TRES) [MSVCNT11]: Use emacs.res, and don't compile it.
131 1995-06-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
133 * m/alpha.h (LD_SWITCH_MACHINE): Don't define it.
134 (malloc, realloc): If non-ANSI C, declare value as char *.
136 1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
138 * sysdep.c (emacs_set_tty): Swap TCSETAF and TCSETAW.
139 Rename arg waitp to flushp.
141 1995-06-14 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
143 * callint.c (Fprefix_numeric_value): Fix type check.
145 * keyboard.c (command_loop_1): Clear prefix arg (undo Feb 1 change).
147 1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
149 * data.c (Flocal_variable_p): Fix backwards logical operator.
151 1995-06-14 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
153 * m/intel386.h: If NOT_C_CODE, don't include alloca.h.
154 [!__GNUC__] (C_SWITCH_MACHINE): Disable this; it seems to confuse cpp.
156 1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
158 * frame.c (Fdelete_frame): If the minibuf window was selected,
161 * process.c (status_notify): Undo May 18 change.
162 Set update_tick at the beginning not at end.
164 * buffer.c (Fprevious_overlay_change): Check for overlays that
167 1995-06-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
169 * xfns.c (syms_of_xfns): Initialize Vx_no_window_manager. Doc fix.
171 1995-06-13 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
173 * m/ibmrs6000.h (LIBS_MACHINE): Use -lpthreads, not -lpthread.
174 * config.h.in (HAVE_LIBPTHREADS): Add #undef.
176 1995-06-12 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
178 * mem-limits.h [_LIBC] (start_of_data): Define to &__data_start
181 1995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
183 * xmenu.c (frame_vector_add_frame): Don't forget to store
186 * xterm.h (struct x_display): New field asked_for_visible.
187 * xterm.c (x_make_frame_visible): Test and set asked_for_visible.
189 * widget.c (EmacsFrameSetCharSize): Manually alter the height
190 and width of the outer widget (and the width of the column widget)
191 carefully using deltas.
192 Set update_hints_inhibit nonzero while updating.
193 Then call update_wm_hints explicitly.
194 (update_wm_hints): Use 0 for min_rows, min_cols.
195 Do nothing if update_hints_inhibit is nonzero.
197 * xterm.c: Include widget.h.
198 (x_wm_set_size_hint) [USE_X_TOOLKIT]:
199 Get the size from the outer widget.
200 Copy the base and minimum sizes from the old hint.
202 * xfns.c [USE_X_TOOLKIT] (x_window): If using Motif,
203 add some extra to sizes, for consistent behavior.
205 1995-06-10 Richard Stallman <rms@gnu.ai.mit.edu>
207 * dispnew.c (Fframe_or_buffer_changed_p): Calculate vector size right.
208 Add hysteresis when making it larger. Fill it up reliably
209 and check at the end for overflowing it.
210 (syms_of_display): Make frame_and_buffer_state initially with 20 elts.
212 * keyboard.c (read_char_minibuf_menu_prompt):
213 If the char to type doesn't match the prompt string,
214 show the char explicitly.
216 1995-06-10 Geoff Voelker <voelker@cs.washington.edu>
218 * ntterm.c,ntproc.c,nt.c: Include config.h before stdio.h.
220 1995-06-09 Geoff Voelker <voelker@cs.washington.edu>
222 * makefile.nt (TEMACS): Depend upon $(BLD).
223 (temacs): Remove $(BLD) dependency.
225 1995-06-09 Richard Stallman <rms@gnu.ai.mit.edu>
227 * xterm.c (x_get_keysym_name): New function.
228 * keyboard.c (modify_event_symbol): Mask out high bits here,
229 and only for certain purposes. table_size now unsigned.
230 (modify_event_symbol) [HAVE_X_WINDOWS]: Use x_get_keysym_name.
231 (make_lispy_event): Don't mask high bits here.
232 Supply -1 as table_size for system-specific keys.
234 * xdisp.c (update_menu_bar): Use set_buffer_internal_1 to switch bufs.
235 Run the hooks in the proper buffer.
236 Normally bind overriding-local-map to nil.
237 (Qoverriding_local_map): New variable.
238 (syms_of_xdisp): staticpro it.
240 1995-06-09 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
242 * keyboard.h (struct kboard): New member system_key_syms.
243 * alloc.c (mark_kboards): Mark it.
244 * keyboard.c (system_key_syms): Deleted; now part of struct kboard.
245 (make_lispy_event): Use the struct member.
246 (init_kboard): Initialize it.
247 (syms_of_keyboard): Delete initialization and staticpro.
249 * Makefile.in.in (SOURCES): Makefile isn't source; Makefile.in.in is.
251 1995-06-08 Richard Stallman <rms@gnu.ai.mit.edu>
253 * keyboard.c (Fevent_convert_list): Renamed from
254 convert_event_type_list.
255 (syms_of_keyboard): defsubr it.
256 * keymap.c (Flookup_key, Fdefine_key): Use Fevent_convert_list.
258 * xmenu.c (xmenu_show): Do call lw_destroy_all_widgets.
259 (xdialog_show): Likewise.
260 (popup_get_selection): Don't call it here.
262 * search.c (Freplace_match): Fix check for valid reg in string replace.
263 Do the right thing with backslash.
265 * keyboard.c (Vhelp_event_list): New var.
266 (syms_of_keyboard): Set up Lisp var.
267 (help_char_p): New function.
268 (read_char, echo_char, read_key_sequence): Use help_char_p.
270 * keyboard.h (Vlucid_menu_bar_dirty_flag): Declare this variable.
271 (Qrecompute_lucid_menubar, Qactivate_menubar_hook): Likewise.
273 * keyboard.c (read_key_sequence): Don't run activate-menubar-hook
274 or call recompute-lucid-menubar.
276 * xdisp.c (update_menu_bar): Run activate-menubar-hook
277 and call recompute-lucid-menubar.
279 1995-06-08 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
281 * commands.h (last_command): Declaration deleted.
282 * keyboard.h (struct kboard): New member Vlast_command.
283 * keyboard.c (last_command): Var deleted; now part of struct kboard.
284 (init_kboard): Initialize it.
285 (syms_of_keyboard): Defvar it.
286 (command_loop_1): Make last_command be kboard-local.
287 * cmds.c (internal_self_insert): Likewise.
288 * minibuf.c (Fminibuffer_complete): Likewise.
290 * m/ibmrs6000.h (LIBS_MACHINE): Use -lpthread if it exists.
292 * m/alpha.h (LIBS_MACHINE): Define to -ldnet or -ldnet_stub.
294 * s/msdos.h (SYSTEM_PURESIZE_EXTRA) [!HAVE_X_WINDOWS]:
297 * process.c [!subprocesses]: Include sysselect.h.
299 * xmenu.c (xmenu_show): If !HAVE_X_WINDOWS, don't reference X display.
301 1995-06-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
303 * keyboard.h (struct kboard): member Vprefix_arg restored, replacing
304 prefix_factor, prefix_value, prefix_sign, and prefix_partial.
305 * callint.c (current_prefix_partial): Deleted.
306 (Vprefix_arg): Deleted; not part of struct kboard again.
307 (Funiversal_argument, Fnegative_argument, Fdigit_argument)
308 (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): Deleted.
309 (syms_of_callint): Use DEFVAR_KBOARD for Vprefix_arg.
310 Remove defsubrs for deleted functions.
311 * lisp.h: Remove declarations for deleted vars and functions.
312 * alloc.c (mark_kboards): Mark Vprefix_arg instead of
313 prefix_factor and prefix_value.
314 * macros.c (Fexecute_kbd_macro): Vprefix_arg is now part of kboard.
315 * keyboard.c (cmd_error, command_loop_1, Fcommand_execute)
316 (Fexecute_extended_command, init_kboard, syms_of_keyboard):
317 Undo Feb 28 change; prefix arg handling is now in Lisp code again.
319 * buffer.c (syms_of_buffer): Doc fix.
321 * buffer.c (Fbuffer_disable_undo): Make this function interactive.
323 1995-06-07 Richard Stallman <rms@gnu.ai.mit.edu>
325 * data.c (Flocal_variable_p): New optional arg BUFFER.
326 Really check whether var is local in *that* buffer.
328 * xfns.c (x_real_positions): Uncatch and recatch X errors in the loop.
330 * filelock.c (unlock_file, lock_file): Call Fexpand_file_name.
332 1995-06-05 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
334 * Makefile.in.in (TOOLKIT_DEFINES): Define.
335 (ALL_CFLAGS): Insert $(TOOLKIT_DEFINES) here.
336 * xfns.c (syms_of_xfns): Provide motif in Motif version.
338 * lisp.h (Fwaiting_for_user_input_p): Function declared.
339 (Fupcase_initials, Fupcase_initials_region): Likewise.
340 (Fplist_get, get_local_map, Fx_popup_menu, Fx_popup_dialog): Likewise.
341 (Fframe_first_window): Likewise.
342 * keyboard.c (cmd_error): Use NULL, not 0, as arg to
344 (menu_bar_items): Likewise, for arg of current_minor_maps.
345 (record_char): Add cast.
346 * indent.c (Fvertical_motion): Add cast.
347 * undo.c (record_insert): Change args to be ints, not Lisp_Objects.
348 * casefiddle.c (casify_region): Use explicit local vars for start
349 and end, so that the type will be correct.
350 (operate_on_word): Likewise for iarg in this function.
351 (upcase_initials, upcase_initials_region): Deleted; these were
352 redundant copies of Fupcase_initials and Fupcase_initials_region.
353 * abbrev.c (Fexpand_abbrev): Call to upcase_initials_region
354 changed to Fupcase_initials_region for consistency.
355 * search.c (Freplace_match): Likewise.
356 * alloc.c: Declare sbrk.
358 * xdisp.c: Include keyboard.h.
360 * s/irix5-0.h (POSIX_SIGNALS): Defined.
362 1995-06-03 Richard Stallman <rms@gnu.ai.mit.edu>
364 * xterm.c (x_wm_set_icon_pixmap): Set IconPixmapHint in both cases.
366 * buffer.c (Fkill_buffer): When killing indirect buffer,
367 unchain that buffer's markers (only) from the common chain.
368 Don't rekill this buffer's indirect buffers that are dead.
369 Do nothing if this buffer is already dead.
371 1995-06-03 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
373 * editfns.c (Fencode_time): Doc fix.
375 * fns.c (NULL): Define if not defined.
377 1995-06-02 Richard Stallman <rms@gnu.ai.mit.edu>
379 * xfns.c (Fx_create_frame): Make sure icon_name is a string or nil.
381 * xterm.h (struct x_display): Rename icon_label to icon_name
382 and make it a Lisp_Object.
384 * xfns.c (Qicon_name): New variable.
385 (Fx_create_frame): Look for icon-name parm and set icon_label field.
386 (x_set_icon_type): Compute arg to x_text_icon
387 based on frame name and icon_name fields.
388 (x_set_icon_name): New function.
389 (x_icon): Call x_text_icon.
390 (x_set_name): Look at icon_name field when setting the icon name.
391 (x_frame_parms): Add icon-name.
392 (syms_of_xfns): Set up Qicon_name.
394 * xterm.c (x_text_icon): Do call XSetIconName or XSetWMIconName.
395 Don't save ICON_NAME anywhere.
397 * sysdep.c (old_tty_valid): New variable.
398 (init_sys_modes): Set old_tty_valid if we set old_tty.
399 (reset_sys_modes): Restore tty settings only if old_tty_valid.
401 * term.c (cursor_to, clear_to_end_of_line_raw):
402 If chars_wasted is 0, do nothing.
403 (clear_end_of_line): Don't die if chars_wasted is 0.
405 * search.c (trivial_regexp_p): = is special after \.
407 * s/ptx.h (HAVE_SELECT, HAVE_TIMEVAL): Definitions deleted.
409 1995-06-01 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
411 * xfns.c (x_destroy_bitmap): Block and unblock input.
412 (Fx_horizontal_line): Add one UNBLOCK_INPUT to fix a misbalance,
413 and move another one to include the call to XFreeGC, in case we
414 someday remove the "#if 0" conditions.
415 * widget.c (EmacsFrameDestroy): Block and unblock input.
417 1995-05-31 Richard Stallman <rms@gnu.ai.mit.edu>
419 * xfns.c (x_display_info_for_name): Fix error message.
420 (Fx_open_connection): Fix error messages.
422 1995-05-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
424 * s/sol2-4.h (LD_SWITCH_SYSTEM): Copied back from s/sol2-3.h;
425 added references to /usr/dt/lib.
427 * xfns.c (syms_of_xfns): Allow PATH_BITMAPS to be a
428 colon-separated list.
430 * editfns.c (syms_of_editfns): user-login-name renamed from user-name.
431 user-real-login-name renamed from user-real-name.
432 C names changed to Vuser_real_login_name, Vuser_login_name as well.
433 * nt.c: Change Vuser_real_name to Vuser_real_login_name.
435 1995-05-30 Richard Stallman <rms@gnu.ai.mit.edu>
437 * xfns.c (x_top_window_to_frame): Don't match menu-bar widget.
439 * xdisp.c (update_menu_bar): Reverse test of save_match_data.
441 * xmenu.c (set_frame_menubar): Always call update_frame_menubar.
443 * xfns.c (x_window): Use applicationShellWidgetClass,
444 not topLevelShellWidgetClass. Call lw_set_main_areas after
445 creating the menubar widget.
447 1995-05-29 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
449 * xdisp.c (update_menu_bar): Do update if region display has changed.
451 * frame.c (make_frame_without_minibuffer): New arg DISPLAY.
452 If there's no minibuffer frame to use, create one.
453 * xfns.c (Fx_create_frame): Pass new arg to
454 make_frame_without_minibuffer.
456 * fns.c (Frandom): Use EMACS_INT, not int.
457 Use NULL, not 0, as arg of `time'.
459 * frame.c: Declare x_get_focus_frame.
460 (Fmouse_position): Use NULL, not 0, as arg of pixel_to_glyph_coords.
461 * keyboard.c (make_lispy_event, make_lispy_movement): Likewise.
463 1995-05-29 Richard Stallman <rms@gnu.ai.mit.edu>
465 * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Do pass MotionNotify events
468 * keyboard.c (Fset_input_mode): When read_socket_hook, ignore
469 what the user specified, and set interrupt_input in the preferred
472 * xterm.c (x_term_init): Call init_sigio only if interrupt_input.
474 1995-05-28 Morten Welinder <terra+@cs.cmu.edu>
476 * s/osf1.h (COFF): Define.
477 * m/alpha.h (LD_SWITCH_MACHINE) [!__GNUC__]: Don't define.
478 (r_alloc, r_re_alloc, r_alloc_free) [REL_ALLOC,
479 !_MALLOC_INTERNAL, !NOT_C_CODE]: Prototype.
481 1995-05-28 Richard Stallman <rms@gnu.ai.mit.edu>
483 * xterm.c (x_set_offset): Distinguish CHANGE_GRAVITY < 0 case.
484 * xfns.c (x_set_frame_parameters): Pass -1 to x_set_offset.
486 * xfns.c (x_report_frame_params): Report top and left
487 in a way that represents negative offsets correctly.
489 * syntax.c (describe_syntax_1): Pass new arg to describe_vector.
491 * keymap.c (describe_vector): New arg entire_map.
492 Don't show bindings shadowed earlier on in the same map.
493 (Fdescribe_vector, describe_map): Pass new arg.
495 * xdisp.c (redisplay_window): Don't use try_window_id if
496 newline has a display table entry.
498 * xdisp.c (update_menu_bar):
499 Call set_frame_menubar with proper buffer current.
501 1995-05-26 Geoff Voelker <voelker@cs.washington.edu>
503 * lread.c (init_lread) [CANNOT_DUMP]: Set Vload_path to EMACSLOADPATH.
505 1995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
507 * xfns.c (x_window): Call initialize_frame_menubar
508 near the end, after UNBLOCK_INPUT.
510 * xmenu.c (popup_get_selection): Force deactivation if key pressed.
512 (xdialog_show, xmenu_show): Pass new arg to popup_get_selection.
513 * xterm.c (XTread_socket): Don't call popup_get_selection here.
515 1995-05-26 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
517 * sysdep.c (VFORK_RETURN_TYPE): Use int if not already defined.
518 (vfork): Declare the return type.
519 * s/sol2-3.h (HAVE_VFORK): Moved here from s/sol2-4.h.
520 (VFORK_RETURN_TYPE): Defined.
521 * s/sol2-4.h (HAVE_VFORK): Moved to s/sol2-3.h.
522 (pid_t): Deleted; s/sol2-3.h now defines a symbol for this.
524 * xdisp.c (x_consider_frame_title): Use FRAME_KBOARD.
526 1995-05-26 Geoff Voelker <voelker@cs.washington.edu>
528 * s/windows95.h: New file.
530 * ntheap.h (get_data_region_base): Undefined.
531 (get_reserved_heap_size): Use reserved_heap_size.
532 (reserved_heap_size): Declared.
533 * ntheap.c (reserved_heap_size,allocate_heap): Defined.
534 (sbrk): Use allocate_heap.
536 * ntterm.c (set_terminal_modes): Set cursor size appropriate for
538 (write_glyphs): Don't memset attrs, which is a word array.
540 * nt.c (configuration_buffer): Increase size.
541 (get_emacs_configuration) [WINDOWS95]: Use appropriate string.
542 (prepare_standard_handles) [WINDOWS95]: Disable subprocesses.
543 (reset_standard_handles): Check error number on failure.
545 * makefile.nt (LIBS): Use BASE_LIBS and ADVAPI32.
546 (config.h,paths.h): Use $(CP) instead of cp.
547 (config.h): Use $(CONFIG_H).
548 (EMACS) [WINDOWS95]: Don't dump temacs.exe.
549 (clean): Cleanup MSVC files and config.h.
550 (cleandump): Separate commands onto multiple lines.
553 1995-05-26 Michael Ernst <mernst@research.microsoft.com>
555 * emacs.c (standard_args): -i, -itype, --icon-type take 0, not 1, args
557 1995-05-25 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
559 * process.c (create_process, send_process): Add volatile qualifiers.
560 (wait_reading_process_input) [both versions]: Cast args of select.
562 * syntax.c (scan_lists): Make stringterm an unsigned char.
564 * dispnew.c (change_frame_size_1): Declare arg DELAY.
566 * insdel.c (adjust_point): Declare arg AMOUNT.
568 * lisp.h (do_symval_forwarding): Declare this function.
569 (frame_buffer_predicate, Foverlay_start, Foverlay_end): Ditto.
570 (Fprevious_single_property_change, Fend_of_line, Felt): Ditto.
571 (Fforward_line, Fforward_word, Fdelete_region, Fforward_char): Ditto.
572 (Fnarrow_to_region, Fwiden, Fmatch_beginning, Fmatch_end): Ditto.
573 (Fskip_chars_forward, Fskip_chars_backward): Ditto.
574 (Ffile_name_absolute_p, read_doc_string): Ditto.
575 (get_frame_param, store_frame_param, store_in_alist): Ditto.
576 (describe_map_tree): Declaration moved here from keymap.c.
577 * keymap.c (describe_map_tree): Move declaration to lisp.h.
579 * doc.c (Fsubstitute_command_keys): Cast arg of describe_map_tree.
580 * frame.c [MULTI_FRAME] (Fmouse_position): Cast arg of
581 pixel_to_glyph_coords.
582 * callint.c (Fcall_interactively): Cast arg of doprnt.
583 * editfns.c (format1): Likewise.
584 * xdisp.c (message): Likewise.
585 (scroll_bottom_vpos, fmodetrunc): Declarations deleted.
587 1995-05-25 Richard Stallman <rms@gnu.ai.mit.edu>
589 * dispnew.c (Fframe_or_buffer_changed_p): Record frame names
590 as well as the frame objects.
592 * xterm.c (XTread_socket):
593 For MapNotify, call record_asynch_buffer_change.
595 * xdisp.c (prepare_menu_bars): Update frame titles before menu bars.
597 * xfns.c (Fx_get_resource): Major rewrite to make it clearer.
598 (validate_x_resource_name): Use build_string, not make_string.
599 (Fx_create_frame): Initially use Vinvocation_name as resource name.
600 Switch to frame name if frame name is explicit.
601 (x_display_info_for_name, Fx_open_connection): Add casts.
602 Initially use Vinvocation_name as resource name.
603 [USE_X_TOOLKIT] (x_window): Use Vx_resource_name for widget names.
605 * xmenu.c (xmenu_show, xdialog_show): Increment widget_id_tick
606 in the same way as in xfns.c. Use LWLIB_ID type where appropriate.
607 (set_frame_menubar, free_frame_menubar): Add casts to LWLIB_ID.
609 * xterm.c (XTflash): Use pointers as args to select.
610 (XTread_socket, x_set_offset, x_set_window_size)
611 (x_make_frame_invisible): Cast 2nd arg to x_wm_set_size_hint.
612 (XTclear_end_of_line): Don't specify return type.
613 (note_mouse_highlight): Declare args x and y.
614 (x_icon_type): New declaration.
615 (flashback): Declaration deleted.
617 1995-05-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
619 * lisp.h (menu_bar_items): Declare this function.
621 1995-05-24 Richard Stallman <rms@gnu.ai.mit.edu>
623 * xmenu.c (Fx_popup_dialog): Treat (menu-bar) like t, for POSITION.
625 * frame.c (Fdelete_frame): When updating Vdefault_minibuffer_frame,
626 insist on a frame on the proper keyboard.
628 * xterm.c (x_connection_closed): Unblock input, first thing.
629 Set Vdefault_minibuffer_frame to t
630 before deleting a frame that might have its own minibuffer.
632 1995-05-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
634 * xfns.c (hack_wm_protocols): Use cast instead of suffix.
636 1995-05-23 Richard Stallman <rms@gnu.ai.mit.edu>
638 * xfns.c (x_set_frame_parameters): Pass 1 as change_gravity
639 when calling x_set_offset.
640 (x_real_positions): Don't add border_width into win_x, win_y.
641 * xterm.c (x_set_offset): Add border_width when calling XMoveWindow.
643 * xterm.h (struct x_display): New field menubar_height.
644 * xmenu.c (set_frame_menubar): Set menubar_height field.
645 * xfns.c (x_window) [both versions]: Set menubar_height.
647 * xfns.c [USE_X_TOOLKIT] (x_window): Don't call XMoveWindow
648 or x_calc_absolute_position. Do use the border_width.
650 * xterm.c (x_calc_absolute_position): Use menubar_height field.
651 In toolkit case, use outermost Emacs widget and its parent.
652 [USE_X_TOOLKIT] (x_make_frame_visible): Do call x_set_offset.
655 * xfns.c [USE_X_TOOLKIT] (x_window): Pass position to toolkit
656 only if user-specified. But always use XMoveWindow to move the
657 window to that position.
659 * alloc.c (Fgarbage_collect): Clear consing_since_gc first thing.
661 * xdisp.c (redisplay_window): Use set_buffer_internal_1.
663 * buffer.c (set_buffer_internal_1): New subroutine.
664 (Fmove_overlay): Don't set windows_or_buffers_changed.
666 1995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
668 * xselect.c (x_get_window_property): Cast args of XGetWindowProperty.
669 * xfaces.c (unload_color): Cast args of XFreeColors.
670 * xfns.c (hack_wm_protocols): Cast args of XGetWindowProperty.
671 (x_set_border_pixel): Cast args of XSetWindowBorder.
672 * widget.c (create_frame_gcs): Cast args of XCreateGC.
673 (setup_frame_gcs): Cast args of XCreatePixmapFromBitmapData.
675 * data.c (long_to_cons): Don't assume 32-bit longs.
676 * fileio.c (Fvisited_file_modtime): Cast arg of long_to_cons.
678 * editfns.c (Fformat): Split double into two pointers, not two ints.
680 * s/hpux9.h: Delete HAVE_FMOD; configure handles that correctly now.
682 1995-05-22 Richard Stallman <rms@waves>
684 * xdisp.c (display_text_line): Enter a char in charstarts
685 at the very end of the character loop.
686 Enter newline or ^M (if selective display) separately.
688 * lisp.h (gdb_lisp_params): New enum type.
689 * .gdbinit: Use gdb_lisp_params to get storage layout info.
690 Set and use $valmask and $nonvalbits.
692 * lread.c (oblookup): Delete argument hashp.
694 1995-05-19 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
696 * floatfns.c (Flogb): frexp needs a pointer to int, not EMACS_INT.
698 1995-05-19 Richard Stallman <rms@waves>
700 * dispnew.c (buffer_posn_from_coords): Don't let startp be before BEGV.
702 1995-05-18 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
704 * indent.c (compute_motion): Handle overlay strings.
705 New arg DID_MOTION. All callers changed.
706 * dispnew.c, window.c: Add new argument to calls of compute_motion.
707 * xdisp.c: Add new argument to calls of compute_motion.
708 (zv_strings_seen): New variable.
709 (redisplay, try_window, try_window_id): Clear zv_strings_seen.
710 (display_text_line): Handle overlay strings.
712 1995-05-18 Richard Stallman <rms@waves>
714 * s/sol2-4.h: Undo previous change.
716 * emacs.c (Fkill_emacs): Delete the auto-save-list file
717 after shut_down_emacs.
719 * process.c (status_notify): If Vprocess_alist changes within
720 the loop, do the whole loop again.
722 1995-05-17 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
724 * emacs.c (Fdump_emacs): Don't take address of array.
726 * buffer.c (Fmake_indirect_buffer): Fix interactive spec.
728 * Makefile.in.in (SOURCES): Fix reference to ymakefile.
730 * keyboard.c (syms_of_keyboard): Always define track-mouse.
731 (do_mouse_tracking): Always declare this var.
733 1995-05-15 Marcus G. Daniels <marcus@ee.pdx.edu>
735 * s/linux.h: Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
736 [__ELF__] (START_FILES, LIB_STANDARD, LIB_GCC, UNEXEC): Define these.
737 [__ELF__] (UNEXEC_USE_MAP_PRIVATE): Define this.
739 * unexelf.c (unexec) [UNEXEC_USE_MAP_PRIVATE]: New logic for
740 systems that don't support MAP_SHARED with PROT_WRITE.
742 1995-05-15 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
744 * s/sol2-4.h (LD_SWITCH_SYSTEM): Define.
746 1995-05-15 Simon Leinen <simon@lia.di.epfl.ch>
748 * indent.c (vmotion): handle the case where `minibuf_prompt' is nil.
750 1995-05-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
752 * indent.c (vmotion): Simplify. Replace last three args with a single
753 struct window *. All callers changed.
754 * xdisp.c (minmax): New macro.
755 (redisplay, redisplay_window, try_window_id): Clip cursor hpos at both
756 low and high extremes, in anticipation of a change to compute_motion.
758 * xterm.c (Qvendor_specific_keysyms): New var.
759 (syms_of_xterm): Initialize and staticpro it.
760 (x_term_init): Initialize Vsystem_key_alist according to vendor.
762 * emacs.c (main) [NeXT]: Add missing braces.
764 1995-05-11 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
766 * sysdep.c (init_system_name): Clean up signedness mismatch.
767 * unexelf.c (unexec): Fix type mismatch.
768 * print.c (float_to_string): Fix type mismatch and simplify.
770 * dispnew.c [!MULTI_FRAME] (Fredraw_frame): Delete extra docstring.
771 * frame.c [!MULTI_FRAME] (Fframe_height, Frame_width): Likewise.
773 1995-05-09 enami tsugutomo <enami@sys.ptg.sony.co.jp>
775 * window.c [MULTI_FRAME] (init_window_once): Set Vterminal_frame
777 * frame.c [MULTI_FRAME] (make_terminal_frame): Don't set
779 (do_switch_frame): Set Vterminal_frame to selected_frame.
781 1995-05-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
783 * Makefile.in.in (VMS_SUPPORT): Add missing `.elc'.
784 (SOME_MACHINE_LISP): New variable.
787 * buffer.c (syms_of_buffer): Doc fix.
789 * frame.c (frame-height, frame-width, set-screen-height,
790 set-screen-width, termal-frame) [!MULTI_FRAME]: Delete doc strings.
792 1995-05-08 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
794 * keyboard.c (init_kboard): Initialize Vdefault_minibuffer_frame.
795 * keyboard.h (struct kboard): New member Vdefault_minibuffer_frame.
796 * frame.c: Vdefault_minibuffer_frame is now part of KBOARD instead
797 of a variable. All references changed.
798 (make_frame_without_minibuffer): New arg KB.
799 Require the new frame's minibuffer to be on the same display.
800 * xfns.c (Fx_create_frame): Pass kb to make_frame_without_minibuffer.
802 * xdisp.c (x_consider_frame_title): When setting multiple_frames,
803 ignore invisible frames and frames on other displays.
805 * keyboard.c [MULTI_KBOARD] (read_char): If the character was for
806 the wrong kboard, don't let it get processed twice.
808 1995-05-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
810 * callproc.c (Fcall_process): Keep reading till buffer is nearly full.
812 * emacs.c (Fdump_emacs): Don't use & before my_edata.
814 1995-05-08 Francesco Potortì (pot@cnuce.cnr.it)
816 * m/delta.h (C_SWITCH_MACHINE): Let configure decide if this is
817 a 68040 or 68030. Don't condition on __STDC__.
819 1995-05-08 enami tsugutomo <enami@sys.ptg.sony.co.jp>
821 * frame.c (Fraise_frame, Flower_frame): Make arg FRAME optional.
823 * keyboard.c (Fread_key_sequence): Doc fix.
825 1995-05-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
827 * window.c (Fdisplay_buffer): Initialize other, upper, lower.
829 1995-05-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
831 * lisp.h (Fmatch_data, Fstore_match_data): Declared.
833 * xdisp.c (prepare_menu_bars): Save and restore the match data.
834 (update_menu_bar): New arg save_match_data.
835 Maybe save and restore match data here.
837 1995-05-07 Geoff Voelker <voelker@cs.washington.edu>
839 * makefile.nt (region-cache.obj,vm-limit.obj): Dependencies defined.
840 (OBJ1): Don't compile xfaces.c.
841 (buffer.obj,indent.obj,search.obj): Add region-cache.h dependency.
843 1995-05-07 Paul Eggert <eggert@twinsun.com>
845 * data.c (Fmod): Fix the final adjustment, when f2 < 0 and f1 == 0.
847 * lread.c (isfloat_string): Reject strings like "0.5+".
849 1995-05-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
851 * process.c (wait_reading_process_input): Pass arg in new call to
852 set_waiting_for_input.
854 * xfns.c (Funfocus_frame): Check for live X frame.
856 * lread.c (init_lread): Don't warn about missing installation dirs
857 when using dirs derived from the executable.
859 1995-05-06 Geoff Voelker <voelker@cs.washington.edu>
861 * makefile.nt (TRES): Defined.
862 (TLIB1,TLIB2): Created out of TLIB.
863 (TLIB): Split to reduce time to do library updates.
865 (strftime.obj): Compile with -Dstrftime=emacs_strftime.
867 1995-05-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
869 * window.c (syms_of_window): Doc fix.
870 (temp_output_buffer_show): If we use Vtemp_buffer_show_function,
873 * s/bsd386.h (GETPGRP_NO_ARG): New definition.
874 (BSD): Include sys/param.h instead of redefining BSD.
875 But do this only if emacs is defined.
877 * lisp.h (gc_cons_threshold): Change back to int.
878 * alloc.c (gc_cons_threshold): Change back to int.
880 (inhibit_garbage_collection): Don't exceed value an int can hold.
882 * xdisp.c (prepare_menu_bars): Clear size-change flag before running
883 size-change functions.
884 (scroll_step, debug_end_pos, line_number_display_limit): Now static.
886 1995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
888 * emacs.c (Fdump_emacs_data): Don't use & before my_edata.
890 * editfns.c (Fencode_time): Rename arg from min to minute.
891 (days_per_month): Move variable to top level.
893 * process.c (wait_reading_process_input): Don't call prepare_menu_bars.
894 Clear waiting_for_input around calling redisplay_preserve_echo_area.
896 * xfns.c [USE_X_TOOLKIT] (x_window): Always pass position in geometry.
897 Set XtNmappedWhenManaged to 0 for shell_widget.
898 (Fx_create_frame): Always call x_wm_set_size_hints.
900 * s/sol2-4.h (HAVE_VFORK): Add #undef.
902 * s/netbsd.h (GETPGRP_NO_ARG): Defined.
904 1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
906 * s/freebsd.h (GETPGRP_NO_ARG): Define.
907 (HAVE_GETPAGESIZE): Definition deleted.
909 * data.c (store_symval_forwarding): Error if value out of range
910 for an integer variable.
911 (Fstring_to_number): Avoid using make_number to return value.
914 1995-05-04 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
916 * buffer.c (Qbefore_string, Qafter_string): New vars.
917 (syms_of_buffer): Initialize and staticpro them.
918 (cmp_for_strings, overlay_strings): New functions.
920 1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
922 * indent.c (string_display_width): Renamed from string_width.
923 (vmotion): Use new name.
925 * s/sco4.h [!__GNUC__] (LINKER): Defined.
927 * insdel.c (make_gap): Don't allow buffer size that won't fit in int.
928 Make this new error check also check exceeding VALBITS.
929 (insert_1): Delete old error test.
932 * Makefile.in.in (${etc}DOC): Put SOME_MACHINE_OBJECTS before obj.
934 * xfaces.c (region_face, next_face_id): Make static.
936 * xselect.c (Vselection_converter_alist, x_selection_timeout)
937 (Vx_sent_selection_hooks, Vx_lost_selection_hooks, Vselection_alist):
940 * alloc.c (inhibit_garbage_collection):
941 Use XSETINT, and do arithmetic in type EMACS_INT.
943 * s/hpux9.h (HAVE_FMOD): Defined.
945 * sysdep.c (bcmp, bcopy): Fix backward BSTRING conditionals.
947 * emacs.c (Fkill_emacs): Delete the Vauto_save_list_file_name file.
949 1995-05-04 Morten Welinder <terra+@cs.cmu.edu>
951 * data.c (arith_driver): Make accum and next EMACS_INTs.
952 (Fmod): i1 and i2 are EMACS_INT.
954 * editfns.c (Fformat): Allow 30 characters in the printed version
955 of integers and floats.
957 * print.c (print): Handle long EMACS_INT in sprintf.
958 * keyboard.c (Fexecute_extended_command):
959 Handle long EMACS_INT in sprintf.
960 * lread.c (read1): Handle long EMACS_INT in atol.
961 * doprnt.c (doprnt): Handle long EMACS_INT in sprintf.
962 * data.c (Fnumber_to_string, Fstring_to_number):
963 Handle long EMACS_INT in sprintf and atol.
965 * process.c (list_processes_1): Cast XFASTINT for passing to sprintf.
967 * m/alpha.h (bcopy, bzero, bcmp): Don't let string.h prototype these.
969 1995-05-03 Morten Welinder <terra+@cs.cmu.edu>
971 * keyboard.c (parse_modifiers, apply_modifiers): Don't assume
973 (parse_modifiers): modifiers is an int, not an EMACS_INT.
974 (read_key_sequence): Pass modifiers as int, not EMACS_INT.
976 * buffer.h (Fdelete_overlay): Was mistakenly called Fdelete_overlays.
978 * lisp.h (gc_cons_threshold): Make this an EMACS_INT.
980 * alloc.c (gc_cons_threshold): Make this an EMACS_INT.
981 (gc_sweep): Make already_free an EMACS_INT.
983 * search.c (search_buffer): Cast p_limit to EMACS_INT not int.
985 * s/osf1.h (GETPGRP_NO_ARG): Define.
987 1995-05-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
989 * keyboard.c (reorder_modifiers): Use XINT.
990 Cast apply_modifiers arg to int.
992 * unexapollo.c: New file.
994 * m/apollo.h (CANNOT_DUMP, VIRT_ADDR_VARIES, LIBS_TERMCAP)
995 (NO_X_DESTROY_DATABASE): Macros deleted.
996 (BSTRING): #undef deleted.
997 (SYSTEM_TYPES): Redefinition deleted.
998 (UNEXEC): New definition.
999 (LD_SWITCH_SYSTEM): Define as empty.
1000 (C_SWITCH_MACHINE, LD_SWITCH_MACHINE): New definitions.
1001 (OLDXMENU_OPTIONS): New definition.
1003 * fileio.c (directory_file_name): Add APOLLO conditional.
1004 (Fcopy_file, Fset_file_modes): Delete APOLLO conditionals.
1006 * emacs.c: Delete all APOLLO conditionals.
1008 1995-05-02 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1010 * intervals.c (get_local_map): Use Fget_char_property, so that
1011 overlay properties will be considered as well as text properties.
1013 1995-05-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1015 * insdel.c (prepare_to_modify_buffer): Use file_truename for locking.
1017 * fileio.c (Finsert_file_contents): Use file_truename for unlocking.
1019 * buffer.c (Fset_buffer_modified_p): Use the truename for locking.
1021 * lread.c (read1): New arg FIRST_IN_LIST; all callers changed.
1022 Special handling for backquote and comma.
1023 (Qbackquote, Qcomma, Qcomma_at, Qcomma_dot): New variables.
1024 (syms_of_lread): Initialize and staticpro them.
1025 (Fread, Fread_from_string): Initialize new_backquote_flag.
1027 1995-05-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1029 * xmenu.c (xmenu_show, menubar_selection_callback): Move declaration
1030 of entry to an outer block, to guarantee its value is preserved.
1032 * keyboard.c (kbd_buffer_get_event): New arg USED_MOUSE_MENU.
1033 [USE_X_TOOLKIT]: Set *USED_MOUSE_MENU if returning menu-bar symbols.
1034 (read_char): Pass used_mouse_menu to kbd_buffer_get_event.
1035 This variable is now meaningful for toolkit menus as well as
1038 * dispnew.c (update_frame): Don't put cursor in echo area unless
1039 the echo area is on this frame.
1040 * xdisp.c (redisplay): Don't move the cursor if it's supposed to
1041 be in the echo area.
1042 (display_text_line): Likewise.
1043 (echo_area_display): Put cursor in echo area if appropriate.
1045 1995-04-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1047 * emacs.c (standard_args): Add #ifdef VMS for -map.
1048 (main): Delete duplicate code for -version.
1049 (standard_args): Add -help and -version.
1051 * fileio.c (Fdo_auto_save): Record visited file name
1052 as well as auto-save file name in the auto-save-list-file-name file.
1053 Call Fexpand_file_name for auto-save-list-file-name.
1055 1995-04-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1057 * sysdep.c [HAVE_UNISTD_H]: Include unistd.h.
1059 * emacs.c (standard_args): Add -L/--directory/-directory.
1061 * s/sunos4shr.h (ORDINARY_LINK): Defined.
1062 (LINKER): Definition deleted.
1064 1995-04-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1066 * xfns.c (x_non_menubar_window_to_frame): New function.
1067 * xterm.h: Declare x_non_menubar_window_to_frame.
1068 * xmenu.c (popup_get_selection): Use x_non_menubar_window_to_frame.
1069 Either queue or dispatch the event, but not both.
1070 (dialog_selection_callback): Clear popup_activated_flag.
1072 * xmenu.c (Fx_popup_menu): If POSITION is just (menu-bar), use the
1073 current mouse position.
1074 (menubar_selection_callback): Use (menu-bar) instead of 'menu-bar.
1075 * keyboard.c (read_char, read_char_x_menu_prompt): Exclude
1076 menu-bar clicks when processing mouse clicks.
1078 * xterm.c (x_term_init): Add stub to initialize Vsystem_key_alist.
1080 1995-04-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1082 * process.c (create_process): Don't reference pty_name if !HAVE_PTYS.
1084 1995-04-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1086 * fileio.c (Ffile_regular_p): Use Qfile_regular_p.
1087 (syms_of_fileio): Set up Qfile_regular_p.
1089 * emacs.c (standard_args): Move -iconic and --icon-type
1090 to the end of the initial args.
1092 1995-04-25 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1094 * alloc.c (mark_kboards): Mark the kbd macro and Vsystem_key_alist.
1096 1995-04-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1098 * s/linux.h (REGEXP_IN_LIBC): Defined.
1100 * callproc.c (Fcall_process): Use bigger buffer, and grow it
1101 as we get more and more data.
1103 1995-04-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1105 * xterm.c (x_term_init): If the previous kboard was the dummy one,
1106 switch to the new one immediately.
1108 * keyboard.h (struct kboard): New member Vsystem_key_alist.
1109 * keyboard.c (Vsystem_key_alist): Delete global variable.
1110 (init_kboard): Initialize Vsystem_key_alist member.
1111 (syms_of_keyboard): Change DEFVAR_LISP to DEFVAR_KBOARD.
1112 (make_lispy_event): Use the kboard's alist instead of the global.
1114 * fns.c (Fplist_put): Don't signal an error if plist isn't a cons.
1116 * xterm.c (x_focus_frame, x_focus_event_frame, x_highlight_frame):
1117 Delete these vars; now part of struct x_display_info.
1118 (x_new_focus_frame): New arg DPYINFO. Callers changed.
1119 Use the struct members instead of the globals.
1120 Call x_frame_rehighlight instead of XTframe_rehighlight, so we can
1121 pass on the dpyinfo pointer.
1122 (x_mouse_leave): New arg DPYINFO. Callers changed.
1123 (XTframe_rehighlight): New arg FRAME. Callers changed.
1124 Now does all the work in x_frame_rehighlight.
1125 (x_frame_rehighlight): New function, code from XTframe_rehighlight.
1126 (XTread_socket): Use the struct members instead of the globals.
1127 (x_unfocus_frame, x_iconify_frame, x_destroy_window): Likewise.
1128 (x_display_box_cursor, x_make_frame_invisible): Likewise.
1129 (x_term_init): Initialize the struct members.
1130 (x_initialize): Delete initialization of deleted globals.
1131 * xfns.c (x_get_focus_frame): New arg FRAME. Callers changed.
1132 (Funfocus_frame): Unfocus on selected_frame's display.
1133 * xterm.h (struct x_display_info): New members x_focus_frame,
1134 x_focus_event_frame, x_highlight_frame, replacing global vars.
1135 * frame.c (do_switch_frame): Don't try to refocus termcap frames.
1137 * Makefile.in.in: Make dispnew.o and keyboard.o depend on xterm.h.
1138 Make intervals.o and term.o depend on keyboard.h.
1140 * xfns.c (x_window): Fix type mismatch.
1142 * xdisp.c (message_dolog): The message log doesn't need an undo list.
1144 * term.c (term_init): MagicWrap implies AutoWrap.
1146 1995-04-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1148 * keyboard.c (safe_run_hooks_1, safe_run_hooks_error): New subroutines.
1149 (safe_run_hooks): Handle errors to clear the hook,
1150 instead of always clearing it temporarily.
1152 * callproc.c (child_setup): Reword "can't exec" message.
1153 Add newline after message.
1155 * process.c (create_process): Don't abort if can't reopen
1156 pty_name in the child. Exit the child instead.
1158 1995-04-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1160 * abbrev.c (Fexpand_abbrev): Add some error checking.
1162 * xmenu.c (Fx_popup_dialog): Don't pass menubarp arg to xdialog_show.
1164 1995-04-19 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1166 * frame.h (struct frame): New member namebuf.
1167 * frame.c (make_frame): Initialize it.
1168 (Fdelete_frame): Free it.
1169 * xfns.c (x_window): Use (or reuse) frame's namebuf instead of a
1170 temp var. This avoids a storage leak.
1172 1995-04-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1174 * xmenu.c (xmenu_show, xdialog_show): Delete menubarp arg.
1175 (Fx_popup_menu): Don't compute menubarp.
1177 1995-04-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1179 * callproc.c (Fcall_process): Call Fexpand_file_name for error_file.
1181 * keyboard.c (map_event_to_object): Declaration deleted.
1183 1995-04-18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1185 * eval.c (Ffetch_bytecode): Check the type of the object being
1188 1995-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1190 * editfns.c (Fencode_time): Don't treat years < 100 as special.
1192 1995-04-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1194 * lisp.h: Declare some functions.
1195 * buffer.c (adjust_overlays_for_insert): New function.
1196 (adjust_overlays_for_delete): New function.
1197 * insdel.c (insert_1): Adjust overlay center after inserting.
1198 (insert_from_string_1, insert_from_buffer_1): Likewise.
1199 (del_range_1): Adjust overlay center after deleting.
1201 1995-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1203 * editfns.c (Fencode_time): Rewrite by Naggum.
1205 1995-04-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1207 * xfns.c (x_report_frame_params): Report value of `display' parm.
1209 * Makefile.in.in (really-lwlib, really-oldXMenu): Mark as .PHONY.
1211 1995-04-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1213 * editfns.c (Fencode_time): Fix missing \n\'s.
1215 1995-04-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1217 * editfns.c (init_editfns): Add casts.
1219 * doc.c (get_doc_string): Add cast.
1221 * keyboard.c (kbd_buffer_get_event): Don't use prototype.
1223 * xdisp.c (message_log_check_duplicate): Make p1 and p2
1226 1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1228 * xterm.c (x_term_init): Call XtSetLanguageProc only if HAVE_X11XTR6.
1230 1995-04-13 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1232 * editfns.c (Fbuffer_string): Doc clarification.
1234 * alloc.c: Delete the #if that compares MARKBIT.
1236 * window.c (Fdisplay_buffer): Search the proper frame when the
1237 current frame is minibuffer-only.
1239 * fileio.c (Fexpand_file_name): Use IS_DIRECTORY_SEP instead of
1240 special code for WINDOWSNT.
1242 1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1244 * xfaces.c (compute_char_face): Don't use NULL.
1246 * buffer.c (Foverlays_at, Fnext_overlay_change): Don't use NULL.
1247 (Fprevious_overlay_change): Don't use NULL.
1249 * xfns.c (Fx_color_defined_p): Doc fix.
1251 * xfaces.c [! HAVE_X_WINDOWS] (build_face): Deleted.
1253 1995-04-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1255 * callint.c (Fcall_interactively): Fix paren nesting.
1257 * buffer.c (evaporate_overlays): Fix type error.
1259 1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1261 * xterm.c (XTmouse_position): Handle X errors in XTranslateCoordinates.
1263 * lisp.h (MARKBIT): Do the shifting as unsigned int.
1264 Delete the #if that compares MARKBIT.
1266 1995-04-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1268 * xterm.c (XTread_socket): For ConfigureNotify,
1269 combine the USE_X_TOOLKIT and non-toolkit cases, which provides
1270 some things that were missing in the former.
1272 * alloc.c (gc_sweep): If a misc has type Lisp_Misc_Free,
1273 keep it on the free list. Sum pseudovector sizes properly.
1275 * dispnew.c (Fframe_or_buffer_changed_p): Ignore buffers whose names
1278 * editfns.c (Fencode_time): Use XINT to examine `zone'.
1280 1995-04-11 Geoff Voelker <voelker@cs.washington.edu>
1282 * ntinevt.c (nt_kdb_patch_event): Created.
1284 * callproc.c (child_setup) [WINDOWSNT]: Removed syntax errors.
1286 * dired.c (Ffile_attributes) [WINDOWSNT]: Removed syntax errors.
1288 * fileio.c (Fexpand_file_name) [DOS_NT]: Preserve drive letter case.
1290 Check drive letter when expanding ~\.
1292 * sysdep.c (sys_subshell) [WINDOWSNT]: Don't invoke restore_console.
1294 * ntproc.c (win32_wait): Reap synchronous subprocesses, and place
1295 return code in synch_process_retcode.
1297 * s/windowsnt.h (ctime): Defined to be nt_ctime.
1298 (NULL): Defined when missing from included system files.
1299 (EMACS_CONFIG_OPTIONS): Defined.
1300 (LISP_FLOAT_TYPE): Defined.
1301 (HAVE_TZNAME): Defined.
1302 (HAVE_TIMEVAL): Defined.
1303 (struct timeval): Defined.
1304 (struct timezone): Defined.
1306 * nt.c (nt_ctime): Defined.
1307 (gettimeofday): Defined.
1309 * ntinevt.c (do_mouse_event): Use XSETFASTINT.
1310 (SET_FRAME): Undefined.
1311 (select): Renamed to sys_select to correspond to routine in sysdep.c.
1312 (sys_select): Support struct timeval.
1313 (key_event): Support German keyboard.
1314 Replace SET_FRAME with XSETFRAME.
1315 (nt_kbd_mods_to_emacs): Renamed to win32_kbd_mods_to_emacs.
1316 (win32_kbd_mods_to_emacs): Support AltGr on German keyboards.
1317 (win32_number_shift_map): Defined.
1318 (WIN32_KEY_SHIFTED): Defined.
1319 (win32_patch_key): Defined.
1320 (map_virt_key): Support VK_OEM_102 for German keyboards.
1321 (win32_mouse_position): Add arg insist.
1322 (do_mouse_event): Replace SET_FRAME with XSETFRAME.
1323 Use win32_kbd_mods_to_emacs.
1325 * fileio.c (directory_file_name) [WINDOWSNT]: Handle UNC format.
1327 * nt.c (nt_stat): Defined.
1329 * s/windowsnt.h (struct nt_stat): Defined.
1331 * ntinevt.h: Fixed function prototypes.
1333 * makefile.nt (TEMACS): Add dependence on $(BLD).
1335 * ntterm.c (Fset_message_beep): Defined.
1336 (ring_bell): Support audio cards.
1338 * makefile.nt (DOC): Defined.
1340 * s/windowsnt.h (HAVE_RANDOM): Defined.
1341 (random): Macro undefined.
1342 (srandom): Macro undefined.
1343 (HAVE_UTIME): Defined.
1345 (EMACS_CONFIGURATION): Defined.
1347 * nt.c (random): Defined.
1350 * nt.c (readdir): Include "." and "..".
1351 (get_inode_and_device_vals): Handle directories.
1353 * fileio.c (Fexpand_file_name) [DOS_NT]: Don't strip slash from
1354 default dirs like "C:\\"
1356 * makefile.nt (all): Use COMPAT_LIB in library list.
1357 Use DEL_TREE instead of delnode.
1359 * ntheap.c (sbrk): Shrink heap by arbitrary amounts.
1361 * m/intel386.h (NO_ARG_ARRAY) [WINDOWSNT]: Defined.
1363 * s/windowsnt.h (_VARARGS_): Defined.
1364 (_CALLBACK_): Defined.
1366 1995-04-11 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
1368 * process.c (create_process): Set PROCESS's tty_name to Qnil when
1369 !PTY_FLAG, so Fprocess_tty_name returns nil for pipes as its
1372 1995-04-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1374 * keyboard.c (read_char): Rearrange code so that getcjmp is set
1375 only around sit_for and kbd_buffer_get_event, and
1376 and polling is stopped only around the kbd_buffer_get_event call.
1377 (Ftrack_mouse, tracking_off, read_char): Don't call prepare_menu_bars.
1379 * dispnew.c (init_desired_glyphs): New function.
1380 * xdisp.c (redisplay): Call init_desired_glyphs for each frame.
1381 Call prepare_menu_bars.
1382 (prepare_menu_bars): Delete code at beginning that duplicates
1383 things done at the beginning of redisplay.
1385 * alloc.c (inhibit_garbage_collection): New function.
1387 * xterm.c (XTread_socket): Pass dpyinfo to popup_get_selection.
1389 * xmenu.c (popup_get_selection): Queue up events that aren't
1390 for the menu, and process them afterward. New arg dpyinfo.
1391 (set_frame_menubar): Use inhibit_garbage_collection.
1392 [USE_X_TOOLKIT] (xmenu_show): Delete the queue code here.
1393 Pass dpyinfo to popup_get_selection.
1394 Don't call lw_destroy_all_widgets.
1395 [USE_X_TOOLKIT] (xdialog_show): Simplify using popup_get_selection.
1397 1995-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1399 * callint.c (Fcall_interactively): Fix handling of @
1400 when it tests whether the event has a window in it.
1402 * s/sco4.h (NO_SOCKETS_IN_FILE_SYSTEM): Defined.
1404 * eval.c (internal_condition_case): Abort if interrupt_input_blocked>0.
1406 * xmenu.c (set_frame_menubar): Don't block input until after
1407 the menubar maps have been decoded.
1409 1995-04-10 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1411 * keyboard.c (push_frame_kboard, pop_frame_kboard): Do nothing if
1414 * keyboard.c (init_keyboard): Don't malloc a new structure;
1415 initial_kboard should already exist for that.
1416 * frame.c (make_terminal_frame): Put initial_kboard on the list of
1419 1995-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1421 * xmenu.c (popup_get_selection): For ButtonRelease event,
1422 clear dpyinfo->grabbed.
1424 * window.c (temp_output_buffer_show): Select the chosen window
1425 temporarily for running temp-buffer-show-hook.
1426 (syms_of_window): Fix typo.
1428 * s/osf1.h: Don't include alloca.h, string.h here.
1429 (malloc. realloc, xmalloc, xrealloc): Declarations moved to m/alpha.h.
1430 * m/alpha.h: Include alloca.h, string.h here.
1431 (malloc. realloc, xmalloc, xrealloc): Declarations moved from s/osf1.h.
1433 * xdisp.c (display_mode_line): Use push_frame_kboard, pop_frame_kboard.
1435 * xfns.c (x_window): Copy the frame name to non-Lisp string.
1437 * keyboard.c (any_kboard_state): Renamed from unlock_kboard.
1438 Define it unconditionally, but it's a no-op unless MULTI_KBOARD.
1439 (single_kboard_state): New function.
1440 (push_frame_kboard, pop_frame_kboard): New functions.
1441 (single_kboard): Renamed from kboard_locked.
1443 * keyboard.h (single_kboard): Renamed from kboard_locked.
1445 (struct kboard): Move flag fields to the end, and make them chars.
1446 Delete the `unused' field.
1448 * callint.c (Fcall_interactively): Call single_kboard_state
1449 to switch to the single-kboard state.
1450 * minibuf.c (read_minibuf): Call single_kboard_state
1451 to switch to the single-kboard state.
1453 * alloc.c, data.c, macros.c, print.c: Include keyboard.h.
1455 * Makefile.in.in (alloc.o, data.o, macros.o, print.o):
1456 Depend on keyboard.h.
1458 * xterm.h (x_display_info): Use `struct kboard', not KBOARD.
1459 * frame.h (struct frame): Use `struct kboard', not KBOARD.
1461 * keyboard.h (KBOARD, etc): Moved from lisp.h.
1462 (struct kboard): Renamed from struct KBOARD.
1463 * lisp.h (KBOARD, etc): Moved to keyboard.h.
1465 1995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1467 * keyboard.c (unlock_kboard): Do nothing with Vunread_command_events.
1468 (read_char): Clean up logic for reading from KBOARD queues.
1470 * xfns.c (defined_color): Fix typo (duplicate +).
1472 * keyboard.c (kbd_buffer_get_event): Set copy by assignment, not init.
1474 * xterm.c (XTread_socket): Make deiconify event
1475 only if frame was iconified.
1477 * xrdb.c (xmalloc, xrealloc): Declare them here.
1479 1995-04-08 Erik Naggum <erik@naggum.no>
1481 * editfns.c (Fencode_time): New function, to match `decode-time'.
1483 1995-04-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1485 * intervals.c (set_point): When skipping intangible text,
1486 stop where property value changes.
1488 * indent.c (Fmove_to_column): Fix minor bug in prev change.
1490 * lread.c (read_escape): Undo Nov 15 change.
1492 * xdisp.c (display_mode_line): Test mode_line_inverse_video
1493 before highlighting partial-width mode line.
1495 * xmenu.c (popup_activate_callback): Increment popup_activated_flag.
1496 (popup_deactivate_callback): Decrement it.
1498 * s/linux.h (HAVE_SELECT, HAVE_TIMEVAL): Definitions deleted.
1499 config.h should handle them.
1501 * xdisp.c (redisplay): Don't call update_frame for non-selected
1504 1995-04-08 Noah Friedman <friedman@prep.ai.mit.edu>
1506 * window.c (Fnext_window, Fprevious_window): If all_frames is a
1507 frame and window is not on that frame, return the first window on
1510 1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1512 * lread.c (init_lread): Add site-lisp under the installation dir
1513 to Vload_path if that exists.
1515 * s/osf1.h (xmalloc, xrealloc): Declare them.
1517 * frame.c (make_terminal_frame): Use Emacs, Emacs-2, ... as name.
1519 * xdisp.c (decode_mode_spec): Add %F code.
1520 Order alternatives alphabetically.
1522 * s/aix4.h: Use "..." in #include.
1524 1995-04-07 Morten Welinder <terra+@cs.cmu.edu>
1526 * s/osf1.h: Include alloca.h, string.h. Test NOT_C_CODE.
1528 * m/alpha.h (SPECIAL_EMACS_INT): Defined.
1530 1995-04-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1532 * keyboard.c (kbd_buffer_get_event): Check for frame buried in a cons.
1533 Delete menu_bar_event handling code.
1534 (make_lispy_event): Move it here, so it gets a switch-frame if needed.
1536 * callint.c (Fcall_interactively): Fix previous change.
1538 1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1540 * doprnt.c (xmalloc, xrealloc): Declare them here.
1542 * callint.c (Fcall_interactively): `+' is reserved for user changes.
1544 * process.c (read_process_output_error_handler)
1545 (exec_sentinel_error_handler): Fsleep_for wants two args.
1547 * xfns.c (validate_x_resource_name): Change invalid chars to `_'.
1549 * doprnt.c (doprnt): Cast pointer to int by way of EMACS_INT.
1551 * xmenu.c (menubar_selection_callback, dialog_selection_callback)
1552 (single_submenu): Cast pointer to int by way of EMACS_INT.
1554 * floatfns.c (Flogb): Use EMACS_INT for `value'.
1556 * editfns.c (Fformat): Cast int to pointer by way of EMACS_INT.
1558 * search.c (search_buffer): Avoid casting trt to int.
1559 Use EMACS_INT for comparing pointers.
1561 * buffer.h (Fdelete_overlays): Add declaration.
1563 * keyboard.c (parse_modifiers): Use type EMACS_INT for `modifiers'.
1565 * xterm.c (dumpglyphs): Cast FACE_DEFAULT to (XFontStruct *)
1566 for comparison with face->font.
1568 * sysdep.c (bcopy): If NEED_BCOPY, do compile this.
1570 * m/ncr386.h: New file.
1572 * s/hpux9.h (LD_SWITCH_X_DEFAULT): New definition.
1573 (C_SWITCH_X_DEFAULT): New definition.
1575 * doc.c (get_doc_string): In (STRING . INTEGER), if INTEGER
1576 is negative, negate it.
1578 * eval.c (Fuser_variable_p): For (STRING . INTEGER), test sign.
1580 * s/sol2.h (C_SWITCH_X_SYSTEM): Defined.
1582 * s/usg5-4-2.h (LIBS_SYSTEM): New override definition.
1584 * lisp.h (XMISCTYPE): New macro.
1585 (union Lisp_Misc): Delete the `type' field.
1586 Use XMISCTYPE instead of that.
1588 * alloc.c (Fmake_marker, mark_object): Use XMISCTYPE.
1589 (clear_marks, gc_sweep): Use u_marker union elt to extract misc type.
1591 * lread.c (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard)
1592 (defvar_per_buffer): Use XMISCTYPE.
1593 * print.c (print): Use XMISCTYPE.
1594 * fns.c (internal_equal): Use XMISCTYPE.
1595 * buffer.c (Fmake_overlay): Use XMISCTYPE.
1596 * data.c (Ftype_of, do_symval_forwarding, store_symval_forwarding)
1597 (find_symbol_value, Fmake_variable_buffer_local, Fmake_local_variable):
1600 * xdisp.c (prepare_menu_bars): Do the frame titles last.
1602 1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1604 * xfaces.c (intern_face): Cast FACE_DEFAULT to (XFontStruct *)
1605 for comparison with face->font.
1607 * puresize.h (CHECK_IMPURE): Remove & from before my_edata.
1609 * editfns.c (Fformat_time_string): Use emacs_strftime. Doc fix.
1611 * Makefile.in.in (strftime.o): Define strftime as emacs_strftime.
1613 * xmenu.c (frame_vector): New static variable.
1614 (syms_of_xmenu): staticpro it.
1615 (frame_vector_add_frame): New function.
1616 (set_frame_menubar): Use frame_vector; use index as the widget id.
1617 (free_frame_menubar): Likewise. Remove the frame from frame_vector.
1618 (menubar_selection_callback): Use frame_vector to turn id into frame.
1620 * emacs.c (main): Cast arg to `brk'.
1622 * sysdep.c (init_sys_modes): Use TCOON only if defined.
1624 * s/netbsd.h (NO_MATHERR): Defined.
1625 (LIBS_SYSTEM): Definition deleted.
1627 * unexsunos4.c: Treat __NetBSD__ like __FreeBSD__.
1629 1995-04-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1631 * fns.c (Fplist_put): Fix missing \n\.
1633 * xfns.c (x_window_to_frame): Skip non-X frames before testing dpyinfo.
1634 [USE_X_TOOLKIT] (x_any_window_to_frame, x_top_window_to_frame): Ditto.
1636 1995-04-06 Simon Marshall <simon@duality.gnu.ai.mit.edu>
1638 * data.c (Fcar, Fcdr, Fsetcar, Fsetcdr): Arg name doc fixes.
1640 1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1642 * puresize.h (BASE_PURESIZE): Increment to 310000.
1644 * indent.c (string_width): New function.
1645 (vmotion): Compute the width of minibuf_prompt
1646 if it isn't already known.
1648 * buffer.c (Fkill_buffer): Call reset_buffer_local_variables
1649 and swap_out_buffer_local_variables.
1650 (swap_out_buffer_local_variables): New subroutine.
1651 (Fkill_all_local_variables): Use that subroutine.
1653 * search.c (Flooking_at, Fposix_looking_at): Change arg name.
1655 1995-04-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1657 * frame.c (Fraise_frame, Flower_frame): Now interactive.
1659 1995-04-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1661 * lisp.h: Declare Ffetch_bytecode.
1662 * eval.c (Ffetch_bytecode): New function.
1663 (funcall_lambda): Call it.
1664 (syms_of_eval): defsubr it.
1666 1995-04-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1668 * xfns.c (x_window_to_frame): New arg DPYINFO. All callers changed.
1669 (x_any_window_to_frame, x_top_window_to_frame): Likewise.
1671 * lisp.h (Vmessage_log_max): Declare this variable.
1672 (message_nolog): Declare this function.
1673 * emacs.c (main): Start with an empty message log.
1674 * xdisp.c (message_nolog): New function.
1675 * fns.c (Fy_or_n_p): Don't log prompt.
1676 (Fyes_or_no_p): Fix typo in doc string.
1678 1995-04-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1680 * lread.c (oblookup): Save bucket num in oblookup_last_bucket_number.
1681 (Funintern): New function.
1682 (syms_of_lread): defsubr it.
1684 1995-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1686 * dired.c (Fdirectory_files): Fix bug in IS_ANY_SEP usage
1687 introduced in Oct 30 change.
1689 1995-03-31 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1691 * keyboard.c (command_loop_1): If we ignore force_start, then also
1692 ignore beg_unchanged and end_unchanged.
1694 1995-03-31 Michael Ernst <mernst@research.microsoft.com>
1696 * lread.c (isfloat_string): Permit trailing space.
1698 1995-03-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1700 * keyboard.c (event_to_kboard): Ignore dead frames.
1701 (kbd_buffer_get_event): In batch mode, use current_kboard.
1703 * xterm.c (x_delete_display): Extract kboard deletion, for modularity.
1704 * keyboard.c (wipe_kboard): Make this function static.
1705 (delete_kboard): New function, extracted from x_delete_display.
1707 * lisp.h: Declare function delete_kboard.
1709 * xterm.h (struct x_display_info): New member cut_buffers_initialized.
1710 * xterm.c (x_term_init): Initialize it.
1711 * xselect.c (Fx_store_cut_buffer_internal): Use the flag in the
1712 frame's x_display_info, not a global flag.
1713 (Fx_rotate_cut_buffers_internal): Likewise.
1715 * emacs.c (sort_args): Skip strncmp if longname is a null pointer.
1717 1995-03-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1719 * data.c (Fmod): Fix the final adjustment, when i2 < 0 and i1 == 0.
1721 1995-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1723 * frame.c [MULTI_FRAME] (Factive_minibuffer_window): New function.
1724 [MULTI_FRAME] (syms_of_frame): Defsubr it.
1726 1995-03-28 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1728 * process.c (Fsignal_process): SIGCODE is a symbol, not a string.
1730 1995-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1732 * fns.c (Fconcat): Undo previous change.
1734 1995-03-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1736 * fns.c (Fget, Fput): Fetch and store symbol's plist directly.
1738 1995-03-27 Boris Goldowsky <boris@cs.rochester.edu>
1740 * fns.c (Fplist_put, Fplist_get): New fns.
1741 (Fget): Use Fplist_get to do the work.
1742 (Fput): Use Fplist_put to do the work.
1744 * textprop.c (Vdefault_text_properties): name changed from
1745 Vdefault_properties.
1746 * intervals.h: As above.
1747 * intervals.c (textget): As above.
1749 * intervals.c (textget_direct): Fn deleted.
1750 (textget, verify_interval_modification): Use Fplist_get instead.
1751 * intervals.h: Remove declaration.
1753 1995-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1755 * xterm.c (XTmouse_position): New arg `insist'.
1756 * ntinevt.c (win32_mouse_position): New arg `insist'.
1757 * msdos.c (mouse_get_pos): New arg `insist'.
1759 * xmenu.c (Fx_popup_menu): Pass 1 for `insist' arg.
1760 (Fx_popup_dialog): Likewise.
1761 * frame.c (Fmouse_position--both definitions): Pass 0 for `insist'.
1762 (Fmouse_pixel_position): Pass 0 for `insist'.
1763 Add HAVE_MOUSE conditional.
1764 * keyboard.c (kbd_buffer_get_event): Pass 0 for `insist' arg.
1766 * m/intel386.h (C_SWITCH_SYSTEM): Don't #undef or define it.
1767 [SOLARIS2, SOLARIS2_4, !__GNUC__] (C_SWITCH_MACHINE): Define instead.
1769 1995-03-26 Germano Caronni <caronni@tik.ethz.ch>
1771 * ralloc.c (r_re_alloc): Correct realloc behavior--allow shrinking
1772 of blocks while reallocating, if shrinking by more than one page.
1773 (relocate_blocs, resize_blocs): Added failsafe to protect future
1774 calling of these routines when in frozen state.
1775 (r_alloc_thaw): Added call to r_alloc_init.
1776 (relocate_blocks, resize_bloc, r_alloc_sbrk, r_alloc_thaw): Extended
1777 functionality to let ralloc package work in frozen state, allowing
1778 for the existence of unused blocks.
1780 1995-03-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1782 * process.c (Fsignal_process): Allow signal names as well as numbers.
1784 1995-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1786 * editfns.c (init_editfns): Use NAME envvar to init user-full-name.
1788 1995-03-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1790 * textprop.c (Fnext_property_change): Fix previous change.
1792 1995-03-23 Kevin Rodgers <kevinr@ihs.com> (tiny change)
1794 * print.c (temp_output_buffer_setup): (Re)set the default
1795 directory of the temp buffer to that of the current buffer.
1797 1995-03-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1799 * buffer.c (syms_of_buffer): Doc fix.
1801 * xdisp.c (redisplay): Make sure pause is set before used.
1803 (redisplay_window): Make sure update_mode_line is set before used.
1804 If startp might not have been set, use w->start directly.
1805 (try_window_id): In the easy case, find cursor pos before returning.
1806 (try_window_id): Stop scan at bottom of window, not one line later.
1807 Don't fail on account of continuation line below window.
1808 (redisplay_window): Stop scan at bottom of window.
1809 Fix reversed condition.
1811 * Makefile.in.in (FRAME_SUPPORT, MSDOS_SUPPORT): Don't list face
1812 and mouse related files here.
1813 (FACE_SUPPORT, MOUSE_SUPPORT): New lists.
1814 (FACE_SUPPORT): Add facemenu.elc.
1815 (WINNT_SUPPORT): New list.
1816 (lisp): Add format.elc, FACE_SUPPORT, MOUSE_SUPPORT, WINNT_SUPPORT.
1818 1995-03-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1820 * m/sparc.h: Don't include alloca.h if NOT_C_CODE.
1822 * m/mips-siemens.h (UNEXEC): Override the definition.
1823 (LIBS_DEBUG, ORDINARY_LINK): Add #undefs.
1825 1995-03-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1827 * dispnew.c (direct_output_forward_char): Don't use direct output
1828 at an overlay boundary.
1829 * buffer.c (overlay_touches_p): New function.
1830 * lisp.h: Declare overlay_touches_p.
1832 * fns.c (concat): Treat integers as characters, not strings.
1833 This makes `concat' more like `insert'.
1835 * window.c (syms_of_window): Fix missing \n\.
1836 * keymap.c (Fwhere_is_internal): Fix missing \n\.
1837 * fileio.c (syms_of_fileio): Fix missing \n\.
1839 1995-03-21 Marco Walther <Marco.Walther@mch.sni.de.>
1841 * unexelfsni.c: New file.
1843 * m/mips-siemens.h: Total rewrite.
1845 1995-03-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1847 * xdisp.c (redisplay_window): Skip the only-point-has-changed
1848 optimization if updating the window's mode line.
1850 1995-03-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1852 * xdisp.c (invisible_p, invisible_ellipsis_p): Handle list
1853 as invisible property value.
1855 1995-03-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1857 * xdisp.c (display_menu_bar): Just one space between menu items.
1859 1995-03-18 Ted Lemon <mellon@toccata.fugue.com>
1861 * emacs.c (dump-emacs-data, dump-emacs): Declare my_edata as
1863 * lastfile.c (my_edata): Declare as char array, not int.
1864 * puresize.h (CHECK_IMPURE): Declare my_edata as char array.
1866 1995-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1868 * lread.c (Vload_read_function): New variable.
1869 (readevalloop): Use that variable.
1870 (syms_of_lread): Set up Lisp variable.
1872 1995-03-17 Boris Goldowsky <boris@spiff.gnu.ai.mit.edu>
1874 * buffer.h (struct buffer): Add file_format member.
1876 * buffer.c (reset_buffer): Reset file_format element too.
1877 (init_buffer_once): Define file_format flag; reset file_format.
1878 (syms_of_buffer): New vbl buffer-file-format.
1880 * fileio.c (Finsert_file_contents): Call format-decode.
1881 (build_annotations): Call format-annotate-function for each element of
1883 (Vauto_save_file_format): New vbl.
1884 (build_annotations): Use it.
1886 1995-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1888 * alloc.c (init_alloc_once): Increase gc_cons_threshold to 300000.
1890 1995-03-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1892 * xfns.c (x_decode_color): Don't use cdef if defined_color failed.
1894 1995-03-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1896 * config.h.in [HAVE_X_WINDOWS] (MULTI_KBOARD): Define this symbol.
1898 1995-03-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1900 * lisp.h (struct KBOARD, MULTI_KBOARD, current_kboard, all_kboards):
1901 (Lisp_Misc_Kboard_Objfwd, Lisp_Kboard_Objfwd, XKBOARD_OBJFWD):
1902 (KBOARD_OBJFWDP, GC_KBOARD_OBJFWDP, kboard_locked, the_only_kboard):
1903 (DEFVAR_KBOARD): Rename from PERDISPLAY, MULTI_PERDISPLAY,
1904 current_perdisplay, all_perdisplays, Lisp_Misc_Display_Objfwd,
1905 Lisp_Display_Objfwd, XDISPLAY_OBJFWD, DISPLAY_OBJFWDP,
1906 GC_DISPLAY_OBJFWDP, display_locked, the_only_perdisplay,
1907 DEFVAR_DISPLAY. All uses changed.
1908 (struct KBOARD): New member reference_count.
1909 (initial_kboard): Declare this var.
1910 * .gdbinit (xkbobjfwd): Rename from xdispobjfwd.
1911 * frame.h (struct frame): New member kboard.
1912 (FRAME_KBOARD): Accessor macro for that member, replacing
1914 * xterm.h (struct x_display_info): Member kboard (formerly
1915 perdisplay) is now a pointer, not an actual struct.
1916 (get_perdisplay, get_perdisplay_macro): Delete.
1917 * xfns.c (Fx_create_frame): Set the frame's kboard member.
1918 * xterm.c (get_perdisplay): Delete.
1919 (same_x_server): New function.
1920 (x_term_init): If this display shares a keyboard with one we've
1921 already opened, then share the structure.
1922 (x_delete_display): Don't delete the kboard until the reference
1924 * lread.c (defvar_kboard): Rename from defvar_display.
1925 * alloc.c (mark_kboards): Rename from mark_perdisplays.
1926 * frame.c (make_frame): Initialize kboard member.
1927 (make_terminal_frame): Create initial_kboard if not already set.
1928 * keyboard.c (unlock_kboard): Rename from unlock_display.
1929 (wrong_kboard_jmpbuf): Rename from wrong_display_jmpbuf.
1930 (event_to_kboard): Rename from event_to_perdisplay.
1931 (kbd_buffer_get_event): If no associated kboard, store
1932 current_kboard rather than the first kboard in the global list.
1933 (init_kboard): Rename from init_perdisplay. Initialize reference
1935 (wipe_kboard): Rename from wipe_perdisplay.
1936 * data.c (find_symbol_value): current_perdisplay now is never null.
1937 (store_symval_forwarding, do_symval_forwarding): Likewise.
1939 1995-03-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1941 * data.c (Fash): Fix previous change.
1943 * buffer.c (Fmake_indirect_buffer): Invert the arguments.
1945 * marker.c (unchain_marker): Allow differing buffers
1946 as long as they have the same text.
1948 1995-03-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1950 * keyboard.c (event_to_perdisplay): New function.
1951 (kbd_buffer_get_event): Use event_to_perdisplay.
1952 (kbd_buffer_store_event): If C-g arrives while we're in the run
1953 state on behalf of another display, just clear the queue and
1954 deposit the C-g to be read later.
1955 (read_key_sequence): After a throw, unwind delayed_switch_frame as
1956 well as keybuf. Don't insert an extra switch-frame if empty.
1958 * print.c (print): current_perdisplay now is never null.
1959 * callint.c (clear_prefix_arg): Likewise.
1960 * macros.c (Fexecute_kbd_macro): Likewise.
1962 1995-03-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1964 * minibuf.c (read_minibuf): Save Voverriding_local_map.
1965 (read_minibuf_unwind): Restore Voverriding_local_map.
1967 1995-03-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1969 * unexelf.c (unexec): Adjust the file offset of sections located
1970 after the section header table.
1972 1995-03-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1974 * keyboard.c (unlock_display): current_perdisplay now is never null.
1975 (cmd_error, command_loop_1, read_char): Likewise.
1976 (kbd_buffer_get_event, read_key_sequence): Likewise.
1977 (read_char): Handle synchronous quit_char on a different display.
1978 (read_char): Rewrite queue-searching code.
1979 (read_key_sequence): Save selected_frame.
1980 (init_keyboard): Initialize current_perdisplay.
1982 1995-03-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1984 * keyboard.c (parse_modifiers_uncached): Delete the code for
1985 multi-character modifiers and for recognizing a modifier alone.
1986 (parse_solitary_modifier): New function.
1987 (convert_event_type_list): Use parse_solitary_modifier.
1988 Also convert symbol A to character A.
1989 Handle shift modifier with lower-case letters.
1991 * window.c (Fdisplay_buffer): Fix prev change--return sel window.
1993 * indent.c (compute_motion, Fmove_to_column, current_column)
1994 (character_width): Let display table handle \n, \r, \t.
1995 (compute_motion): Fix logic in previous change wrt skipping invisible.
1997 1995-03-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1999 * xdisp.c (display_text_line): When setting selective_rlen,
2000 ignore whether selective display is on or off.
2002 * textprop.c (Fnext_property_change): Handle LIMIT = t.
2004 * indent.c (compute_motion): Call recenter_overlay_lists sooner.
2005 Use Fnext_property_change to get a quick lower bound for
2006 where `invisible' changes.
2008 1995-03-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2010 * data.c (Fash, Flsh): Change arg names.
2012 1995-03-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2014 * intervals.h (TEXT_PROP_MEANS_INVISIBLE): New macro.
2015 (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS): New macro.
2017 * xdisp.c (display_text_line, try_window): Check `invisible' prop
2018 using TEXT_PROP_MEANS_INVISIBLE.
2019 (display_text_line): Check TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS;
2020 if it says so, use ellipses after invisible text.
2021 (invisible_p, invisible_ellipsis_p): New functions.
2023 * indent.c (compute_motion, vmotion): Check `invisible' prop
2024 using TEXT_PROP_MEANS_INVISIBLE.
2026 * buffer.h (struct buffer): New field `invisibility_spec'.
2027 * buffer.c (reset_buffer_local_variables): Init invisibility.
2028 (init_buffer_once): Set up buffer_local_flags for it.
2029 (syms_of_buffer): New variable `buffer-invisibility-spec'.
2031 1995-03-08 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2033 * syntax.c (Fforward_comment): Always clear immediate_quit for return.
2035 1995-03-08 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2037 * sysdep.c (read_input_waiting): Fix Lisp_Object vs. int problem.
2039 1995-03-07 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2041 * lisp.h (struct PERDISPLAY): New member kbd_queue_has_data.
2042 * keyboard.c (unlock_display): If adding to kbd_queue, set
2044 (read_char): Set and clear kbd_queue_has_data appropriately, but
2045 leave it unset when we push back an incomplete sequence.
2046 (read_char): Take the longjmp even if current_perdisplay was null.
2047 (readable_events): Check kbd_queue_has_data instead of kbd_queue.
2048 (init_perdisplay): Initialize kbd_queue_has_data.
2050 * keyboard.c (command_loop_1): Removed inline code for prefix args.
2051 * callint.c (current_prefix_partial): New var.
2052 (Funiversal_argument): New function, formerly inlined in keyboard.c.
2053 (Fnegative_argument, Fdigit_argument): Likewise.
2054 (clear_prefix_arg): Moved here from keyboard.c.
2055 Don't clear the internal state if we're still building a prefix arg.
2056 (finalize_prefix_arg, describe_prefix_arg): Moved from keyboard.c.
2057 (syms_of_callint): defsubr the new functions.
2058 * lisp.h: Declare new var and functions.
2060 * lisp.h (struct PERDISPLAY): New member Vlast_kbd_macro.
2061 * alloc.c (mark_perdisplays): Mark it here.
2062 * keyboard.c (init_perdisplay): Initialize it here.
2064 * macros.c (Fstart_kbd_macro): Access Vlast_kbd_macro via perdisplay.
2065 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
2066 (init_macros): Delete initialization.
2067 (syms_of_macros): Use DEFVAR_DISPLAY for Vlast_kbd_macro.
2068 Doc fix for executing-macro, executing-kbd-macro, last-kbd-macro.
2070 * keyboard.c (cmd_error): Bind Vprint_level and Vprint_length.
2072 1995-03-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2074 * keyboard.c (command_loop_1): Fix test for prefix arg.
2076 1995-03-06 Boris Goldowsky <boris@cs.rochester.edu>
2078 * textprop.c (Vdefault_properties): New variable.
2079 * intervals.h: Declare it.
2080 * intervals.c (textget): Check it.
2082 1995-03-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2084 * callint.c (Fcall_interactively): Fix Feb 22 change.
2086 * keyboard.c (read_key_sequence): Update orig_local_map
2087 for some additional gotos to replay_sequence.
2089 * process.c (exec_sentinel, read_process_output): If running filter
2090 or sentinel changes the local map, call record_asynch_buffer_change.
2092 1995-03-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2094 * xdisp.c (display_mode_line): Temporarily set current_perdisplay
2095 to reference the frame we're updating.
2097 * lisp.h (struct PERDISPLAY): New members defining_kbd_macro,
2098 kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end, kbd_macro_bufsize.
2099 * macros.h (defining_kbd_macro): Delete declaration.
2100 * macros.c (defining_kbd_macro): Delete; now part of perdisplay.
2102 (kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end): Likewise.
2103 (kbd_macro_bufsize): Likewise.
2104 (Fstart_kbd_macro): Initialize kbd_macro_buffer if not already done.
2105 (init_macros): Delete initialization of defining_kbd_macro.
2106 (syms_of_macros): Delete initialization of kbd_macro_buffer.
2107 * keyboard.c (read_char_minibuf_menu_prompt): orig_defn_macro is
2108 now a Lisp_Object, not an int.
2109 (init_perdisplay): Initialize some of the new members.
2110 (wipe_perdisplay): Free kbd_macro_buffer.
2112 * keyboard.c (cmd_error): Allow current_perdisplay to be null.
2114 * keyboard.c (read_key_sequence): New arg can_return_switch_frame.
2115 All callers changed.
2116 (Fread_key_sequence): Likewise.
2117 * callint.c (Fcall_interactively): Defer switch-frame events when
2118 reading `k' or `K' specification.
2120 1995-03-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2122 * emacs.c (syms_of_emacs): Doc fix.
2124 1995-03-02 John Grabowski <johng@media.mit.edu>
2126 * xfns.c (defined_color): If colormap is full, find closest match.
2127 * xfaces.c (load_color): Call defined_color to allocate the color.
2129 1995-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2131 * xterm.c (x_connection_closed): Ignore non-X frames.
2132 Fix the logic for deleting frames that use separate minibuffers
2133 that are on the dead connection.
2135 * buffer.c (Fpop_to_buffer): Call Fset_buffer_major_mode
2136 if we create a buffer.
2138 1995-02-28 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2140 * keyboard.c (cmd_error): Use clear_prefix_arg.
2141 (internal_last_event_frame, Vlast_event_frame): Normal vars again.
2143 (Quniversal_argument, Qdigit_argument, Qnegative_argument): Declare.
2144 (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): New fns.
2145 (command_loop_1): Handle digits and minus specially, when they're
2146 part of a prefix arg.
2147 Handle universal-argument and digit-argument and negative-argument
2148 bindings here, rather than doing I/O in the Lisp code.
2149 (read_char): When reading switch-frame events from the side queue,
2150 set internal_last_event_frame.
2151 (readable_events): Return non-zero if a side queue has data.
2152 (kbd_buffer_get_event): Don't abort if event has no associated frame.
2153 (read_key_sequence): Improve behavior when there's no current display.
2154 (init_perdisplay): Initialize the new members.
2155 * callint.c (Fcall_interactively, syms_of_callint): Undo Jan 31 change.
2156 (Vprefix_arg, Vcurrent_prefix_arg): Undo Jan 31 change.
2157 * mocklisp.c (Fml_provide_prefix_argument, Fml_prefix_argument_loop):
2159 * minibuf.c (read_minibuf, read_minibuf_unwind): Undo Jan 31 change.
2160 * frame.c (do_switch_frame): Undo Feb 6 change.
2161 * macros.c (Fexecute_kbd_macro): Use clear_prefix_arg.
2162 * lisp.h (struct PERDISPLAY): Add prefix_factor, prefix_value,
2163 prefix_sign, prefix_partial. Delete Vcurrent_prefix_arg and
2164 Vprefix_arg; those are now plain vars again.
2165 * alloc.c (mark_perdisplays): Update to reflect current Lisp_Objects.
2166 (NSTATICS): Increase to 768.
2168 1995-02-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2170 * frame.c (Fframep): Doc fix.
2172 1995-02-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2174 * callint.c (Fcall_interactively): Lock the display before
2175 executing the command, no matter how we execute it.
2177 1995-02-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2179 * keyboard.c (convert_event_type_list): New function.
2180 (lucid_event_type_list_p): New function.
2181 (parse_modifiers_uncached): If MODIFIERS_END is -1,
2182 look for just a modifier. Guts rewritten.
2184 * keymap.c (Fdefine_key): Handle Lucid-style (crtl backspace) etc.
2185 (Flookup_key): Likewise.
2187 * callproc.c (Fcall_process): Extend BUFFER arg so it can specify
2188 a separate output file for stderr output.
2189 (Fcall_process_region): Doc fix.
2191 1995-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2193 * xmenu.c (Fx_popup_menu): Init f from selected_frame
2194 before calling mouse_position_hook.
2196 * window.c (Vsame_window_buffer_names, Vsame_window_regexps): New vars.
2197 (syms_of_window): Set up Lisp vars.
2198 (Fdisplay_buffer): Use those vars--if requested, use current window.
2200 1995-02-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2202 * keyboard.c (unlock_display): New function.
2203 (cmd_error, command_loop_1): Call it when appropriate.
2204 (read_char): If no current display, don't try to echo.
2206 * term.c (term_init) [TERMINFO]: Make error message more accurate.
2208 1995-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2210 * keymap.c (Fglobal_set_key, Flocal_set_key, Fglobal_unset_key)
2211 (Flocal_unset_key): Functions deleted (moved to simple.el).
2212 (syms_of_keymap): Don't defsubr them.
2214 1995-02-23 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2216 * keyboard.c (display_locked): New var to indicate when we're in
2217 the run state. current_perdisplay is now meaningful in the wait
2219 (cmd_error): Clear display_locked in addition to current_perdisplay.
2220 (command_loop_1): outer_perdisplay renamed from global_perdisplay.
2221 Restore display_locked as well as current_perdisplay.
2222 (read_char): read_char_perdisplay merged with current_perdisplay.
2223 (read_key_sequence): Likewise.
2224 * minibuf.c (read_minibuf): Make sure the display is locked.
2225 * callint.c (Fcall_interactively): If the display hasn't already
2226 been locked by reading from the minibuffer, lock it before
2227 executing the command.
2228 * lisp.h (display_locked): Declare this var.
2230 1995-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2232 * window.c (syms_of_window): Doc fixes.
2234 * keymap.c (Fwhere_is_internal): If FIRSTONLY is not nil or non-ascii,
2235 completely ignore menu bindings.
2236 * xmenu.c (menu_item_equiv_key): Delete the code that rejected
2237 menu bindings returned by Fwhere_is_internal.
2239 * window.c (window_loop): Handle special display buffer frames
2240 for DELETE_BUFFER_WINDOWS as for UNSHOW_BUFFER.
2242 1995-02-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2244 * callint.c (Fcall_interactively): Use markers temporarily in
2245 args vector to stand for point and mark values; replace them
2246 with integers just before calling the command.
2248 1995-02-21 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2250 * lisp.h (struct PERDISPLAY): New member kbd_queue.
2251 Delete obsolete members kbd_buffer_frame_or_window, kbd_buffer,
2252 kbd_fetch_ptr, kbd_store_ptr; these are regular vars again.
2253 * alloc.c (mark_perdisplays): Mark kbd_queue.
2254 Remove reference to obsolete kbd_buffer_frame_or_window.
2255 * xmenu.c (menubar_selection_callback): frame_or_window field of a
2256 menu-bar event now includes both the frame and the magic cookie.
2257 * keyboard.c (kbd_buffer_frame_or_window): Restored old var.
2258 (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Likewise.
2259 (read_char_perdisplay): New var.
2260 (read_char): Search all appropriate perdisplay objects, and do the
2261 right thing if the next event comes from a different source.
2262 (read_key_sequence): If there's a change of display in mid-stream,
2263 retreat and try reading the new display.
2264 (find_active_event_queue): Function deleted. All callers changed
2265 to just test the main kbd_buffer instead.
2266 (kbd_buffer_store_event): Write to the main kbd_buffer again.
2267 (kbd_buffer_get_event): Read from the main kbd_buffer again.
2268 Now returns a perdisplay pointer in addition to a lispy event.
2269 (Fdiscard_input, swallow_events): Use the main kbd_buffer again.
2270 (stuff_buffered_input): Likewise.
2271 (init_perdisplay): Initialize member kbd_queue.
2272 Remove references to obsolete members.
2273 (wipe_perdisplay): Remove obsolete reference.
2274 (init_keyboard, syms_of_keyboard): Restore initialization of vars.
2276 1995-02-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2278 * xdisp.c (display_string, display_text_line):
2279 Display table overrides ordinary display even for \t, \n, etc.
2281 1995-02-19 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2283 * frame.c (Fmake_terminal_frame): Doc fix.
2285 1995-02-18 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2287 * s/hpux9.h (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
2288 Add #undef's to cancel hpux8.h's definitions.
2290 1995-02-17 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2292 * config.h.in (MULTI_FRAME): Define unconditionally.
2294 1995-02-16 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2296 * dispnew.c (change_frame_size_1): New subroutine.
2297 (change_frame_size): If f is termcap frame, change size of all of them.
2298 (remake_frame_glyphs): No longer static.
2299 Don't mark nonselected termcap frame as garbaged.
2301 * term.c (calculate_costs): Update max_frame_height, max_frame_width.
2302 They determine length of chars_wasted, copybuf and char_ins_del_vector.
2304 * xdisp.c (redisplay): Don't display nonselected terminal frames.
2306 * frame.c (Fmake_terminal_frame): New function.
2307 (syms_of_frame): defsubr it.
2308 (make_terminal_frame): Init Vframe_list only the first time.
2309 Set visible and async_visible directly.
2310 Give each terminal frame a unique name.
2312 * ralloc.c (r_alloc_check): Return void.
2313 (r_alloc_freeze): Initialize if it hasn't been done.
2314 (r_re_alloc, r_alloc_free, r_alloc_sbrk): Likewise.
2315 (r_alloc_init): Set __malloc_extra_blocks.
2317 1995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
2319 * s/dgux.h (LIB_MOTIF): Add -lgen to provide provide the symbols
2320 `regcmp' and `regex'.
2322 1995-02-15 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2324 * xmenu.c (xmenu_show, both versions): New arg for_click.
2325 (Fx_popup_menu): Compute it and pass it.
2327 1995-02-14 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2329 * callint.c: Doc fix.
2331 1995-02-14 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
2333 * xterm.c (x_bitmap_icon): Fix test for unallocated icon bitmap.
2335 1995-02-14 Richard Stallman <rms@geech.gnu.ai.mit.edu>
2337 * filelock.c (unlock_buffer, unlock_all_files, Flock_buffer)
2338 (Funlock_buffer): Use buffer's file_truename, not filename.
2340 * buffer.c (syms_of_buffer): Set up Lisp var buffer-file-truename.
2341 (init_buffer_once): Set up flag and default value for file_truename.
2342 (reset_buffer): Init file_truename slot.
2344 * buffer.h (struct buffer): New field file_truename.
2346 * ralloc.c (r_alloc_free): Call refill_memory_reserve only if emacs.
2348 Include getpagesize.h unconditionally.
2349 (free_bloc): Don't die if bloc->next or bloc->prev is null.
2350 [!emacs] (bzero): New macro definition.
2352 * keyboard.c (input_poll_signal): Add ignored argument.
2353 (interrupt_signal): Likewise.
2355 * dispnew.c (window_change_signal): Add ignored argument.
2357 * process.c (Fstart_process): Make process marker point into proc buf.
2359 * xterm.c (x_display_bar_cursor): Use frame's cursor_width.
2361 (x_connection_signal): New function.
2362 (x_initialize): Use it as signal handler.
2364 * xfns.c (x_set_cursor_type): Set cursor_width field.
2365 Handle args of form (bar . WIDTH).
2367 * xterm.h (struct x_display): New element cursor_width.
2369 1995-02-14 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2371 * filelock.c (unlock_buffer, unlock_all_files, Flock_buffer)
2372 (Funlock_buffer): Use buffer's file_truename, not filename.
2374 * buffer.h (struct buffer): New field file_truename.
2375 * buffer.c (syms_of_buffer): Set up Lisp var buffer-file-truename.
2376 (init_buffer_once): Set up flag and default value for file_truename.
2377 (reset_buffer): Init file_truename slot.
2379 * xterm.h (struct x_display): New element cursor_width.
2380 * xfns.c (x_set_cursor_type): Set cursor_width field.
2381 Handle args of form (bar . WIDTH).
2382 * xterm.c (x_display_bar_cursor): Use frame's cursor_width.
2384 1995-02-13 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2386 * m/iris4d.h (STACK_DIRECTION): Undef before defining.
2387 [__GNUC__] (C_SWITCH_MACHINE): Remove -cckr.
2388 Add -32, only if IRIX_FORCE_32_BITS.
2389 * s/irix5-0.h [__GNUC__] (C_SWITCH_SYSTEM): Defined.
2390 * s/irix4-0.h [__GNUC__] (C_SWITCH_SYSTEM): Define this.
2391 (C_SWITCH_MACHINE): Instead of this.
2393 * ralloc.c (r_alloc_free): Call refill_memory_reserve only if emacs.
2395 * s/irix6-0.h: New file.
2397 * fileio.c (Fexpand_file_name): Copy default-directory
2398 before looking for a handler on the directory arg.
2400 * cmds.c (Vself_insert_face, Vself_insert_face_command): New variables.
2401 (syms_of_cmds): Set up Lisp variables. Doc syntax fix.
2402 (internal_self_insert): Handle Vself_insert_face.
2404 * lisp.h (Qprocessp): Declared.
2406 * xdisp.c (redisplay_window): If we update the mode line,
2407 switch to the buffer for real, and switch back for real.
2409 1995-02-12 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2411 * xterm.c (x_connection_signal): New function.
2412 (x_initialize): Use it as signal handler.
2414 * keyboard.c (input_poll_signal): Add ignored argument.
2415 (interrupt_signal): Likewise.
2417 * dispnew.c (window_change_signal): Add ignored argument.
2419 1995-02-11 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2421 * fileio.c (Fexpand_file_name): Look for a handler for defalt.
2422 (syms_of_fileio): Minor rearrangement.
2424 * ralloc.c: Include getpagesize.h unconditionally.
2425 (free_bloc): Don't die if bloc->next or bloc->prev is null.
2426 [!emacs] (bzero): New macro definition.
2428 * xmenu.c (menu_item_equiv_key): If command is an alias,
2429 check only the underlying command for a keyboard equivalent.
2431 * s/netbsd.h (WAIT_USE_INT): Defined.
2432 * syswait.h: New alternative specified by WAIT_USE_INT.
2434 * process.c (Fstart_process): Make process marker point into proc buf.
2436 1995-02-10 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2438 * data.c: Rename arg OBJ to OBJECT in all type predicates.
2439 (Ftype_of): New function.
2441 1995-02-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2443 * xfaces.c (load_color): Ignore failure from XAllocColor.
2444 * xfns.c (x_decode_color): Ignore failure from defined_color.
2446 * m/intel386.h [SOLARIS2_4, !__GNUC__] (C_SWITCH_SYSTEM): Defined..
2447 [SOLARIS2_4, !__GNUC__]: Include alloca.h.
2449 1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2451 * Makefile.in.in (maintainer-clean): Renamed from realclean.
2452 Print warning message.
2454 1995-02-07 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2456 * keyboard.c (command_loop_1): Put back cancel_echoing call, if
2457 there's a perdisplay for it to apply to.
2458 (init_perdisplay): Initialize echo vars.
2460 * xdisp.c (message_log_check_duplicate): New function.
2461 (message_dolog): Delete previous line if the new one is a
2462 duplicate. Include a counter if appropriate.
2463 Don't bother truncating the buffer until after adding newline.
2465 1995-02-06 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2467 * lisp.h (struct PERDISPLAY): Add Vlast_event_frame.
2468 Define internal_last_event_frame only #if MULTI_FRAME.
2469 Add some placeholders so we don't need to rebuild every time this
2471 * keyboard.c (internal_last_event_frame, Vlast_event_frame):
2472 Deleted; now part of perdisplay. All uses changed.
2473 (MOUSE_ACTIVITY_AVAILABLE) Deleted.
2474 (find_active_event_queue): New arg check_mouse. All callers changed.
2475 (Vlast_event_frame): Change from DEFVAR_LISP to DEFVAR_DISPLAY.
2476 * frame.c (do_switch_frame): internal_last_event_frame is now in
2479 1995-02-05 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2481 * ralloc.c (r_alloc_size_in_use): New function.
2483 * alloc.c (emacs_blocked_malloc): Set __malloc_extra_blocks here.
2484 (malloc_hysteresis): New variable.
2485 (init_alloc_once): Initialize malloc_hysteresis.
2486 (buffer_memory_full): New function.
2487 * emacs.c (main): Undo previous change.
2488 * buffer.c (Fget_buffer_create): Call buffer_memory_full.
2490 * alloc.c (refill_memory_reserve): New function.
2491 * ralloc.c (r_alloc_free): Call refill_memory_reserve.
2493 1995-02-04 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2495 * alloc.c (SPARE_MEMORY): New macro.
2496 (emacs_blocked_free): If no spare_memory now, and enough free
2497 space is available, get a new spare.
2498 (__malloc_size_t, _bytes_used): Declared.
2499 (bytes_used_when_full): New variable.
2501 * frame.h (struct frame): New field window_sizes_changed.
2502 (FRAME_WINDOW_SIZES_CHANGED): New macro (two definitions).
2503 * window.c (Fdelete_window, set_window_height, set_window_width)
2504 (Fsplit_window, Fset_window_configuration): Set
2505 FRAME_WINDOW_SIZES_CHANGED to 1 in the frame being changed.
2506 * xdisp.c (Vwindow_size_change_functions): New variable.
2507 (prepare_menu_bars): Call those functions. Add gcproing.
2508 (syms_of_xdisp): Set up Lisp variable.
2510 * alloc.c (syms_of_alloc): Improve memory exhausted error message.
2511 (init_alloc_once): Allocate spare_memory.
2512 (memory_full): Free spare_memory.
2514 1995-02-03 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2516 * xselect.c (x_get_foreign_selection, x_reply_selection_request):
2517 Use an unwind-protect to call x_stop_queuing_selection_requests.
2518 (some_frame_on_display): New function.
2519 (queue_selection_requests_unwind): New function.
2521 1995-02-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2523 * callint.c (syms_of_callint): Move DEFVAR_DISPLAY's ...
2524 * keyboard.c (syms_of_keyboard): ... to here.
2525 [MULTI_PERDISPLAY] (current_perdisplay, all_perdisplays): New vars.
2526 (find_active_event_queue): Search all perdisplays.
2527 (init_perdisplay, wipe_perdisplay): New functions.
2528 (init_keyboard): Move perdisplay initialization to init_perdisplay.
2529 (syms_of_keyboard): Likewise.
2530 (cmd_error): Cancel echoing here.
2531 (command_loop_1): Not here.
2533 * lisp.h (all_perdisplays): New var.
2534 (struct PERDISPLAY): New member next_perdisplay.
2535 * alloc.c (mark_perdisplays): New function.
2536 (Fgarbage_collect): Call it.
2537 * lread.c (defvar_display): Don't staticpro; these objects are now
2538 protected through mark_perdisplays.
2539 * xterm.c [MULTI_PERDISPLAY] (x_term_init): Initialize perdisplay.
2540 [MULTI_PERDISPLAY] (x_delete_display): Destroy perdisplay.
2541 (x_delete_display): Use xfree, not free.
2543 * lisp.h (defvar_display): Declare this function.
2544 (DEFVAR_DISPLAY): Use current_perdisplay, not get_perdisplay.
2545 * data.c (do_symval_forwarding): Likewise.
2546 (store_symval_forwarding, find_symbol_value): Likewise.
2547 * print.c (print): Likewise.
2548 * keyboard.c (echo_prompt, echo_char, echo_dash, echo): Likewise.
2549 (cancel_echoing, echo_length, read_char, Fdiscard_input): Likewise.
2550 (stuff_buffered_input): Likewise.
2552 1995-02-03 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2554 * xdisp.c (display_text_line): Deduct minibuf prompt from taboffset.
2555 (try_window): Deduct minibuf prompt from tab_offset, after 1st line.
2557 1995-02-02 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2559 * xselect.c (wait_for_property_change): Avoid unlikely timing error.
2561 * keyboard.c (kbd_buffer_get_event, swallow_events):
2562 Remove selection_request event from input queue before processing it.
2564 1995-02-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2566 * macros.c (Fexecute_kbd_macro): Clear prefix arg here.
2567 * keyboard.c (cmd_error): And here.
2568 (command_loop_1): Not here.
2569 (command_loop_1): Save original perdisplay in case we're already
2570 locked to a particular display.
2571 Move display-specific cleanup to end of main loop.
2572 Use perdisplay to access prefix arg.
2573 (Fcommand_execute, Fexecute_extended_command): Use perdisplay.
2575 1995-02-01 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2577 * xterm.c (x_unqueue_events): Arg is now a Display *.
2578 (x_start_queuing_selection_requests): Likewise.
2579 (x_stop_queuing_selection_requests): Likewise.
2580 * xselect.c (x_get_foreign_selection): Pass display to
2581 x_start_queueing_selection_events and x_stop_queueing_selection_events.
2583 * xselect.c (x_reply_selection_request): Call
2584 x_start_queueing_selection_events and x_stop_queueing_selection_events.
2585 Handle X protocol errors.
2587 1995-01-31 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2589 * callint.c (Fcall_interactively): Use perdisplay.
2590 (Vprefix_arg, Vcurrent_prefix_arg): Delete vars; now in perdisplay.
2591 (syms_of_callint): Use DEFVAR_DISPLAY for prefix-arg and
2593 * minibuf.c (read_minibuf, read_minibuf_unwind): Use perdisplay.
2594 * mocklisp.c (Fml_provide_prefix_argument): Use perdisplay.
2595 (Fml_prefix_argument_loop): Likewise.
2596 * lisp.h (current_perdisplay): New var.
2597 (DEFVAR_DISPLAY): Add missing ampersand.
2598 (Vprefix_arg, Vcurrent_prefix_arg): Delete; now in perdisplay.
2600 * lread.c [!MULTI_PERDISPLAY] (defvar_display): Use staticpro.
2602 1995-01-31 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2604 * emacs.c (main) [REL_ALLOC]: Set __malloc_extra_blocks.
2606 1995-01-30 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2608 * buffer.c (syms_of_buffer): overwrite-mode doc fix.
2610 1995-01-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2612 * lisp.h [MULTI_PERDISPLAY]: Declare get_perdisplay as a function.
2613 * xterm.c [MULTI_PERDISPLAY] (get_perdisplay): Define this as an
2615 * xterm.h [MULTI_PERDISPLAY] (get_perdisplay): Define this as a
2616 macro, for sources that include this header.
2617 [MULTI_PERDISPLAY] (get_perdisplay_macro): Internal macro version.
2619 * lisp.h (DEFVAR_DISPLAY): New macro.
2620 * lread.c (defvar_display): New function.
2622 * lisp.h: Declare store_symval_forwarding here.
2623 * eval.c (specbind): Not here.
2624 (specbind): Handle display-local vars.
2625 * data.c (do_symval_forwarding): Handle display-local vars.
2626 (store_symval_forwarding, find_symbol_value): Likewise.
2627 (Fmake_variable_buffer_local): Disallow display-local vars here.
2628 (Fmake_local_variable): Likewise.
2630 * keyboard.c (syms_of_keyboard): Fix missing backslashes.
2632 1995-01-29 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2634 * fns.c (Frassoc): New function.
2635 (syms_of_fns): defsubr it.
2637 1995-01-28 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2639 * ecrt0.c: Renamed from crt0.c.
2640 * Makefile.in.in (ecrt0.o): Target renamed from crt0.o.
2641 (START_FILES): Use ecrt0.o.
2643 1995-01-27 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2645 * lisp.h (PERDISPLAY, the_only_perdisplay, get_perdisplay):
2646 Renamed from PERD, etc. All uses changed.
2647 (ECHOBUFSIZE): New constant, replaces sizeof (echobuf).
2648 (enum Lisp_Misc_Type): New enumeration Lisp_Misc_Display_Local.
2649 (struct Lisp_Display_Objfwd): New structure.
2650 (XDISPLAY_OBJFWD, DISPLAY_OBJFWDP): Access the new structure.
2651 (union Lisp_Misc): Add new member.
2652 * keyboard.c (kbd_buffer_frame_or_window): Delete; now in perdisplay.
2653 (immediate_echo, echobuf, echoptr, echo_after_prompt): Likewise.
2654 (echo_prompt, echo_char, echo_dash): use perdisplay and ECHOBUFSIZE.
2655 (echo, cancel_echoing, echo_length, echo_truncate): Likewise.
2656 (read_char, kbd_buffer_store_event, kbd_buffer_get_event): Likewise.
2657 (Fdiscard_input, stuff_buffered_input): Likewise.
2658 (init_keyboard, syms_of_keyboard): Likewise.
2659 * alloc.c (mark_object): Ignore Lisp_Misc_Display_Objfwd objects.
2660 * print.c (print): Handle internal display-local object.
2661 * .gdbinit (xdispobjfwd): New macro.
2663 * xdisp.c (message_log_need_newline): This var is now static.
2664 (message_dolog): Set message_log_need_newline appropriately.
2665 Don't change it at all if message logging is currently disabled.
2666 (message_log_maybe_newline): New function.
2667 (message2): Use message_log_maybe_newline.
2668 * print.c (printchar, strout): Use message_log_maybe_newline.
2669 Leave all of the newline bookkeeping to message_dolog.
2670 * lisp.h (message_log_maybe_newline): Function declared.
2672 * xdisp.c (message_dolog): Rename " *Messages*" buffer to "*Messages*"
2674 1995-01-27 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2676 * minibuf.c (Fread_string): Add third arg HISTORY.
2677 * callint.c (Fcall_interactively): Pass new arg to Fread_string.
2679 1995-01-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2681 * insdel.c (modify_region): Clear point_before_scroll field.
2683 1995-01-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2685 * buffer.h (struct buffer): New field point_before_scroll.
2686 * buffer.c (init_buffer_once, syms_of_buffer):
2687 Set up buffer-local var point_before_scroll.
2688 (reset_buffer): Init point_before_scroll.
2689 * intervals.c (set_point): Set point_before_scroll to nil.
2691 1995-01-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2693 * lisp.h (PERD): New struct containing per-display data.
2694 (the_only_perd): Declare an instance of it.
2695 (get_perd): Macro to retrieve it.
2696 * keyboard.c (the_only_perd): Define this var here.
2697 (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Delete; now part of perd.
2698 (find_active_event_queue): New function.
2699 (readable_events, kbd_buffer_get_event, swallow_events): Use it.
2700 (kbd_buffer_store_event): Store in EVENT's frame's queue.
2701 (Fdiscard_input, stuff_buffered_input): Use perd.
2702 (init_keyboard): Initialize the new vars.
2703 kbd_buffer is now a pointer, not an array.
2704 * xterm.h (struct x_display_info): New member display_perd.
2706 * process.c (process_tick, update_tick): Make non-static.
2708 1995-01-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2710 * keyboard.c (read_key_sequence): New arg dont_downcase_last
2711 inhibits downcasing the last event, when it's uppercase and undefined.
2712 (Fread_key_sequence): Likewise new arg.
2713 * callint.c (Fcall_interactively): Define K mostly like k.
2714 Pass new arg to Fread_key_sequence.
2715 * keymap.c (Flocal_set_key, Fglobal_set_key): Use K, not k, to read key seq arg.
2717 1995-01-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2719 * indent.c (compute_motion): Don't get hung in selective-display loop.
2721 * syssignal.h: Don't use function prototypes.
2723 * keyboard.c (read_key_sequence): Don't wait for a possible key
2724 translation sequence if we already have a binding.
2725 Add missing break statement.
2727 * sysselect.h: New file, mostly extracted from process.c and xterm.c.
2728 * process.c: #include sysselect.h instead of defining things by hand.
2729 * sysdep.c (sys_select): Renamed from select. Use SELECT_TYPE
2730 instead of int. Defer to native select if that function is usable.
2731 * config.h (HAVE_SYS_SELECT_H): Add #undef for configure.
2732 * s/isc3-0.h (BROKEN_SELECT_NON_X): #define this.
2734 * s/isc3-0.h [__GNUC__] (POSIX_SIGNALS): #define this.
2735 [__GNUC__] (sigsetmask, HAVE_SYSV_SIGPAUSE): #undef these.
2736 (LIBX11_SYSTEM): Don't use -lc; loading this before -lcposix gives
2737 us the wrong signal functions.
2738 (C_SWITCH_SYSTEM): Add _XOPEN_SOURCE.
2739 (EXTRA_INITIALIZE): Make conditional on __GNUC__.
2741 1995-01-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2743 * minibuf.c (read_minibuf): Don't print the prompt in batch mode.
2745 * emacs.c (sort_args): Ordinary args get priority 0.
2746 So do -f, -l, -insert, etc. --kill gets negative priority.
2747 Everything else gets positive priority.
2749 1995-01-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2751 * xterm.c (x_destroy_window): Don't let frame being destroyed
2752 remain in x_focus_event_frame.
2754 1995-01-21 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
2756 * config.h.in [NO_REMAP]: #undef static.
2758 1995-01-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2760 * lisp.h (union Lisp_Misc): Make the `type' field just 16 bits,
2761 to match the substructures.
2763 1995-01-20 Morten Welinder <terra@diku.dk>
2765 * fileio.c (file_name_as_directory, Ffile_name_directory)
2766 (Ffile_name_nondirectory): Delete special MSDOG code now covered by macros.
2768 * s/msdos.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
2770 * msdos.c (XMenuCreate, XMenuAddPane, XMenuAddSelection, XMenuLocate)
2771 (XMenuActivate, XMenuDestroy): Add dummy `display *' argument.
2773 * xmenu.c [MSDOS]: #include msdos.h.
2774 * msdos.h (x_mouse_leave): Add neutralizing define.
2775 (XMenuCreate, XMenuAddPane, XMenuAddSelection, XMenuLocate)
2776 (XMenuActivate, XMenuDestroy): Add prototype.
2777 * Makefile.in.in (xmenu.o): Add msdos.h as dependency.
2779 * buffer.c (syms_of_buffer) [DOS_NT]: Add missing ';'.
2781 1995-01-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2783 * textprop.c (Ftext_property_any): Handle the trivial case specially.
2785 * sysdep.c (seed_random): Renamed from srandom.
2786 (get_random): Renamed from random. Return VALBITS random bits.
2787 * fns.c (Frandom): Call seed_random and get_random.
2789 * print.c (print): Print internal types too, for debugging.
2790 Print appropriate message for invalid pseudovector or misc type.
2792 * .gdbinit (xboolfwd, xbuflocal, xbufobjfwd, xcompiled): New macros.
2793 (xintfwd, xmiscfree, xobjfwd, xoverlay, xwinconfig): New macros.
2795 1995-01-19 Abramo Bagnara <abramo@sssup2.sssup.it>
2797 * term.c (term_get_fkeys_1): Bug fix for function key above f19.
2799 1995-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2801 * editfns.c (subst_char_in_region_unwind): New function.
2802 (Fsubst_char_in_region): Use it to make undo_list t temporarily.
2804 * buffer.c (Fbuffer_local_variables): Unconditionally call
2805 find_symbol_value, but conditionally use its value.
2807 * xrdb.c: Don't include sys/param.h.
2808 (MAXPATHLEN): Definition deleted.
2810 1995-01-18 Boris Goldowsky <boris@cs.rochester.edu>
2812 * cmds.c (internal_self_insert): Don't test current_column
2813 when deciding to call auto_fill_function.
2815 1995-01-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2817 * lisp.h (SWITCH_ENUM_CAST): New macro.
2818 * alloc.c, data.c, keyboard.c, syntax.c, xdisp.c: Change all
2819 occurrences of SWITCH_ENUM_BUG to use SWITCH_ENUM_CAST instead.
2821 1995-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2823 * window.c (Qtemp_buffer_show_hook): New hook.
2824 (syms_of_window): Init and staticpro it.
2825 (temp_output_buffer_show): Run the hook.
2827 1995-01-16 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2829 * xdisp.c (message_dolog): Ignore narrowing.
2830 Use low-level functions, to bypass modification and motion hooks.
2832 * window.h (struct window): New member column_number_displayed.
2833 * xdisp.c (redisplay): Use that field instead of a global flag.
2834 (redisplay_window, display_mode_line, decode_mode_spec): Likewise.
2836 * cm.c (cmcheckmagic): New function.
2838 * term.c (write_glyphs, insert_glyphs): Call it.
2840 1995-01-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2842 * keyboard.c (kbd_buffer_store_event): Cast arg of bcopy.
2844 1995-01-15 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
2846 * ralloc.c (r_alloc_init): Remove unused variable END.
2848 1995-01-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2850 * alloc.c (Fpurecopy): Mask size field when copying pseudovector.
2852 1994-01-12 Boris Goldowsky <boris@cs.rochester.edu>
2854 * lisp.h: Declare Qrear_nonsticky.
2856 * cmds.c (Vuse_hard_newlines): New variable.
2857 (Fnewline): If use_hard_newlines is on, mark inserted
2858 newline(s) with `hard' property, marked rear-nonsticky.
2860 1994-01-12 Tom Tromey <tromey@drip.colorado.edu>
2862 * buffer.c (list_buffers_1, Flist_buffers): Functions deleted.
2864 1995-01-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2866 * xdisp.c (message_log_need_newline): New var.
2867 (message_dolog): New function, extracted from message2.
2868 * print.c (printchar, strout): Call message_dolog.
2869 * lisp.h: Declare message_dolog.
2871 * alloc.c (DONT_COPY_FLAG): Default this to 1.
2872 Check to make sure it's not the same as MARKBIT.
2873 (mark_object): Use the same XOR expression as elsewhere.
2874 (gc_sweep): Don't touch DONT_COPY_FLAG here; this one is a real
2875 size field, not a mangled pointer.
2877 * fns.c (internal_equal): Delete redundant tests.
2878 Mask size field when comparing pseudovectors.
2880 * fns.c (Frandom): Use VALBITS instead of hardcoded constants.
2882 1995-01-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2884 * alloc.c (DONT_COPY_FLAG): Fix typo.
2886 * lisp.h: Use large constants for Lisp_Misc_Type.
2888 * lisp.h: Add some function declarations.
2889 * insdel.c: Declare all non-returning functions `void'.
2890 (insert_1): Make non-static. New arg PREPARE. All callers changed.
2891 * xdisp.c (Vmessage_log_max): New var.
2892 (syms_of_xdisp): defvar and initialize it.
2893 (message2_nolog): Renamed from message2.
2894 (message2): Log messages, then call message2_nolog.
2895 (message1_nolog): New function.
2896 * keyboard.c (echo): Don't log the key echoes.
2897 * alloc.c (Fgarbage_collect): Don't log the GC message.
2899 1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2901 * emacs.c (main): Handle SIGABRT, SIGHWE, SIGPRE, SIGORE, SIGDLK,
2902 SIGCPULIM, if they are defined.
2904 * alloc.c (DONT_COPY_FLAG): New bit flag.
2905 (mark_object, gc_sweep, compact_strings): Use it.
2907 1995-01-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
2909 * editfns.c (Finsert_char): Check inherit flag for long strings too.
2911 * editfns.c (Fnarrow_to_region): Swap using temp Lisp_Object, not int.
2913 1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2915 * keyboard.c (syms_of_keyboard): Doc fix.
2917 * unexsunos4.c (unexec): Cast value of sbrk.
2918 (run_time_remap): Cast arg to brk.
2919 (brk_value): Renamed from Brk.
2920 (is_it): Cast 1st arg of mmap.
2922 1995-01-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2924 * keyboard.c (read_key_sequence): If first event is mouse click,
2925 use the text property keymap from where the click was.
2926 New local var orig_local_map.
2928 1995-01-09 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2930 * window.c (Fscroll_other_window): On small windows, scroll by 1 line.
2932 1995-01-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2934 * fns.c (internal_equal): Once again use a switch.
2936 * lisp.h (struct Lisp_Free, struct Lisp_Marker, etc.):
2937 Make the `type' field just 16 bits, and declare as int.
2938 Add explicit spacer field after it.
2939 (struct Lisp_Marker): New field insertion_type.
2941 1995-01-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2943 * keymap.c (store_in_keymap): Copy a cons only if car is a string.
2945 * xterm.c: Don't include param.h.
2947 * buffer.c (syms_of_buffer): Doc fix.
2949 1995-01-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2951 * m/alliant-2800.h (VALBITS, GCTYPEBITS): Deleted; default is better.
2952 * m/apollo.h, m/aviion.h, m/delta.h, m/hp800.h, m/ibmrt.h: Likewise.
2953 * m/intel386.h, m/nh4000.h, m/tower32v3.h: Likewise.
2954 * m/att3b.h (VALBITS, XTYPE): Adjust for new bit layout.
2955 * m/alpha.h, m/gec63.h, m/pfa50.h: Likewise.
2957 1995-01-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2959 * frame.c [!MULTI_FRAME] (window_frame): New function.
2960 [!MULTI_FRAME] (syms_of_frame): defsubr it.
2962 1995-01-05 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
2964 * doc.c (store_function_docstring, Fdocumentation): Use &
2965 PSEUDOVECTOR_SIZE_MASK on `size' field of compiled byte-code object.
2966 * callint.c (Fcall_interactively): Likewise.
2967 * eval.c (Fcommandp): Likewise.
2969 1995-01-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2971 * alloc.c (mark_object, mark_buffer): Don't mark buffer twice.
2973 * .gdbinit (xint, xcar, xcdr): Use correct shift and mask values.
2975 * lisp.h [EXPLICIT_SIGN_EXTEND] (XINT): Use symbolic constants.
2977 1995-01-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2979 * doc.c (store_function_docstring): Arg is now EMACS_INT.
2981 1995-01-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
2983 * lisp.h (enum Lisp_Type): Don't use trailing comma.
2984 (VALBITS, GCTYPEBITS): Define these regardless of NO_UNION_TYPE.
2985 [!NO_UNION_TYPE] (union Lisp_Object): Use symbolic constants.
2987 * alloc.c (mark_object): Make `else' visible outside MULTI_FRAME.
2989 1995-01-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
2991 * keymap.c (store_in_keymap): While dumping, copy DEF if it's a cons.
2993 * buffer.c (reset_buffer): Don't alter intervals here.
2994 (Fget_buffer_create): Use BUF_MARKERS. Init BUF_INTERVALS here.
2995 (Fkill_buffer): Use BUF_MARKERS; but don't touch it in indir buf.
2996 Likewise BUF_INTERVALS. Don't free the text in indirect buffer.
2997 When killing a base buffer, kill its indirect buffers first.
2998 (init_buffer_once): Set up .text and BUF_INTERVALS
2999 in buffer_local_symbols and buffer_defaults.
3001 * alloc.c (mark_buffer, gc_sweep): Use BUF_INTERVALS.
3002 * editfns.c (Ftranspose_regions): Use BUF_INTERVALS.
3003 (transpose_markers): Use BUF_MARKERS.
3005 * insdel.c (insert_1, prepare_to_modify_buffer, insert_from_buffer_1):
3007 (adjust_markers): Use BUF_MARKERS.
3009 * buffer.h (struct buffer): Fields markers and intervals moved out.
3010 (struct buffer_text): Fields markers and intervals moved here.
3011 (BUF_MARKERS, BUF_INTERVALS): New macros.
3012 * textprop.c (validate_interval_range): Use BUF_INTERVALS.
3013 * intervals.c: Use BUF_INTERVALS throughout.
3014 * marker.c: Use BUF_MARKERS throughout.
3016 * undo.c (Fprimitive_undo): Use base buffer's modtime field.
3018 1995-01-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3020 * .gdbinit: Adapt to new Lisp_Object format.
3021 (xvectype, xmisctype): New commands.
3022 (xtype): Print the misc or vectorlike subtype too.
3024 * xdisp.c (redisplay_window): Call set_buffer_temp.
3026 * buffer.c (set_buffer_temp): New function.
3028 * buffer.h (struct buffer): Make buffer_file_type field unconditional.
3029 * buffer.c (reset_buffer_local_variables): Initialize
3030 buffer_file_type field.
3032 * lisp.h (PVEC_BUFFER, PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED)
3033 (PVEC_WINDOW, PVEC_WINDOW_CONFIGURATION, PVEC_SUBR):
3034 Now enumeration constants, not macros.
3035 (PVEC_FLAG): Enumeration alias for PSEUDOVECTOR_FLAG.
3037 * buffer.h (struct buffer): save_modiff field deleted.
3038 (struct buffer_text): save_modiff field moved here.
3039 (SAVE_MODIFF, BUF_SAVE_MODIFF): New macros.
3040 Use them instead of direct access to save_modiff field.
3041 * buffer.c, editfns.c, fileio.c, filelock.c, insdel.c, keyboard.c:
3042 * undo.c, xdisp.c: Use SAVE_MODIFF and BUF_SAVE_MODIFF
3043 instead of direct access to the save_modiff field.
3044 * window.c (temp_output_buffer_show): Use BUF_SAVE_MODIFF.
3046 * buffer.h (struct buffer): New field pt_marker.
3047 New fields begv_marker, zv_marker.
3048 * buffer.c (Fget_buffer_create): Initialize pt_marker, begv/zv_marker.
3049 (set_buffer_internal): Use and update this markers.
3050 Copy undo_list in and out of the base buffer.
3051 (Fget_buffer_create): Init save_modiff field here.
3052 (reset_buffer): Not here.
3053 (Fbuffer_modified_p): Use BUF_SAVE_MODIFF.
3054 (Fset_buffer_modified_p): Use SAVE_MODIFF.
3055 (Fkill_buffer, list_buffers_1): Use BUF_SAVE_MODIFF.
3057 * term.c (term_init): Fatal error if screen is too small.
3059 1994-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3061 * xdisp.c (redisplay_window): For buffer_shared count,
3062 treat an indirect buffer as equivalent to its base.
3064 * print.c (print): Don't drop thru to error for markers and overlays.
3066 1994-12-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3068 * insdel.c (adjust_point): Use BUF_PT.
3070 * intervals.c (temp_set_point, set_point): Use BUF_PT.
3071 (get_local_map): Get keymap from specified buffer, not current one.
3073 * fileio.c (Finsert_file_contents, Fwrite_region):
3074 Error if buffer is indirect.
3075 (Fdo_auto_save): Do nothing for an indirect buffer.
3077 * alloc.c (mark_buffer): In indirect buffer, mark the base buffer.
3079 * buffer.c (Fmake_indirect_buffer): New function.
3080 (Fbuffer_base_buffer): New function.
3081 (syms_of_buffer): defsubr them.
3082 (Fget_buffer_create): Initialize the size field.
3084 * print.c (print): Make buffer case a branch of
3085 the Lisp_Vectorlike case.
3087 * alloc.c (mark_object): Make buffer case a branch of
3088 the Lisp_Vectorlike case.
3090 * buffer.h (struct buffer): Make text field be a pointer.
3091 The struct buffer_text field renamed to own_text.
3092 Add fields indirect_to_buffer and size.
3093 Move pt, begv and zv fields here.
3094 (struct buffer_text): Moved from here.
3095 (BEGV, PT, ZV, BEGV_ADDR, PT_ADDR, ZV_ADDR): Corresponding changes.
3096 (BUF_BEGV, BUF_PT, BUF_ZV): Corresponding changes.
3097 (SET_BUF_ZV, SET_BUF_PT, point):
3099 * lisp.h (XSETBUFFER, BUFFERP, GC_BUFFERP): Rewrite: use pseudovectors.
3100 (enum Lisp_Type): Delete Lisp_Buffer.
3101 (enum Lisp_Misc_Type): Add Lisp_Misc_Float (not yet used).
3103 1994-12-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3105 * lisp.h (VALBITS): Default now 28.
3106 (GCTYPEBITS): Default now 3.
3108 * lisp.h (enum Lisp_Type): Lisp_Process, Lisp_Window, Lisp_Frame,
3110 (PSEUDOVECTORP, GC_PSEUDOVECTORP): Add paren for proper nesting.
3111 (PROCESSP, GC_PROCESSP, XSETPROCESS): Rewrite to use pseudovectors.
3112 (WINDOWP, GC_WINDOWP, XSETWINDOW): Likewise.
3113 (FRAMEP, GC_FRAMEP): Likewise.
3114 (SUBRP, GC_SUBRP, XSETSUBR): Likewise.
3115 (PVEC_SUBR): New macro.
3116 (struct Lisp_Subr): Add a size field.
3117 (DEFUN (both definitions)): Store that size field.
3119 * frame.h (XSETFRAME): Use pseudovector.
3121 * alloc.c (mark_object): Don't use Lisp_Process, Lisp_Window.
3122 Handle frames, compileds and subrs as branch of Lisp_Vectorlike case.
3123 (Fmake_byte_code): Use XSETCOMPILED.
3125 * data.c (Faref): Handle compiled function as pseudovector.
3127 * fns.c (Flength): Handle compiled function as pseudovector.
3129 * xterm.c (x_scroll_bar_handle_click): Use GC_WINDOWP.
3130 (XTframe_rehighlight, x_window_to_scroll_bar): Use GC_FRAMEP.
3132 * print.c (print): Get size of compiled function as pseudovector.
3133 Use a switch statement again.
3135 * process.h: Make size field an EMACS_INT.
3137 1994-12-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3139 * unexsunos4.c [! sparc] (REL_INFO_TYPE): Use `struct relocation_info'.
3141 1994-12-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3143 * keyboard.c (make_lispy_event) [USE_X_TOOLKIT]: Turn off
3144 special handling of menu bar mouse events.
3145 (make_lispy_event): Tell pixel_to_glyph_coords not to clip.
3147 * xterm.c (XTupdate_begin): Fix backward test in previous change.
3148 (x_display_box_cursor): Don't redraw old cursor spot in mouse face
3149 if cursor was on a newline.
3151 * s/isc4-1.h: New file.
3153 1994-12-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3155 * xterm.c (XTread_socket): Handle button events from outside
3156 the frame, received due to grabbing the mouse with a button.
3158 1994-12-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3160 * callint.c (Vmouse_leave_buffer_hook, Qmouse_leave_buffer_hook):
3162 (syms_of_callint): Set them up.
3163 (Fcall_interactively): Run the hook, for `@'.
3165 * buffer.c (syms_of_buffer): Doc fix for buffer-file-type.
3167 * search.c (set_search_regs): Really set search_regs.start and .end.
3168 (save_search_regs): Set them to 0 here.
3170 * minibuf.c (read_minibuf): GCPRO things.
3172 * lisp.h (enum Lisp_Type): Add Lisp_Type_Limit.
3173 * data.c (wrong_type_argument): Abort if VALUE is invalid Lisp object.
3174 Use Lisp_Type_Limit.
3176 1994-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3178 * puresize.h (BASE_PURESIZE): Incremented by 20k.
3180 1994-12-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3182 * xfns.c (x_figure_window_size): Treat missing user-position parm
3185 1994-12-23 Steven Suhr <ssuhr@riacs.edu>
3187 * scroll.c (scrolling_1): When scroll_region_ok is set, use a
3188 new scrolling method which scrolls groups of lines directly
3189 to their final vertical positions.
3190 (struct matrix_elt): New field writecount.
3191 (calculate_direct_scrolling): New function.
3192 (do_direct_scrolling): New function.
3194 * term.c (scroll_region_cost): New variable.
3195 (calculate_costs): Put scroll region overhead in scroll_region_cost.
3197 * termchar.h (scroll_region_cost): Declared.
3199 * dispnew.c (scrolling): Fewer restrictions if scroll_region_ok is
3200 set. New vector old_draw_cost for direct scrolling method.
3202 1994-12-23 Michal Jankowski (Michal.Jankowski@fuw.edu.pl)
3204 * keyboard.c (read_char): Don't echo keys when echo_keystrokes is 0.
3206 1994-12-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3208 * xfns.c (x_set_frame_parameters): Handle icon-left, icon-top parms.
3210 1994-12-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3212 * buffer.c (Fget_buffer_create): Copy the name, and clear text props.
3214 1994-12-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3216 * eval.c (Fdefvar): Fix minor error in previous change.
3217 (funcall_lambda): Fetch bytecode and constants vector from file if nec.
3219 * lread.c (Qload_file_name, Vload_file_name): New variables.
3220 (syms_of_lread): Initialize and staticpro it.
3222 (read_list): Before dumping, ignore (#$ . WHATEVER)--return 0.
3224 * lread.c (read1): Implement #@ and #$ constructs.
3226 * frame.c (make_frame): Init buffer_predicate field.
3228 * doc.c (get_doc_string): Now static. Arg now Lisp_Object.
3229 Allow (FILE . POS) as position argument.
3230 (Fdocumentation, Fdocumentation_property): Fix calls to get_doc_string.
3231 (Fdocumentation_property): Handle cons as value via get_doc_string.
3232 (read_doc_string): New function.
3234 * buffer.c (assoc_ignore_text_properties): New function.
3235 (Fget_buffer): Use assoc_ignore_text_properties.
3237 1994-12-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3239 * s/dgux.h (C_DEBUG_SWITCH): Define this only if __GNUC__.
3241 1994-12-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3243 * buffer.c (Fother_buffer): Take account of frame's buffer predicate.
3245 * frame.h (struct frame): New field buffer_predicate.
3246 Move all the Lisp_Object fields to the top.
3248 * frame.c (Fmodify_frame_parameters): For non-X frames,
3249 call store_frame_param for each parameter set.
3250 (store_frame_param): Handle buffer_predicate field.
3251 (frame_buffer_predicate): New function.
3252 (Qbuffer_predicate): New variable.
3253 (syms_of_frame): Set it up.
3255 * alloc.c (mark_object): In a frame, mark the buffer_predicate.
3256 Don't mark the height and width fields.
3258 1994-12-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3260 * minibuf.c (Fall_completions): New arg hide_spaces.
3261 (Fminibuffer_completion_help): Pass new arg.
3263 1994-12-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3265 * emacs.c (main): Fix conversion of --display to -d.
3267 * xmenu.c (push_menu_item): New arg DEF.
3268 (single_keymap_panes, list_of_items): Pass new arg.
3269 (MENU_ITEMS_ITEM_DEFINITION): New macro.
3270 (MENU_ITEMS_ITEM_LENGTH): Now 5.
3271 [USE_X_TOOLKIT] (xmenu_show): Store 0 in call_data if item def is 0.
3272 (single_submenu): Likewise.
3274 * emacs.c (main): Implement --version.
3276 * xterm.c (XTupdate_begin): Discard records of prior mouse highlight
3277 when frame must be redrawn.
3279 * textprop.c (add_properties): Add gcpro's.
3280 (Fadd_text_properties, copy_text_properties): Likewise.
3282 1994-12-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3284 * s/sunos4-1-3.h: Just include sunos4shr--do nothing else.
3286 * eval.c (Fdefconst, Fdefvar): Error if too many arguments.
3288 1994-12-13 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
3290 * emacs.c (sort_args): Make `options' a vector of ints.
3292 1994-12-11 Richard Stallman <rms@kepa>
3294 * buffer.c (report_overlay_modification): Renamed from
3295 verify_overlay_modification.
3296 * insdel.c: Calls changed.
3298 * insdel.c (signal_before_change, signal_after_change):
3299 Call verify_overlay_modification here.
3300 (prepare_to_modify_buffer): Don't call verify_overlay_modification.
3302 * buffer.c (call_overlay_mod_hooks): New args AFTER, ARG1, ARG2, ARG3.
3303 Args START, END deleted. Pass each function AFTER, ARG1 and ARG2,
3304 and ARG3 if ARG3 is not nil.
3305 (verify_overlay_modification): New args AFTER, ARG1, ARG2, ARG3.
3306 Pass them to call_overlay_mod_hooks.
3308 * search.c (compile_pattern): Call re_set_registers here.
3309 And no need to BLOCK_INPUT for that.
3310 (compile_pattern_1): Instead of here.
3312 1994-12-10 Richard Stallman <rms@kepa>
3314 * s/aix4-1.h: New file.
3316 * unexaix.c (unrelocate_symbols): Add AIX4_1 conditionals and code.
3318 * sysdep.c (sys_siglist) [AIX]: Add AIXHFT conditional.
3320 * systty.h: Change AIX conditional around HFNKEYS to AIXHFT.
3322 1994-12-09 Richard Stallman <rms@green-hill>
3324 * bytecode.c (Fbyte_code): Call Ffollowing_char and Fprevious_char
3325 as functions. Don't mask char-syntax arg to just 8 bits.
3327 1994-12-08 Richard Stallman <rms@green-hill>
3329 * keyboard.c (read_char): After auto-saving, redisplay.
3331 1994-12-06 Richard Stallman <rms@gnu.ai.mit.edu>
3333 * xfns.c (Fx_color_values): Doc fix.
3335 * buffer.c (list_buffers_1): Right-align the size values.
3337 * frame.h (struct frame): New field cost_calculation_baud_rate.
3338 (FRAME_COST_BAUD_RATE): New macro.
3339 * term.c (calculate_costs): Set FRAME_COST_BAUD_RATE.
3340 Don't test dont_calculate_costs.
3341 (dont_calculate_costs): Variable deleted.
3342 (term_init): Don't set dont_calculate_costs.
3343 * dispnew.c (update_frame): Call calculate_costs if baud_rate changed.
3345 1994-12-05 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3347 * emacs.c (sort_args): Don't overwrite the terminating null pointer.
3349 1994-12-05 Richard Stallman <rms@gnu.ai.mit.edu>
3351 * keyboard.c (read_key_sequence): Downcase undefined shifted fn keys.
3353 1994-12-04 Richard Stallman <rms@gnu.ai.mit.edu>
3355 * emacs.c (argmatch): Take argc as arg; don't go past end of argv.
3356 (main): Change calls to argmatch.
3358 * intervals.h (INTERVAL_LAST_POS): Don't subtract 1 here.
3360 * intervals.c (compare_string_intervals): New function.
3361 * fns.c (internal_equal): Call compare_string_intervals.
3362 (Fstring_equal): Doc fix.
3364 * scroll.c (scroll_cost): FRAME_DELETE_COST and FRAME_DELETEN_COSTS
3365 were confused. Fixed.
3367 * xterm.c (x_make_frame_visible, x_make_frame_invisible)
3368 (x_iconify_frame): Give error if frame has explicit_parent.
3369 (x_new_font): Don't set window height if frame has explicit_parent.
3371 * xfns.c (Fx_create_frame): Check for parent-id parameter.
3372 Set explicit_parent and parent fields.
3373 Don't set visibility if explicit_parent.
3374 [! USE_X_TOOLKIT] (x_window): Specify parent window.
3376 * xterm.h (struct x_display): New field explicit_parent.
3378 * s/ultrix4-3.h (SET_LINE_DISCIPLINE): Defined.
3380 * sysdep.c (child_setup_tty): Use CDISABLE for setting VERASE, VKILL.
3381 (init_sys_modes) [SET_LINE_DISCIPLINE]: Set specified line discipline.
3382 (reset_sys_modes) [SET_LINE_DISCIPLINE]: Restore old line discipline.
3384 1994-12-03 Richard Stallman <rms@gnu.ai.mit.edu>
3386 * lread.c (readevalloop): Ignore ^M here.
3388 * emacs.c (argmatch): Handle lstr == 0.
3390 1994-11-28 Richard Stallman <rms@gnu.ai.mit.edu>
3392 * regex.c (re_match_2_internal):
3393 Rename label `succeed' to `succed_label'.
3395 * xfns.c (Fx_synchronize): Fix doc string syntax.
3397 * xmenu.c: Don't include ../oldXMenu/XMenu.h if USE_X_TOOLKIT.
3399 * Makefile.in.in: Fix erroneous comment syntax.
3401 * s/ultrix4-3.h: New file.
3403 * systty.h: Have just one conditional to include unistd.h.
3404 Test NEED_UNISTD_H, not AIX and IRIX4.
3405 (UNISTD_H_INCLUDED): Don't define or test this.
3406 * m/ibm370aix.h (NEED_UNISTD_H): Defined.
3407 * s/aix3-1.h (NEED_UNISTD_H): Defined.
3408 * s/irix4-0.h (NEED_UNISTD_H): Define.
3410 * fileio.c (internal_delete_file, internal_delete_file_1):
3412 * buffer.c (Fkill_buffer): Use internal_delete_file.
3413 * callproc.c (delete_temp_file): Use internal_delete_file.
3415 1994-11-25 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
3417 * search.c (search_regs_saved): Don't initialize; it dumps as pure.
3419 1994-11-24 Francesco Potortì <pot@cnuce.cnr.it>
3421 * m/delta.h (C_SWITCH_MACHINE): -inline-functions removed,
3422 because the compiler shipped with R3V7 is not stable.
3424 1994-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3426 * keyboard.c (command_loop_1): Use safe_run_hooks to run
3427 deferred-action-function.
3428 (Qdeferred_action_function): New variable.
3429 (syms_of_keyboard): Initialize and staticpro Qdeferred_action_function.
3431 1994-11-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3433 * keyboard.c (syms_of_keyboard): Doc fix.
3435 * fns.c (Fy_or_n_p): Handle exit-prefix in query-replace-map.
3437 1994-11-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3439 * search.c (save_search_regs): Add declaration.
3441 * minibuf.c (Fminibuffer_complete_and_exit):
3442 Catch errors in do_completion.
3443 (complete_and_exit_1, complete_and_exit_2): New subroutines.
3445 * s/aix4.h: New file.
3446 * s/aix3-1.h (AIXHFT): Define.
3447 * m/ibmrs6000.h (OBJECTS_MACHINE): Define only if AIXHFT.
3449 * sysdep.c (init_sys_modes): Test AIXHFT, not AIX.
3450 (reset_sys_modes): Test AIXHFT.
3451 (hft_init, hft_reset): Test AIXHFT, not AIX.
3453 1994-11-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3455 * window.c (Fdisplay_buffer): Use `b' to read existing buffer name.
3457 1994-11-21 David J. MacKenzie (djm@mole.gnu.ai.mit.edu)
3459 * config.h.in: Add #undefs for --with-pop, --with-kerberos, and
3462 1994-11-19 Francesco Potortì <pot@cnuce.cnr.it>
3464 * lisp.h (running_asynch_code): New global flag.
3465 * emacs.c (running_asynch_code): New global flag.
3466 (main): Initialize it.
3467 * process.c (read_process_output, exec_sentinel): Set and
3468 reset the running_asynch_code global flag and restore match data.
3470 * search.c (Flooking_at, Fstring_match, search_buffer,
3471 Fstore_match_data): Save the match data if a filter or a sentinel
3473 (search_regs_saved, saved_search_regs): New variables.
3474 (save_search_regs, restore_match_data): New functions.
3476 1994-11-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3478 * emacs.c (sort_args): New function.
3479 (main): Call sort_args.
3480 Check for -d/-display after -nw, -batch, -help.
3481 Accept --display, with arg attached or separate.
3483 1994-11-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3485 * filelock.c (init_filelock): Add missing semicolon.
3487 1994-11-18 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
3489 * indent.c (recompute_width_table): Do the right thing if no previous
3491 Fix Lisp_Object vs. integer problem.
3492 (width_run_cache_on_off): Let recompute_width_table create the vector.
3494 1994-11-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3496 * lisp.h (enum Lisp_Misc_Type): Rename Lisp_Vector to
3497 Lisp_Vectorlike. Mark Lisp_Window_Configuration as obsolete.
3498 (PSEUDOVECTOR_FLAG, PSEUDOVECTOR_SIZE_MASK, PVEC_BUFFER,
3499 PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED, PVEC_WINDOW,
3500 PVEC_WINDOW_CONFIGURATION): New constants.
3501 (XSETPSEUDOVECTOR, PSEUDOVECTORP, VECTORLIKEP): New macros.
3502 (XSETVECTOR, XSETWINDOW_CONFIGURATION, VECTORP,
3503 WINDOW_CONFIGURATIONP): Use the new convention.
3504 (XSETCOMPILED): New macro.
3505 * print.c (print): Use type test macros.
3506 * keymap.c (Fsingle_key_description): Likewise.
3507 * doc.c (Fdocumentation): Likewise.
3508 * alloc.c (Fpurecopy): Likewise.
3509 (mark_object): Use the new pseudovector convention.
3510 * fns.c (Fvconcat, concat): Use Lisp_Vectorlike.
3511 * ntinevt.c (SET_FRAME): Use accessor macros.
3512 (key_event, do_mouse_event): Likewise.
3514 1994-11-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3516 * filelock.c (init_filelock): Always copy lock_path.
3517 (lock_dir, superlock_file, MAKE_LOCK_NAME):
3518 Renamed from lock_path, superlock_path, MAKE_LOCK_PATH.
3520 1994-11-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3522 * s/domain.h: New file.
3524 1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
3526 * s/gnu.h [NOT_C_CODE]: Include fcntl.h.
3528 1994-11-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3530 * xdisp.c (try_window, display_text_line): Undo previous change.
3532 * dired.c (Fdirectory_files): Pass new arg to `compile_pattern'.
3534 * search.c (struct regexp_cache): New field `posix'.
3535 (compile_pattern_1): New arg `posix'. Controls the syntax spec
3536 for parsing; also record it in the cache.
3537 (compile_pattern): New arg `posix'.
3538 (looking_at_1, string_match_1, fast_string_match): Pass 0 for new arg.
3539 (search_buffer): New arg `posix'. Now static.
3540 (search_command): New arg `posix'. All callers changed.
3541 (Fposix_search_forward, Fposix_search_backward): New functions.
3542 (string_match_1, looking_at_1): New subroutines broken out.
3543 (Fstring_match, Flooking_at): Use them.
3544 (Fposix_string_match, Fposix_looking_at): New functions.
3545 (syms_of_search): defsubr new functions.
3547 1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
3549 * xdisp.c (try_window): Don't pass window to Fget_char_property;
3551 (display_text_line): Likewise.
3553 1994-11-16 Francesco Potortì (pot@cnuce.cnr.it)
3555 * Makefile.in.in (TAGS): The new etags allows tagging DEFVARs.
3557 1994-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3559 * lread.c (Fload): Call Fsubstitute_in_file_name after trying handler.
3561 * fileio.c (Fread_file_name_internal): Protect orig_string.
3563 1994-11-15 enami tsugutomo <enami@sys.ptg.sony.co.jp>
3565 * keyboard.c (Fopen_dribble_file): Call fclose only when
3566 dribble is non zero.
3568 1994-11-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3570 * keymap.c (access_keymap): Use type test macros.
3572 * alloc.c (Fmake_vector): Call allocate_vectorlike.
3573 (allocate_vectorlike): New function, extracted from Fmake_vector.
3574 * lisp.h: Declare allocate_vectorlike.
3575 (VECSIZE): New macro.
3576 * process.c (make_process): Use allocate_vectorlike and VECSIZE.
3577 * frame.c (make_frame): Likewise.
3578 * window.c (make_dummy_parent, make_window): Likewise.
3579 (Fcurrent_window_configuration): Likewise.
3580 (SAVE_WINDOW_DATA_SIZE): Macro deleted.
3582 * lisp.h: Delete declaration of Farray_length.
3583 * data.c (Farray_length): Delete this obsolete function.
3584 (Faref, Faset): If object is a string, use XSTRING, not XVECTOR.
3585 * fns.c (Flength): Don't call Farray_length, just use size field.
3587 * xterm.h (XSCROLL_BAR): Extract from Lisp_Vector, not generic pointer.
3589 * xselect.c (wait_for_property_change): Encode location as a cons
3590 of two integers instead of lying about the type.
3591 (wait_for_property_change_unwind): Decode it likewise.
3593 * eval.c (Finteractive_p): Use XSUBR instead of its expansion.
3595 * lisp.h (GC_INTEGERP, etc): New type-test macros for use during GC.
3596 * buffer.h (OVERLAY_POSITION): Use the new type-test macros.
3597 * process.c (NETCONN_P, kill_buffer_processes): Likewise.
3598 * buffer.c (overlays_at): Likewise.
3599 * filelock.c (unlock_all_files): Likewise.
3600 * xfns.c (x_window_to_frame): Likewise.
3601 (x_any_window_to_frame, x_top_window_to_frame): Likewise.
3602 * fileio.c (Fdo_auto_save): Likewise.
3604 * xfaces.c (Fpixmap_spec_p): Avoid function calls and assignments
3605 as arguments to a type-test macro.
3606 * textprop.c (PLIST_ELT_P): Likewise.
3607 * keymap.c (current_minor_maps): Likewise.
3609 * lisp.h (NATNUMP): New macro.
3610 (CHECK_NATNUM): Use that macro instead of its expansion.
3611 * data.c (Fnatnump): Likewise.
3612 * xfns.c (x_set_frame_parameters): Likewise.
3613 * keymap.c (access_keymap, store_in_keymap): Likewise.
3614 * doc.c (Fdocumentation): Likewise.
3615 * alloc.c (Fmake_list): Use CHECK_NATNUM instead of its expansion.
3616 Now signals using `wholenump' instead of `natnump'.
3617 (Fmake_vector, Fmake_string): Likewise.
3619 * data.c (syms_of_data): Set Qwholenump as function, not variable.
3621 * alloc.c (free_float): Don't assume XFASTINT accesses the raw bits.
3622 (make_float, free_cons, Fcons, Fmake_symbol, gc_sweep): Likewise.
3624 1994-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3626 * xterm.c (x_mouse_leave): New function broken out of XTread_socket.
3627 When x_focus_event_frame is nonzero, assume that frame gets focus.
3628 (XTread_socket): Use x_mouse_leave for LeaveNotify.
3629 * xmenu.c (xmenu_show): Call x_mouse_leave.
3631 * fileio.c (Fsubstitute_in_file_name): Run a handler.
3632 (Qsubstitute_in_file_name): New variable.
3633 (syms_of_fileio): Set it up.
3635 * lread.c (read_escape): For \S-a, return A.
3637 * buffer.c (Frename_buffer): Rename arg NAME to NEWNAME.
3639 1994-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3641 * s/freebsd.h (LD_SWITCH_SYSTEM): Add -dc and -dp.
3642 (HAVE_GETPAGESIZE): Defined.
3644 * sysdep.c (init_sys_modes): Maybe call tcflow.
3646 1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3648 * lisp.h (enum Lisp_Misc_Type): Add new enumeration Lisp_Misc_Overlay.
3649 (enum Lisp_Type): Delete the corresponding enumeration from here.
3650 (struct Lisp_Overlay): New structure.
3651 (XOVERLAY, OVERLAYP): Access the new structure.
3652 (union Lisp_Misc): Add new member.
3653 * buffer.h (OVERLAY_START, OVERLAY_END): Use the new substructure.
3654 * alloc.c (mark_object, gc_sweep): Likewise.
3655 * print.c (print): Likewise.
3656 * buffer.c (Fmake_overlay): Likewise.
3657 (Foverlay_properties, Foverlay_get, Foverlay_put): Likewise.
3658 * fns.c (internal_equal): Likewise.
3659 Simplify by returning int.
3660 (Fequal): Use new interface to internal_equal.
3662 * buffer.c (list_buffers_1): Use PT, not point.
3664 1994-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3666 * fileio.c (Finsert_file_contents): Init not_regular at the beginning.
3668 1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3670 * buffer.c (Fkill_all_local_variables): Use XBUFFER_LOCAL_VALUE,
3673 1994-11-14 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
3675 * s/gnu.h (A_TEXT_OFFSET): Macro removed.
3676 (A_TEXT_SEEK): Define to just sizeof (struct exec).
3678 1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3680 * lread.c (defvar_int): Use accessor macro.
3681 (defvar_bool, defvar_lisp_nopro, defvar_per_buffer): Likewise.
3683 1994-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3685 * xfaces.c (load_pixmap): Handle bitmap_id < 0. F is a FRAME_PTR.
3687 * frame.c (syms_of_frame): Fix typo.
3689 * minibuf.c (Fdisplay_completion_list): Update COLUMN unconditionally.
3690 If a name is long, put it on its own line.
3692 1994-11-13 Brendan Kehoe (brendan@lisa.cygnus.com)
3694 * s/hpux9.h (C_SWITCH_SYSTEM) [__GNUC__]: Set -D_BSD to get the
3695 correct definitions from sys/wait.h.
3697 1994-11-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3699 * frame.c (syms_of_frame): Doc fix for default-frame-alist.
3701 1994-11-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3703 * fileio.c (Finsert_file_contents): If VISIT, set the buffer components
3704 such as the filename even before signaling error for non-regular file.
3706 * s/iris3-5.h, s/iris3-6.h (MAIL_USE_FLOCK): Defined.
3707 * s/irix3-3.h, s/irix5-0.h (MAIL_USE_FLOCK): Defined.
3708 * s/irix5-2.h: New file.
3710 * m/paragon.h: New file.
3712 1994-11-11 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
3714 * lisp.h (enum Lisp_Misc_Type): Add new enumerations
3715 Lisp_Misc_Buffer_Local_Value and Lisp_Misc_Some_Buffer_Local_Value.
3716 (enum Lisp_Type): Delete the corresponding enumerations from here.
3717 (struct Lisp_Buffer_Local_Value): New structure.
3718 (XBUFFER_LOCAL_VALUE): Access the new structure.
3719 (BUFFER_LOCAL_VALUEP, BUFFER_SOME_LOCAL_VALUEP): Likewise.
3720 (union Lisp_Misc): Add new member.
3721 * alloc.c (mark_object): New code to handle buffer-local substructure.
3722 (gc_sweep): Generalize marker code to handle other substructures.
3723 * bytecode.c (Fbyte_code): Special case for buffer-local objects is
3724 now handled by the more general test. Simplify.
3725 * buffer.c (set_buffer_internal): Use XBUFFER_LOCAL_VALUE, not XCONS.
3726 * data.c (store_symval_forwarding): Likewise.
3727 (swap_in_symval_forwarding, Fset, default_value, Fset_default,
3728 Fkill_local_variable): Likewise.
3729 (Fmake_variable_buffer_local): Use the new substructure.
3730 (Fmake_local_variable): Likewise.
3732 1994-11-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3734 * process.c (create_process) [OSF1]: Use setpgid, not setpgrp.
3736 1994-11-09 Boris Goldowsky <boris@cs.rochester.edu>
3738 * cmds.c (Fnewline): Always use insert_and_inherit.
3740 1994-11-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
3742 * lisp.h (FRAMEP): Use the second definition whenever HAVE_MOUSE.
3744 * keyboard.c (tracking_off): Test old value with NILP.
3745 Restore the old value whatever it may be.
3746 (syms_of_keyboard): Use DEFVAR_LISP for track-mouse.
3748 1994-11-09 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3750 * data.c (Fboundp, find_symbol_value): Use type test macros
3751 instead of checking XTYPE directly.
3753 * keyboard.c (print_help): Set help-mode in *Help* buffer.
3754 * keymap.c (describe_buffer_bindings): Likewise.
3755 * syntax.c (describe_syntax_1): Likewise.
3757 1994-11-08 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
3759 * keyboard.c (EVENT_QUEUES_EMPTY): Only test do_mouse_tracking and
3760 mouse_moved #ifdef HAVE_MOUSE.
3761 (Ftrack_mouse): Protect with #ifdef HAVE_MOUSE.
3762 (syms_of_keyboard): Protect initialization of do_mouse_tracking,
3763 defsubr of Strack_mouse, and DEFVAR of track-mouse with #ifdef
3766 1994-11-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
3768 * frame.c (Fset_frame_height): Compare against height, not width.
3770 1994-11-07 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
3772 * keyboard.c: Move decl of input_fd outside of #ifdef
3775 1994-11-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3777 * xterm.c (XTread_socket): Generate iconify and deiconify events.
3779 1994-11-03 Geoff Voelker <voelker@cs.washington.edu>
3781 * m/intel386.h (VIRT_ADDR_VARIES) [WINDOWSNT]: Defined.
3782 (DATA_END) [WINDOWSNT]: Defined.
3783 (DATA_START) [WINDOWSNT]: Defined.
3784 (HAVE_ALLOCA) [WINDOWSNT]: Defined.
3786 * s/windowsnt.h: Include malloc.h.
3787 (MODE_LINE_BINARY_TEXT): Defined.
3788 (HAVE_MOUSE): Defined.
3790 * ntheap.c (sbrk): Allow request sizes to be different than the
3793 * makefile.nt: Changed references of m\m-windowsnt.h to
3794 m\intel386.h and of s\s-windowsnt.h to s\windowsnt.h.
3796 1994-11-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
3798 * xfns.c (Fx_list_fonts): Don't bother to retrieve font info when
3799 there's no size_ref to compare it against.
3801 * editfns.c (Fdecode_time): Fix Lisp_Object vs. integer problems.
3802 Don't use tm_gmtoff; it's not portable.
3804 * lisp.h: Leave DEVICE_SEP undefined by default.
3806 1994-11-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3808 * buffer.c (init_buffer): Fix error message syntax.
3810 * fileio.c (Fsubstitute_in_file_name): Add missing #endif.
3812 * lread.c: Don't include ctype.h.
3813 (isfloat_string, read1): Don't use isdigit.
3815 * editfns.c (Fdecode_time): Change one XFASTINT to XINT.
3817 * s/windowsnt.h (SYSTEM_PURESIZE_EXTRA): Defined.
3819 1994-10-31 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
3821 * xfns.c (x_window): Make ibw 0 by default.
3823 1994-10-31 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
3825 * xterm.c (XTclear_end_of_line): Finish the line dance here too,
3826 just as was done in XTwrite_glyphs.
3828 * xdisp.c (column_number_displayed): New variable.
3829 (redisplay, redisplay_window): If that var is set, do mode line.
3830 (display_mode_line): Unset the var.
3831 (decode_mode_spec): Set the var if %c was seen.
3833 1994-10-30 Geoff Voelker <voelker@cs.washington.edu>
3835 * makefile.nt: New file.
3836 * nt.c, nt.h: New files.
3837 * ntheap.c, ntheap.h: New files.
3838 * ntinevt.c, ntinevt.h: New files.
3839 * ntproc.c, ntterm.c: New files.
3841 * m/windowsnt.h, s/windowsnt.h: New files.
3845 * makefile.nt:New file.
3847 * lisp.h (DEVICE_SEP, DIRECTORY_SEP, IS_DEVICE_SEP)
3848 (IS_DIRECTORY_SEP, IS_ANY_SEP): New macros, defined if not already def.
3850 * s/msdos.h (DOS_NT): Defined.
3852 * term.c (term_init) [WINDOWSNT]: Do some Windows-specific
3853 initialization, then skip the rest of the code.
3854 (FRAME_TERMCAP_P) [WINDOWSNT]: Always return 0.
3856 * systty.h: Test DOS_NT, not MSDOS.
3858 * syssignal.h [WINDOWSNT] (EMACS_KILLPG): Use win32_kill_process.
3860 * sysdep.c [WINDOWSNT]: Add includes for NT.
3861 Define _P_WAIT. Declare _spawnlp, _getpid.
3862 [WINDOWSNT] (select, strerror, vfork): Don't use these definitions.
3864 * sysdep.c (init_sys_modes): Test DOS_NT, not MSDOS.
3865 (emacs_get_tty, emacs_set_tty,(child_setup_tty, init_baud_rate): Ditto.
3867 * sysdep.c (sys_subshell) [WINDOWSNT]: Use _spawnlp. not vfork.
3868 (wait_for_termination) [WINDOWSNT]: Use wait.
3869 (discard_tty_input) [WINDOWSNT]: Do nothing at all.
3871 * process.c: Use macros IS_ANY_SEP, IS_DIRECTORY_SEP,
3872 IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP.
3873 [WINDOWSNT]: Add includes. Don't define sys_siglist.
3875 * process.c (sigchld_handler): Work around bug in MS C compiler.
3876 (sigchld_handler) [WINDOWSNT]: Do not call signal.
3877 (signal_process) [WINDOWSNT]: Use win32_kill_process instead of kill.
3878 (read_process_output) [WINDOWSNT]: Use read_child_output instead of
3881 * process.c (create_process) [WINDOWSNT]: Use
3882 pipe_with_inherited_out and pipe_with_inherited_in.
3883 Use the pid returned by child_setup. Deal with not having vfork,
3884 Call register_child.
3885 (close_process_descs): Do nothing if WINDOWSNT.
3887 * process.c (proc_buffer_char): No longer static.
3889 * ndir.h (MAXNAMLEN) [WINDOWSNT]: Define as 255.
3891 * mem-limits.h [WINDOWSNT]: Don't include vlimit.h.
3892 (get_lim_data): Alternate definition for WINDOWSNT.
3894 * lread.c: Change explicit uses of the Unix directory separator
3895 '/' to uses of the macros IS_ANY_SEP, IS_DIRECTORY_SEP,
3896 IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP.
3898 * lread.c (init_lread) [WINDOWSNT]: Disable warnings about
3899 directories in the load path not existing.
3901 * lread.c (load): Test DOS_NT instead of MSDOS.
3903 * keyboard.c (read_key_sequence): Use flags instead of gotos to
3904 enable the Microsoft C compiler to compile the routine.
3906 * keyboard.c (read_avail_input) [WINDOWSNT]: Just return 0.
3908 * fileio.c: Change explicit uses of the Unix directory separator
3909 '/' to uses of the macros IS_ANY_SEP, IS_DIRECTORY_SEP,
3910 IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP.
3912 * fileio.c [WINDOWSNT]: Don't define HAVE_FSYNC; add includes for NT.
3914 * fileio.c (Ffile_name_absolute_p): Test DOS_NT instead of MSDOS.
3915 (Fwrite_region, Fdo_auto_save, Ffile_modes): Likewise.
3917 * fileio.c (Qfind_buffer_file_type): Test DOS_NT instead of MSDOS.
3918 (syms_of_files): Likewise.
3919 (Finsert_file_types): Test DOS_NT instead of MSDOS.
3920 Rename local var try to trytry.
3922 * fileio.c (Fadd_name_to_file): Always fail.
3923 (Frename_file) [WINDOWSNT]: Use MoveFile, not link and unlink,
3924 and check for both ERROR_FILE_EXISTS and ERROR_ALREADY_EXISTS.
3925 (Fmake_directory_internal) [WINDOWSNT]: Invoke mkdir without the mask.
3927 * fileio.c (Fexpand_file_name): Test DOS_NT, not MSDOS.
3928 (Fexpand_file_name) [WINDOWSNT]: Accept // or \\ at start.
3929 Call dostonunix_filename for HOME envvar, for ~USER.
3930 Quote directory separators found in environment variables.
3931 (Fsubstitute_in_file_name): Test DOS_NT instead of MSDOS.
3932 (Fsubstitute_in_file_name) [WINDOWSNT]: Accept // or \\ at start.
3933 Work around alloca bug in MS compiler.
3934 (Ffile_name_directory): Test DOS_NT instead of MSDOS sometimes.
3935 But don't insert a drive letter on windows.
3937 * emacs.c (Fdump_emacs): Don't reset the data start address by
3938 invoking memory_warnings just before unexec-ing.
3940 * editfns.c (init_editfns): Get the username from the environment
3941 variable USERNAME instead of USER.
3943 * dired.c: Use macros IS_ANY_SEP, IS_DIRECTORY_SEP, and DIRECTORY_SEP.
3944 (file-attributes) [WINDOWSNT]: Set st_gid and st_uid to Qnil; use
3945 get_inode_and_device_vals to fake up inode number and device number.
3947 * callproc.c (getenv_internal) [WINDOWSNT]: Use strnicmp, not bcmp.
3949 * callproc.c (child_setup): Use IS_DIRECTORY_SEP.
3950 [WINDOWSNT]: Call prepare_standard_handles. Use spawnve.
3951 Use reset_standard_handles.
3953 * callproc.c (Fcall_process_region): Test DOS_NT, not MSDOS.
3954 (Fcall_process) [WINDOWSNT]: Call pipe_with_inherited_out.
3955 Use the return value of child_setup to get the child's pid;
3956 don't call vfork etc. explicitly.
3958 * callproc.c [WINDOWSNT]: Add includes. Define NOMINMAX, _P_NOWAIT.
3959 (Vbinary_process_input, Vbinary_process_output)
3960 (Qbuffer_file_type): Test DOS_NT, not MSDOS.
3961 (syms_of_callproc): Test DOS_NT, not MSDOS.
3963 * callproc.c (init_callproc): Test DOS_NT, not MSDOS.
3965 * buffer.h (struct buffer): Test DOS_NT, not MSDOS.
3967 * buffer.c (init_buffer): Use DIRECTORY_SEP, IS_DIRECTORY_SEP macros,
3968 not character constants.
3969 (init_buffer_once, syms_of_buffer): Test DOS_NT, not MSDOS.
3971 1994-10-30 Erik Naggum <erik@naggum.no>
3973 * editfns.c (Fdecode_time): New function.
3974 (syms_of_editfns): defsubr it.
3976 1994-10-30 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
3978 * keyboard.c (make_lispy_event): Record double and triple for drags.
3979 Put in click_modifier for multi-clicks.
3980 (read_key_sequence): Convert double-drag first to plan drag,
3981 and only later try a click.
3983 * unexsunos4.c (unexec): Don't print number of pure bytes used.
3985 1994-10-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
3987 * xfns.c (Fx_create_frame):
3988 Don't set xlwmenu_default_font if not USE_X_TOOLKIT.
3990 * puresize.h (BASE_PURESIZE): Increment MULTI_FRAME value.
3992 1994-10-29 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
3994 * keyboard.c (read_avail_input): Fix Lisp_Object vs. int problem.
3996 1994-10-29 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
3998 * xterm.c (fast_find_position): Special case if POS is end of buffer.
4000 * xterm.c (x_delete_display): Call XrmDestroyDatabase.
4002 1994-10-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4004 * s/osf1.h (LD_SWITCH_SYSTEM): Definitions deleted.
4006 * m/alpha.h (LD_SWITCH_MACHINE): New definition.
4008 1994-10-28 Rainer Schoepf <Schoepf@Uni-Mainz.de>
4010 * s/osf1.h (INTERRUPTIBLE_IO, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE)
4011 (read, write, open, close): New definitions.
4013 1994-10-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
4015 * buffer.c (Fset_buffer_major_mode): New function. Set the
4016 default major mode here.
4017 (Fget_buffer_create): Not here.
4018 (Fswitch_to_buffer): Call Fset_buffer_major_mode.
4019 (syms_of_buffer): defsubr the new function.
4021 * termhooks.h (iconify_event, deiconify_event): New enum event_kind's.
4022 * keyboard.c (kbd_buffer_get_event): Translate them to lispy events.
4023 (head_table): Initialize those new symbols appropriately.
4024 * frame.c (keys_of_frame): Bind those events to 'ignore, since the
4025 window manager has already done the work.
4027 * xmenu.c (set_frame_menubar): Don't copy string during GC risk.
4029 1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4031 * config.h.in (HAVE_GETPAGESIZE): Add #undef.
4032 * m/sequent-ptx.h (HAVE_GETPAGESIZE): Explicitly #undef.
4033 * s/linux.h, s/msdos.h (HAVE_GETPAGESIZE): Definition deleted.
4034 * m/symmetry.h (HAVE_GETPAGESIZE): Definition deleted.
4036 * xterm.c (x_destroy_window): Rewrite to fetch dpyinfo just once.
4038 * xfns.c (Fx_create_frame): Set xlwmenu_default_font.
4040 * widget.c (set_frame_size): Set app_shell and wmshell the same.
4042 * xterm.c [USE_X_TOOLKIT]: Make application context explicitly
4043 and support multiple top-level shells.
4044 (x_initialize): Call XtToolkitInitialize, XtCreateApplicationContext;
4045 don't open display or make a shell.
4046 (x_term_init): Call XtOpenDisplay.
4048 * xfns.c [USE_X_TOOLKIT] (x_window): Use XtAppCreateShell.
4049 (Xt_app_shell, Xt_app_con): Variables deleted.
4050 (Fx_close_connection) [USE_X_TOOLKIT]: Call XtCloseDisplay.
4052 * xterm.c (x_scroll_bar_create): Use XMapRaised directly.
4053 (x_make_frame_visible, x_iconify_frame): Likewise.
4054 (XMapWindow): Macro definition deleted.
4055 (METABIT): Macro deleted.
4056 (MAXDESC, FD_SETSIZE, FD_SET, FD_CLEAR, FD_ZERO, FD_ISSET): Likewise.
4057 (x_id_name): Variable deleted.
4059 * process.c (status_message): Add a cast.
4060 (sigchld_handler): Add a cast.
4062 * xfns.c (x_window): Pass new arg f to hack_wm_protocols.
4064 * xdisp.c (display_text_line): Truncate the minibuf_prompt if nec.
4066 1994-10-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4068 * window.c (syms_of_window): Fix missing \n\'s.
4070 1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4072 * xselect.c (x_own_selection, x_get_foreign_selection): Change calls
4073 to x_catch_errors and friends.
4075 * xfns.c (x_set_mouse_color, x_real_positions): Change calls
4076 to x_catch_errors and friends.
4078 * xterm.c (x_catch_errors, x_check_errors, x_had_errors_p)
4079 (x_uncatch_errors): Make the argument a display, not a frame.
4081 * xterm.c (XTread_socket_fake_io_error): New variable.
4082 (XTread_socket): Obey XTread_socket_fake_io_error.
4084 1994-10-25 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4086 * process.c (list_processes_1): Print tty name.
4088 1994-10-25 Karl Fogel (kfogel@phylo.life.uiuc.edu)
4090 * window.c (Vtemp_buffer_show_function): Doc fix.
4092 1994-10-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4094 * xterm.h: Delete X10 code.
4096 * xfns.c (Fx_create_frame): Don't increment reference_count
4097 until the frame is put on the frame list.
4099 * xterm.c (x_initialize): Init x_noop_count, x_focus_frame
4100 and x_highlight_frame here.
4101 (x_term_init): Not here.
4103 * xterm.c (x_term_init): Open the connection first thing;
4104 if that fails, don't allocate dpyinfo.
4106 1994-10-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4108 * xdisp.c (decode_mode_spec): New spec %c, for current column.
4110 1994-10-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4112 * xselect.c (Fx_selection_exists_p): Fix backwards if.
4114 * xterm.c (x_delete_display): New function.
4115 (x_connection_closed): New args dpyinfo and error_message.
4116 Delete all frames on the dead display
4117 and all frames using them for minibuffers.
4118 Call x_delete_display.
4119 Maybe signal a Lisp error.
4120 * xfns.c (Fx_close_connection): Call x_delete_display.
4122 * xselect.c (Fx_selection_exists_p):
4123 If selected_frame isn't an x frame, return nil.
4125 * keyboard.c (record_char): New subroutine.
4126 (read_char): Use record_char.
4127 Split up menu-bar mouse click events here.
4128 Call record_char for both halves; likewise echo_char
4129 and add_command_key.
4131 1994-10-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4133 * xfns.c (x_display_info_for_name, Fx_open_connection):
4134 Signal error if x_term_init fails.
4135 (Fx_open_connection): New arg must_succeed.
4137 * xfns.c (x_real_positions): Catch errors and retry if error happens.
4138 No need to block input here.
4140 * xterm.c (x_term_init): Don't report error here--just return 0.
4142 * xfns.c (Fx_create_frame): Don't store the frame name
4143 till after FRAME_X_DISPLAY_INFO is set up.
4144 (Fx_close_connection): Renamed from Fx_close_current_connection
4146 * xfns.c: Many doc fixes and Lisp function arg renamings.
4148 * xterm.c (x_scroll_bar_report_motion): Store proper value in
4149 *bar_window (the Emacs window, not the X window number).
4151 1994-10-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4153 * keyboard.c (kbd_buffer_get_event):
4154 Cope if mouse_position_hook does not store anything.
4156 * xterm.c (x_scroll_bar_report_motion): Don't clear *fp.
4158 * xterm.h (struct x_display_info):
4159 New fields bitmaps, bitmaps_size, bitmaps_last.
4160 (struct x_bitmap_record): Structure moved here.
4161 * xfns.c (x_bitmaps, x_bitmap_size, x_bitmap_last):
4162 Variables deleted. Use fields in x_display_info instead.
4163 (x_bitmaps_free): Variable deleted.
4164 (x_destroy_bitmap, x_allocate_bitmap_record): Don't use or set it.
4165 (x_allocate_bitmap_record): New arg f. Callers changed.
4166 (x_lookup_pixmap): Function deleted.
4167 (x_destroy_all_bitmaps): New function.
4168 (Fx_close_current_connection): Call x_destroy_all_bitmaps.
4169 Free the fonts in the font table. Free various other data
4170 that dpyinfo points to. Avoid using Fdelq.
4172 * xterm.c (x_wm_set_icon_pixmap): Use x_bitmap_pixmap.
4175 (show_mouse_face): New arg dpyinfo. All callers changed.
4176 (clear_mouse_face): New arg dpyinfo. All callers changed.
4178 * xterm.h (struct font_info): New type.
4179 (struct x_display_info): New fields font_table, font_table_size
4182 * xterm.h (struct x_display_info): New field scratch_cursor_gc.
4183 * xterm.c (scratch_cursor_gc): Variable deleted.
4184 (dumpglyphs): Use scratch_cursor_gc in x_display_info.
4186 * xterm.h (mouse_face_*): New fields.
4187 * xterm.c (mouse_face_*): Variables deleted.
4188 Use fields in x_display_info instead.
4189 * xterm.c (syms_of_xterm): Don't staticpro mouse_face_window.
4191 * xterm.c (expose_all_windows, expose_all_icons): Variables deleted.
4192 (BLOCK_INPUT_mask): Variable deleted.
4194 * xterm.h (struct x_display_info): New field x_id_name.
4195 * xfns.c (x_set_name, Fx_create_frame): Use x_id_name field.
4196 * xterm.c (x_term_init): Set up x_id_name field.
4197 (x_id_name): Variable deleted.
4199 * xterm.c (x_font_table, x_font_table_size, x_n_fonts): Vars deleted.
4200 (x_new_font): Use new fields.
4201 (warp_mouse_on_deiconify): Unused variable deleted.
4203 * xterm.c (x_term_init): Set up dpyinfo->xrdb.
4204 Set up dpyinfo->vertical_scroll_bar_cursor.
4205 (x_scroll_bar_create): Use vertical_scroll_bar_cursor slot.
4206 (x_vertical_scroll_bar_cursor): Variable deleted.
4208 * xterm.c (x_term_init): Really return dpyinfo.
4210 * insdel.c (insert_from_buffer_1): Don't use min.
4212 * xterm.c (x_term_init): Call add_keyboard_wait_descriptor,
4213 not change_keyboard_wait_descriptor.
4215 * xfns.c (Fx_close_current_connection):
4216 Call delete_keyboard_wait_descriptor.
4218 * process.c: Handle multiple keyboard input descriptors.
4219 (non_keyboard_wait_mask): New variable.
4220 (Fset_process_filter): Update non_keyboard_wait_mask.
4221 (create_process, Fopen_network_stream, deactivate_process):
4222 (init_process, sigchld_handler): Likewise.
4223 (wait_reading_process_input): Maybe use non_keyboard_wait_mask.
4224 (add_keyboard_wait_descriptor):
4225 Renamed from change_keyboard_wait_descriptor.
4226 Clear the old descriptor's bit only the first call.
4227 (delete_keyboard_wait_descriptor): New function.
4228 (keyboard_bit_set): New function.
4229 (wait_reading_process_input): Use keyboard_bit_set.
4230 Start the loop over process descs from 0, and explicitly
4231 ignore non-process input descs.
4232 (init_process): Don't init keyboard_descriptor.
4233 (keyboard_descriptor): Variable deleted.
4234 (add_keyboard_wait_descriptor): Don't set keyboard_descriptor.
4235 (delete_keyboard_wait_descriptor): New function.
4237 * xterm.c (x_term_init): Pass new arg to init_sigio.
4238 Don't set old_fcntl_owner.
4239 Don't call change_input_fd.
4240 (XTread_socket): Loop over displays and process input from each.
4242 * sysdep.c: Never use input_fd if using X.
4243 (stuff_char): Do nothing if read_socket_hook.
4244 (setpgrp_of_tty): Function deleted.
4245 (init_sigio): Take fd as argument. Callers changed.
4246 Don't call request_sigio; do the work here.
4247 (request_sigio, unrequest_sigio): Do nothing if read_socket_hook.
4248 (init_sys_modes): Don't call EMACS_GET_TTY unless we are going
4249 to change the settings.
4251 * xfns.c (Fx_close_current_connection): Call check_x_display_info.
4252 Delete the display from x_display_list and x_display_name_list.
4253 (Fx_display_list): New function.
4254 (syms_of_xfns): defsubr it.
4256 * xterm.c (x_display_name_list): New variable.
4257 (syms_of_xterm): staticpro it.
4258 Don't staticpro slots in the_x_screen.
4259 (x_term_init): Update x_display_name_list along with x_display_list.
4260 Actually malloc the x_display_info.
4261 (the_x_screen): Variable deleted.
4263 * xfns.c (Fx_list_fonts): Use `name_list_element' field.
4264 (x_display_info_for_name): Scan x_display_name_list
4265 along with x_display_list.
4267 * xterm.h (struct x_display_info): Replace elements `name'
4268 and `face_list_cache' with one cons cell `name_list_element'.
4269 (x_display_name_list): Variable declared.
4271 1994-10-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4273 * insdel.c (insert_from_buffer, insert_from_buffer_1): New functions.
4274 * editfns.c (Finsert_buffer_substring): Use insert_from_buffer
4277 1994-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4279 * xmenu.c (xmenu_show): Get the screen number for DisplayHeight
4280 and DisplayWidth. Use root_window slot in the x_display_info.
4282 * xfns.c (x_sync): Take frame ptr as arg.
4283 * frame.c (other_visible_frames): Pass a frame ptr to x_sync.
4284 * xterm.c (x_make_frame_visible, x_make_frame_invisible):
4285 Pass a frame ptr to x_sync.
4287 1994-10-21 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4289 * insdel.c (insert_before_markers): Don't inherit;
4290 insert_before_markers_and_inherit does that.
4292 1994-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4294 * dispnew.c (Fframe_or_buffer_changed_p):
4295 Detect deletion of a buffer at the end of the buffer list.
4297 * xterm.c (x_term_init): Init all the components of dpyinfo.
4299 * sysdep.c (input_fd): No longer static.
4300 * keyboard.c (read_avail_input): Use input_fd.
4302 1994-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4304 * xfns.c (check_x_display_info): New function.
4305 (Fx_create_frame): Use it.
4306 (Fx_display_*, Fx_server_*): Use fields in the x_display_info,
4307 not static variables. Call check_x_display_info.
4309 1994-10-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
4311 * window.c (Fdisplay_buffer): Make old_selected_window a Lisp_Object.
4313 1994-10-20 Tom Tromey <tromey@drip.colorado.edu>
4315 * buffer.c (list_buffers_1): Always mark current_buffer read-only.
4317 1994-10-20 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
4319 * m/dpx2.h (LD_SWITCH_MACHINE): Defined.
4321 1994-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4323 * term.c (calculate_costs): Call x_screen_planes.
4324 * xfns.c (x_screen_planes): New function.
4326 * xterm.h (EMACS_CLASS): Macro moved here.
4327 * xfns.c (EMACS_CLASS): Macro moved to xterm.h.
4329 * xfns.c (Qdisplay): New variable.
4330 (syms_of_xfns): Set it up.
4331 (Fx_create_frame): Handle display parameter
4332 which says where to get the FRAME_X_DISPLAY_INFO.
4333 (x_display_info_for_name): New function.
4335 * xterm.c (x_display_info_for_display): New function.
4337 * xselect.c (Xatom_*): Variables deleted.
4338 Use slots in x_display_info structure instead.
4339 (symbol_to_x_atom, x_atom_to_symbol):
4340 New arg dpyinfo. All callers changed.
4341 (xatoms_of_xselect): Function deleted.
4343 * xfns.c (select_visual): New arg dpy.
4345 * xterm.h (struct x_display_info): New fields *_mod_mask.
4346 * xterm.c (x_*_mod_mask): Variables deleted.
4347 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
4348 New arg dpyinfo; all callers changed.
4349 Store the masks in that structure.
4351 * xterm.h (struct x_display_info): New field icon_bitmap_id.
4352 * xterm.c (icon_bitmap): Variable deleted.
4353 (x_bitmap_icon): Use icon_bitmap_id in x_display_info.
4355 * xterm.c (icon_font_info): Variable deleted.
4357 * xterm.h (struct x_display_info): New field `connection'.
4358 * xterm.c (x_term_init): Set up `connection' field.
4360 * xterm.h (x_display_list): New variable.
4361 * xterm.c (x_find_modifier_meanings):
4362 Arg is now struct x_display_info *.
4363 (x_term_init): Return an x_display_info *.
4364 Store all the data in it, including X atoms and xrdb.
4365 Put the x_display_info structure on x_display_list.
4366 Pass name as Lisp_Object.
4367 (the_x_screen): Variable moved here.
4368 (syms_of_xterm): Staticpro parts of the_x_screen.
4369 * xfns.c (Fx_open_connection): Get dpyinfo from x_term_init.
4370 Don't set up atoms, xrdb here. Pass name as Lisp_Object.
4371 (the_x_screen): Variable moved to xterm.c.
4372 (syms_of_xfns): Don't staticpro it here.
4374 * xterm.h (struct x_display_info): New field xrdb.
4375 * xfns.c (xrdb): Variable deleted.
4376 (Fx_get_resource): Use selected_frame's xrdb.
4377 (x_get_resource_string): Likewise.
4379 * xterm.h (XExposeRegionEvent): Unused macro deleted.
4380 (XGetWindowInfo, XGetFont, XLoseFont): Unused macros deleted.
4381 (MINWIDTH, MINHEIGHT, MAXWIDTH, MAXHEIGHT): Unused macros deleted.
4382 (MAX_FACES_AND_GLYPHS, Bitmap): Unused macros deleted.
4383 (struct event_queue): Structure deleted (was unused).
4384 (EVENT_BUFFER_SIZE): Macro deleted.
4386 * xterm.h (XClear): Macro deleted. Callers use XClearWindow.
4387 (XWarpMousePointer): Macro deleted. Callers use XWarpPointer.
4388 (XStuffPending): Macro deleted. Callers use XPending.
4389 (XHandleError, XHandleIOError): Macros deleted.
4390 Callers use XSet...ErrorHandler.
4391 (XChangeWindowSize): Macro deleted. Callers use XResizeWindow.
4392 (Color): Macro deleted; replaced with XColor.
4393 (FONT_TYPE): Macro deleted; replaced with XFontStruct.
4394 (PIX_TYPE): Macro deleted; replaced with unsigned long.
4396 * xterm.h (FRAME_X_SCREEN): New macro.
4397 (WHITE_PIX_DEFAULT, BLACK_PIX_DEFAULT): Take arg f.
4398 * xfaces.c (unload_color): Pass arg f to WHITE_PIX_DEFAULT
4399 and BLACK_PIX_DEFAULT.
4401 * xterm.c (windowinfo): Variable deleted.
4403 * xterm.h (ROOT_WINDOW): Macro deleted.
4404 (struct x_display_info): New field root_window.
4407 * xterm.h (XDISPLAY): Macro deleted.
4408 (XFlushQueue): Macro deleted. All callers changed.
4409 (DISPLAY_SCREEN_ARG): Macro deleted.
4410 (DISPLAY_CELLS): Macro deleted.
4411 (WINDOWINFO_TYPE): Macro deleted.
4413 * xterm.h (struct x_display_info): New fields Xatom...
4414 * xterm.c (Xatom_*): Variables deleted.
4415 (x_iconify_frame, XTread_socket): Get atoms from the x_display_info,
4417 * xfns.c (Fx_open_connection): Store the atoms in x_display_info.
4418 (hack_wm_protocols): New arg f. Get atoms from x_display_info.
4419 (x_window): Get atoms from x_display_info.
4421 * xfns.c (Vmouse_depressed, mouse_buffer_offset): Variables deleted.
4422 (syms_of_xfns): Delete Lisp variables too.
4423 (Fx_synchronize): Take frame as arg.
4424 (Fx_close_current_connection): Take frame as arg. Error is not fatal.
4425 * xterm.c (XTread_socket): Don't update Vmouse_depressed.
4427 * xterm.h (struct x_display_info): New field grabbed.
4428 * xterm.c (x_mouse_grabbed): Variable deleted.
4429 (note_mouse_highlight): Use grabbed field instead.
4430 (XTmouse_position, XTread_socket): Likewise.
4431 * xmenu.c (xdialog_show, xmenu_show):
4432 Use grabbed field instead of x_mouse_grabbed.
4434 * xfns.c (mouse_timestamp): Variable deleted.
4436 * xterm.h (struct x_display_info): Struct renamed from x_screen.
4437 (x_display): x_screen field renamed to display_info.
4438 (FRAME_X_DISPLAY): Use new name.
4439 (FRAME_X_DISPLAY_INFO): Likewise; also renamed from FRAME_X_SCREEN.
4441 * xterm.h (struct x_display_info):
4442 New fields height, width, screen, visual, n_planes.
4443 * xfns.c (screen_visual, x_screen_planes): Variables deleted.
4444 (x_screen, x_screen_height, x_screen_width): Variables deleted.
4445 (Fx_open_connection): Don't set them here.
4446 Put that info in the x_display_info structure.
4447 (x_window): Get the visual from x_display_info structure.
4448 (x_decode_color): Use n_planes from x_display_info structure.
4449 * xterm.c (x_calc_absolute_position, x_wm_set_size_hint):
4450 Get screen height, width from the x_display_info structure.
4451 * xmenu.c (xmenu_show): Use the screen in FRAME_X_DISPLAY_INFO,
4452 not the default screen.
4454 * xterm.c: Use FRAME_X_DISPLAY instead of x_current_display
4457 * xfns.c: Use FRAME_X_DISPLAY instead of x_current_display
4459 (x_in_use): New variable.
4460 (check_x, using_x_p): Test x_in_use.
4461 (Fx_open_connection): Set x_in_use.
4462 (check_x_frame): New function.
4463 (defined_color): New arg f specifies frame. Callers changed.
4464 (x_decode_color): New arg f. All callers changed.
4465 (Fx_color_values, Fx_color_defined_p): New arg FRAME.
4467 (Fx_list_fonts): Use check_x_frame.
4469 * keyboard.c (do_mouse_tracking): Now a FRAME_PTR.
4470 (EVENT_QUEUES_EMPTY, Ftrack_mouse, tracking_off): Changed accordingly.
4471 (kbd_buffer_get_event): Let do_mouse_tracking specify the display
4474 * minibuf.c (read_minibuf): Undo previous change.
4476 1994-10-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4478 * window.c (Fdisplay_buffer): If the other window is smaller
4479 than its peer, even out their heights.
4481 * xterm.c (x_catch_errors, x_check_errors, d_errors_p)
4482 (x_uncatch_errors): Take frame as arg.
4483 (x_stop_queuing_selection_requests, x_unqueue_events, x_queue_event)
4484 (x_start_queuing_selection_requests): Take frame as arg.
4485 (x_find_modifier_meanings): New arg `display'. All callers changed.
4486 (x_scroll_bar_create, x_scroll_bar_set_handle)
4487 (x_scroll_bar_move): New local var f.
4488 (x_scroll_bar_report_motion): Rename arg f to fp.
4490 (XTmouse_position): Lossage.
4491 (frame_highlight, frame_unhighlight): Arg frame renamed to f.
4493 * callproc.c (child_setup): Always use _exit.
4495 * xselect.c (x_own_selection, x_get_foreign_selection): Pass frame
4496 to x_catch_errors, x_check_errors, x_uncatch_errors.
4498 * xfns.c (x_set_mouse_color): Pass frame to x_catch_errors,
4499 x_check_errors, x_uncatch_errors.
4501 * xselect.c (x_get_foreign_selection): Get display from
4502 selected_frame. Pass frame to x_stop_queuing_selection_requests and
4503 x_start_queuing_selection_requests.
4504 (x_own_selection, Fx_disown_selection_internal, Fx_selection_exists_p)
4505 (Fx_store_cut_buffer_internal, Fx_get_cut_buffer_internal)
4506 (Fx_rotate_cut_buffers_internal): Get display from selected_frame.
4508 * xmenu.c: Use FRAME_X_DISPLAY, not XDISPLAY or x_current_display.
4509 (menu_item_equiv_key): Reject equiv sequences
4510 that start with mouse clicks.
4512 1994-10-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4514 * search.c (searchbufs): New variable, replaces searchbuf and
4515 last_regexp and search_fastmap.
4516 (syms_of_search): Initialize it.
4517 (searchbuf_head): New variable.
4518 (compile_pattern_1): Renamed from compile_pattern and made static.
4519 Copy the regexp string in case the caller modifies it in place later.
4520 (compile_pattern): New code, uses a cached entry if one is available.
4521 The pattern buffer is now a return value instead of an arg.
4522 (set_search_regs): Set num_regs directly, since there's no active
4523 pattern buffer to pass to re_set_registers.
4524 (Fstore_match_data): Likewise.
4525 (Flooking_at): Use the new calling convention for compile_pattern.
4526 (Fstring_match, fast_string_match, search_buffer): Likewise.
4527 * dired.c (Fdirectory_files): Likewise.
4529 1994-10-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4531 * keyboard.c (Voverriding_local_map_menu_flag): New variable.
4532 (syms_of_keyboard): Set up Lisp var.
4533 (menu_bar_items): Obey Voverriding_local_map_menu_flag.
4535 * ralloc.c (struct heap): New fields first_bloc, last_bloc.
4536 (struct bp): New field heap.
4537 (get_bloc, free_bloc, obtain, r_alloc_sbrk): Update new fields.
4538 (reorder_bloc): New function.
4539 (update_heap_bloc_correspondence):
4540 Renamed from update_heap_free_pointers. Update new fields.
4541 (relinquish): Add error check for new fields.
4543 * Makefile.in.in (SOME_MACHINE_OBJECTS): Add msdos.o and x*.o files.
4545 1994-10-17 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
4547 * minibuf.c (read_minibuf): Store the object, not the string, into
4548 the history variable.
4550 * xfns.c (x_set_unsplittable): New function.
4551 (x_frame_parms): Add that function to the table.
4553 * xterm.c (do_line_dance): Decrement index only once per loop.
4555 * scroll.c (do_line_insertion_deletion_costs): Fix argument order.
4557 1994-10-17 Morten Welinder <terra@mole.gnu.ai.mit.edu>
4559 * fileio.c (Fexpand_file_name) [MSDOS]: Correct the for absolute
4562 * config.h.in [HAVE_X_WINDOWS]: #define HAVE_FACES and HAVE_MOUSE.
4564 * dispextern.h: Guard entire file from being include more than once.
4565 [MSDOS]: Include msdos.h.
4567 * dispnew.c (direct_output_for_insert): Check HAVE_FACES, not
4569 (selected_frame, last_minibuffer_frame): Doc fix.
4571 * dosfns.c (Fset_mouse_position, Fmsdos_mouse_p) [!HAVE_X_WINDOWS]:
4573 (syms_of_dosfns) [!HAVE_X_WINDOWS]: Defsubr them. Also define
4574 Qmsdos_color_translate.
4575 (init_dosfns) [SYSTEM_MALLOC]: Don't call non-existing get_lim_data.
4577 * dosfns.h (Qmsdos_color_translate) [!HAVE_X_WINDOWS]: New variable.
4579 * editfns.c (init_editfns) [MSDOS]: Let the user name default to
4582 * emacs.c (main) [MSDOS && !HAVE_X_WINDOWS]: Call syms_of_xfaces
4585 * frame.c [MSDOS]: Include msdos.h.
4586 (Fframep #1) [MSDOS]: Doc change for the following.
4587 (Fframep #2) [MSDOS]: Return 'pc for when termcap is not used.
4588 (Fmouse_position #2) [HAVE_MOUSE]: Return useful information.
4589 (Fframe_parameters #2): Show "font" as "default".
4590 (Fframe_parameters #2) [MSDOS]: Show fore- and background colors.
4591 (Fmodify_frame_parameters #2) [MSDOS]: Call IT_set_frame_parameters.
4592 (Fframe_list #2): New stub function.
4593 (syms_of_frame #2): defsubr frame_list.
4594 (syms_of_frame #2) [MSDOS]: Initialize the_only_frame.
4595 (Fselected_frame #2): Doc fix.
4597 * frame.h [!MULTI_FRAME]: We give up having selected_frame be
4598 an always-zero integer variable. From now on it will be a
4599 pointer to a `struct frame' just like in the MULTI_FRAME case.
4600 (selected_frame, last_nonminibuf_frame): use FRAME_PTR, not EMACS_INT.
4601 (XFRAME): Redefine to use the_only_frame.
4602 (XSETFRAME): Define to set Lisp value.
4603 (WINDOW_FRAME): Redefine to return Lisp value.
4604 (FOR_EACH_FRAME): Set the frame variable to Lisp value.
4605 (output_method): New method: output_msdos_raw.
4606 (FRAME_TERMCAP_P, FRAME_X_P) [MSDOS]: Define non-stub versions.
4608 * keyboard.c (read_char_x_menu_prompt): Include menu code also in
4610 (gobble_input): Complete Sep 15 change.
4612 * lisp.h: #define glyph-stuff when HAVE_FACES, not only when
4614 (FRAMEP): Define different versions for MULTI_FRAME and MSDOS.
4615 Otherwise, don't define at all.
4617 * Makefile.in.in (MSDOS_SUPPORT): Add faces.elc.
4618 (msdos.o, dosfns.o): Add dependencies.
4619 (MSDOS_OBJ): New set of object files.
4620 (obj): Include MSDOS_OBJ.
4622 * msdos.c: #include dispextern.h, termopt.h, and window.h needed
4624 (highlight): New variable.
4625 (rien_du_tout, IT_ring_bell, IT_set_face, IT_write_glyphs,
4626 IT_clear_end_of_line, IT_cursor_to, IT_reassert_line_highlight,
4627 IT_change_line_highlight, IT_update_begin, IT_set_menu_bar_lines,
4628 IT_set_frame_parameters): New functions like their XT_* counterparts.
4629 (internal_terminal_init): Initialize Vwindow_system,
4630 Vwindow_system_version, the_only_x_display, and terminal hooks.
4631 (mouse_get_xy): New function.
4632 (mouse_get_pos, mouse_check_moved): Use mouse_get_xy.
4633 (IT_menu_create, IT_menu_make_room, IT_menu_search_pane,
4634 IT_menu_calc_size, IT_menu_display, XMenuCreate, XMenuAddPane,
4635 XMenuAddSelection, XMenuLocate, XMenuActivate, XMenuDestroy,
4636 x_pixel_width, x_pixel_height): New functions.
4637 (init_environment) [HAVE_X_WINDOWS]: Let DISPLAY default to "unix:0.0".
4638 (init_environment): Handle the case of a relative argv[0].
4639 (dos_rawgetc): Use XSETFRAME.
4640 (the_only_x_display, x_current_display) [!HAVE_X_WINDOWS]: New
4643 * msdos.h (XFontStruct, GC, Pixmap, Display, Window) [MSDOS_NO_X]:
4645 (struct face, FACE_HAS_GC, FACE_GC, FACE_FOREGROUND, FACE_BACKGROUND,
4646 FACE_FONT, FACE_STIPPLE, FACE_UNDERLINE_P) [MSDOS_NO_X]: Define like
4647 corresponding X-versions.
4648 (struct x_display) [MSDOS_NO_X]: Define cut-down version.
4649 (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE,
4650 FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES,
4651 FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES, FRAME_DEFAULT_FACE,
4652 FRAME_MODE_LINE_FACE, x_current_display, XFreeGC, same_size_fonts,
4653 unload_font, unload_color, XGetGeometry, DisplayWidth,
4654 DisplayHeight, XMenuSetAEQ, XMenuSetFreeze, XMenuRecompute,
4655 FONT_WIDTH, check_x, ButtonReleased) [MSDOS_NO_X]: Define suitable
4657 (XM_FAILURE, XM_SUCCESS, XM_NO_SELECT, XM_IA_SELECT) [MSDOS_NO_X]:
4658 Define like old-x-menu versions.
4659 Guard the entire file from being included more than once.
4660 (internal_flush): Correct guarding conditional.
4661 Don't include <time.h>.
4663 * puresize.h (SYSTEM_PURESIZE_EXTRA): Default to 0.
4664 (BASE_PRESIZE): Increase by SYSTEM_PURESIZE_EXTRA.
4666 * s/msdos.h: #define HAVE_FACES.
4667 (LIBX11_SYSTEM, HAVE_X11R5) [HAVE_X_WINDOWS]: Define.
4668 (PURESIZE): Don't define.
4669 (SYSTEM_PURESIZE_EXTRA): Define.
4671 * sysdep.c (init_sys_modes): Make sure that internal_terminal_init
4672 is only called once.
4673 (init_sys_modes, reset_sys_modes) [HAVE_X_WINDOWS]: Add conditional.
4674 (reset_sys_modes) [MSDOS]: Change to MSDOG's default colors.
4675 (kbd_input_ast): Use just XSETFRAME.
4677 * window.c (init_window_once) [!MULTI_FRAME]: Set selected_frame and
4678 last_nonminibuf_frame once and for all.
4680 * xdisp.c (redisplay, copy_part_of_rope, fix_glyph,
4681 display_text_line, display_mode_line): Check HAVE_FACES, not
4684 * xfaces.c: Guard the file by HAVE_FACES, not HAVE_X_WINDOWS.
4685 [MSDOS]: Include dosfns.h needed for the following.
4686 [!HAVE_X_WINDOWS]: Don't #include xterm.h or Xos.h.
4687 [!HAVE_X_WINDOWS] (intern_face, clear_face_cache, load_font,
4688 load_color, unload_color, Fpixmap_spec_p, load_pixmap,
4689 same_size_fonts, frame_update_line_height): Don't define.
4690 [!HAVE_X_WINDOWS] (intern_face, clear_face_cache, build_face): Define
4692 (load_color) [MSDOS && !HAVE_X_WINDOWS]: Special version.
4693 (Fset_face_attribute_internal) [MSDOS && !HAVE_X_WINDOWS]: Stubify
4694 font setting, mask away 0x08 (the blink bit) from background color.
4695 (syms_of_xfaces) [!HAVE_X_WINDOWS]: Don't defsubr Spixmap_spec_p.
4696 (Fmake_face_internal): Use FOR_EACH_FRAME.
4697 (init_frame_faces): Guard multi-frame stuff with MULTI_FRAME.
4699 * xmenu.c [!HAVE_X_WINDOWS]: Don't #include xterm.h.
4700 [!HAVE_X_MENU]: Don't #include XMenu.h.
4701 (xmenu_show, xdialog_show) [!HAVE_X_WINDOWS]: We don't need the
4702 button hack for msdos.
4703 (xmenu_show) [!HAVE_X_WINDOWS]: Don't adjust coordinates with
4704 respect to the (non-existing) outer window manager.
4706 * xterm.c (x_term_init) [!subprocesses]: Don't set input descriptor.
4709 1994-10-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4711 * xfaces.c (intern_face): Update mask properly to set stipple
4712 and fill_style. Set everything all at once in XCreateGC.
4714 * window.c (Fdisplay_buffer): In desperation case of looking for
4715 something to split, verify that a window's frame is splittable.
4717 1994-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4719 * Makefile.in.in (xfns.o): Depend on paths.h.
4721 * xfns.c: Include paths.h.
4723 1994-10-16 Morten Welinder <terra@mole.gnu.ai.mit.edu>
4725 * editfns.c (Fuser_login_name): Optional argument uid decides
4726 which user's login name to return.
4728 1994-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4730 * xterm.c (dumpglyphs): Explicitly draw background stipple.
4732 * xfaces.c (intern_face): Set the fill_style.
4734 * paths.h.in (PATH_BITMAPS): New macro.
4736 * xterm.c (x_bitmap_icon): Arg FILE is now a Lisp_Object.
4737 (x_iconify_frame, x_make_frame_visible): Supply FILE arg to it.
4738 * xfns.c (x_set_icon_type): Pass x_bitmap_icon 2nd arg as Lisp_Object.
4739 (x_icon_type): Return a Lisp_Object.
4741 * xfns.c (x_destroy_bitmap, x_reference_bitmap): Take frame as arg.
4743 (struct x_bitmap_record): New fields height, width, depth.
4744 (x_create_bitmap_from_data): Fill in those fields.
4745 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap): New functions.
4746 (x_create_bitmap_from_file): Arg FILE is now a Lisp_Object.
4747 Search Vbitmap_file_path for it. Fill in new fields.
4748 (syms_of_xfns): Set up Vbitmap_file_path.
4750 * xterm.c (x_bitmap_icon): Properly discard the previous bitmap.
4751 (x_text_icon): Discard bitmap only if we have one.
4753 * xfaces.c (copy_face, merge_faces): Copy the pixmap_h and pixmap_w.
4754 (intern_face): Store the stipple in the GC.
4755 (unload_color): Really do free the color.
4756 (free_frame_faces): Call unload_pixmap.
4757 (Fset_face_attribute_internal): Handle background pixmap.
4758 Destroy old pixmap when necessary.
4759 (free_frame_faces): Destroy pixmaps.
4760 (load_pixmap): New function.
4761 (Fpixmap_spec_p): New function.
4762 (syms_of_xfaces): Set up Lisp function pixmap-spec-p.
4763 Set up Qpixmap_spec_p.
4765 * dispextern.h (struct face): Delete cached_index field.
4766 * xfaces.c (compute_base_face): Don't set cached_index field.
4768 * ralloc.c (heap_base): Move static var to top level.
4769 (struct heap): New slot `free'.
4770 (obtain): Set `free' for new heap.
4771 (get_bloc): Update `free'.
4772 (find_heap): New function.
4773 (update_heap_free_pointers): New function.
4774 (resize_bloc, r_alloc_sbrk): Call update_heap_free_pointers.
4776 1994-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4778 * lread.c (load_unwind): Cast argument of fclose.
4780 * xmenu.c: Delete HAVE_X11 conditionals.
4782 * xfaces.c (compute_base_face): Use FRAME_FOREGROUND_PIXEL,
4783 FRAME_BACKGROUND_PIXEL, FRAME_FONT.
4785 * xterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
4786 (FRAME_FONT): New macros.
4788 1994-10-15 Tom Tromey <tromey@drip.colorado.edu>
4790 * xterm.c (x_bitmap_icon): Allow bitmap to come from file.
4791 (x_wm_set_icon_pixmap): Second arg is now pixmap_id;
4792 call x_lookup_pixmap.
4793 (x_text_icon): Call x_destroy_bitmap.
4795 * xfns.c (x_set_icon_type): If icon-type is a string, then use
4796 bitmap from that file.
4797 (Fx_create_frame): Set icon_bitmap field to -1.
4798 (struct x_bitmap_record): New structure type.
4799 (x_bitmaps, x_bitmaps_size, x_bitmaps_last, x_bitmaps_free):
4801 (x_allocate_bitmap_record): New function.
4802 (x_reference_bitmap, x_create_bitmap, x_create_bitmap_from_file)
4803 (x_destroy_bitmap, x_lookup_pixmap): New functions.
4805 * xterm.h (x_display): Changed icon_bitmap_flag to icon_bitmap.
4808 1994-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4810 * textprop.c (Fset_text_properties): Special case for getting
4811 rid of all properties of a string.
4813 1994-10-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4815 * xterm.c (stuffline, scraplines): Functions deleted.
4816 (line_dance, line_dance_len, line_dance_in_progress): New vars.
4817 (XTins_del_lines): Don't do any X calls; just update the array.
4818 (do_line_dance): New function. Do the X calls here.
4819 (XTupdate_end, XTwrite_glyphs): Call do_line_dance.
4821 1994-10-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4823 * s/isc4-0.h (LIBS_SYSTEM): Add -lcposix.
4824 (sigblock, SIG_BLOCK): Define if not defined.
4826 * sysdep.c (read_input_waiting): Set e.frame_or_window w/ XSETFRAME.
4828 * xterm.c (x_new_font): Don't keep looping after the FONT property.
4830 1994-10-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4832 * term.c (term_get_fkeys_1): Workaround for IBM's dialect of terminfo.
4834 1994-10-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4836 * xfns.c (Fx_create_frame): Init the FRAME_X_SCREEN
4837 as soon as can be done.
4839 * xdisp.c (redisplay): Call clear_face_cache instead
4840 of clear_face_vector. Do it at most once per 1000 redisplays.
4842 * xfaces.c: Eliminate the "display faces"; store GCs in the
4844 (face_vector, nfaces, nfaces_allocated): Vars deleted.
4845 (free_frame_faces): Free GCs in the computed faces.
4846 Free the computed faces themselves.
4847 (clear_face_cache): Renamed from clear_face_vector
4848 and completely rewritten to free GCs in the computed faces.
4849 (get_cached_face): Function deleted.
4850 (build_face): Function deleted; code moved into intern_face.
4851 (intern_face): Don't treat default and modeline faces specially.
4852 (recompute_basic_faces): Call intern_face, not build_face.
4854 * xfaces.c (intern_face, clear_face_vector, load_font, unload_font)
4855 (load_color, free_frame_faces, recompute_basic_faces):
4856 Use FRAME_X_DISPLAY.
4858 * m/mips-siemens.h (C_ALLOCA): Defined.
4859 (HAVE_ALLOCA): Definition deleted.
4861 * editfns.c (Fuser_login_name, Fuser_real_login_name):
4862 Call init_editfns now if it was not done before.
4864 * puresize.h (BASE_PURESIZE): Incremented.
4866 * lisp.h (Funhandled_file_name_directory): Declared.
4868 1994-10-10 Rainer Schoepf (Schoepf@Uni-Mainz.de)
4870 * unexalpha.c (Brk): Declare as unsigned long.
4871 (unexec): Do CHECH_SCNHDR on _RCONST if that's defined.
4872 Ignore rdata_section if there is none.
4873 (update_dynamic_symbols): New arg new_name. Call changed.
4874 Fix some calls to WRITE.
4875 (fatal_unexec): Declare all arguments.
4877 1994-10-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4879 * unexelf.c: Include config.h.
4881 * s/freebsd.h (LD_SWITCH_SYSTEM): New definition.
4883 1994-10-11 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4885 * lisp.h (enum Lisp_Misc_Type): Add new enumerations
4886 Lisp_Misc_Intfwd, Lisp_Misc_Boolfwd, Lisp_Misc_Objfwd,
4887 Lisp_Misc_Buffer_Objfwd.
4888 (enum Lisp_Type): Delete the corresponding enumerations from here.
4889 (struct Lisp_Buffer_Objfwd): New structure.
4890 (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd): Ditto.
4891 (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD): Access the new structure.
4892 (INTFWDP, BOOLFWDP, OBJFWDP, BUFFER_OBJFWDP): Ditto.
4893 (XSETINTFWD, XSETBOOLFWD, XSETOBJFWD, XSETBUFFER_OBJFWD): Deleted.
4894 (union Lisp_Misc): Add new members.
4895 (allocate_misc): Declare this function.
4897 * alloc.c (mark_object): Use the new substructure.
4898 * buffer.c (buffer_slot_type_mismatch): Take just the offset as
4899 argument. Only check against types that are actually used.
4900 * bytecode.c (Fbyte_code): Skip optimization for all Lisp_Misc types.
4901 * data.c (do_symval_forwarding, store_symval_forwarding,
4902 find_symbol_value, Fset, default_value, Fset_default,
4903 Fkill_local_variable): Use the new substructure.
4904 (store_symval_forwarding): Change args to buffer_slot_type_mismatch.
4905 * lread.c (defvar_int, defvar_bool, defvar_lisp,
4906 defvar_lisp_nopro, defvar_per_buffer): Use the new substructure.
4908 * minibuf.c (test_completion): Fix reversed condition.
4910 * ralloc.c: Install Hiroshi Nakano's rewrite to allow multiple
4911 heaps, for implementations where the C library makes calls to
4914 1994-10-11 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
4916 * search.c (scan_buffer): After temporarily turning immediate_quit
4917 off, turn it back on by setting it to allow_quit, never 1.
4919 * search.c (find_before_next_newline): Declare the arguments'
4920 types explicitly; don't let them default to int.
4922 * xdisp.c (display_scan_buffer): Pass the correct number of
4923 arguments to scan_buffer.
4925 1994-10-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4927 * keyboard.c (read_key_sequence): The output of function-key-map
4928 goes to key-translation-map, but not vice versa.
4929 Don't exit if either of them is a possibility.
4931 1994-10-11 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
4933 * lisp.h (Lisp_Misc): new type code, replacing Lisp_Marker (and
4934 soon to replace other type codes as well).
4935 (XMARKER, SETMARKER, MARKERP): Check/set the new type field.
4936 (XMISC, SETMISC, MISCP): New accessor macros for the superset type.
4937 (struct Lisp_Free): New structure.
4938 (Lisp_Misc_Free): Type code for that structure.
4939 * buffer.h (OVERLAY_POSITION): Marker assert now tests substructure.
4940 * alloc.c (MARKER_BLOCK_SIZE, marker_block, marker_free_list):
4941 Now refers to the superset type, not just markers.
4942 (allocate_misc): New function, extracted from Fmake_marker.
4943 (Fpurecopy): Check the substructure.
4944 (clear_marks, mark_object, gc_sweep): Likewise.
4945 * buffer.c (buffer_slot_type_mismatch): Test against Lisp_Misc.
4946 * fns.c (internal_equal): Check the substructure.
4947 * print.c (print): Check the substructure.
4949 1994-10-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
4951 * sysdep.c (sys_subshell): Use NILP macro directly, not its
4952 expansion. Previous code was leftover from when NULL was a bad
4955 1994-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4957 * fileio.c (Finsert_file_contents): Use original unexpanded
4958 FILENAME arg to set buffer-file-name.
4960 * buffer.c (list_buffers_1): Fix indentation in header lines.
4962 * xdisp.c (redisplay_window): Fix Oct 1 change:
4963 don't call cancel_my_columns unless we will call try_window.
4965 1994-10-10 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
4967 * buffer.c (syms_of_buffer): Doc fix for cache-long-line-scans.
4969 1994-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
4971 * syntax.c (scan_sexps_forward): At startincomment,
4972 do notice a 2-char comment ender that straddles FROM.
4974 1994-10-09 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
4976 Cache the results of some scans, to improve performance in buffers
4977 containing very long lines.
4978 * region-cache.c, region-cache.h: New files.
4979 * Makefile.in.in (obj) Add region-cache.o to the list of files.
4980 (region-cache.o): New target.
4981 (buffer.o, indent.o, search.o): Depend on region-cache.h.
4982 * buffer.h (struct buffer): New members: newline_cache,
4983 width_run_cache, width_table, and cache_long_line_scans.
4984 * buffer.c: #include region-cache.h.
4985 (Fget_buffer_create): Initialize new members of struct buffer.
4986 (Fkill_buffer): Free memory occupied by caches.
4987 (init_buffer_once): Set default value for cache_long_line_scans in
4988 buffer_defaults, and give it a bit in buffer_local_flags.
4989 (syms_of_buffer): Add DEFVAR_PER_BUFFER for cache_long_line_scans.
4990 * insdel.c (prepare_to_modify_buffer): Invalidate width run and
4991 newline caches, if they exist.
4992 * search.c: #include "region-cache.h".
4993 (max, min): Make these functions, not macros; we'd like to pass
4994 them arguments that would be bad to evaluate more than once.
4995 (newline_cache_on_off): New function.
4996 (scan_buffer): New argument END. Call newline_cache_on_off. If
4997 this buffer's newline cache is enabled, consult it to see if we
4998 need to scan a region for newlines, and store information in the
4999 cache after doing so.
5000 (find_next_newline): Pass new arg to scan_buffer.
5001 (find_before_next_newline): New function.
5002 * cmds.c (Fforward_line): Call scan_buffer with new args.
5003 (Fend_of_line): Replace call to Fforward_line and search loop with
5004 call to find_before_next_newline.
5005 * syntax.c (find_defun_start): Call scan_buffer with new args.
5006 * indent.c: #include "region-cache.h".
5007 (character_width, disptab_matches_widthtab, recompute_width_table,
5008 width_run_cache_on_off): New functions.
5009 (compute_motion): Call width_run_cache_on_off. If this buffer's
5010 width run cache is enabled, consult it to see if we need to
5011 traverse a region character-by-character; store information in the
5012 cache after doing so. Call find_before_next_newline instead of
5013 writing out an equivalent loop explicitly, to take advantage of
5016 * xdisp.c (redisplay_window): Invalidate width_run_cache, if the
5017 buffer's display table doesn't match the width table the cache was
5019 (display_text_line): Use compute_motion to skip forward to the
5020 left edge of the window when the window is hscrolled; this is
5021 faster than rendering all the characters into the bit bucket when
5022 the hscroll is large.
5024 (display_count_lines): Call scan_buffer with new args.
5025 * disptab.h (window_display_table): Doc fix.
5026 (buffer_display_table): New declaration.
5027 * indent.h (disptab_matches_widthtab, recompute_width_table): New
5030 1994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5032 * keyboard.c (inhibit_local_menu_bar_menus): New variable.
5033 (read_char_x_menu_prompt): Optionally don't use local maps.
5034 (syms_of_keyboard): Set up Lisp variable.
5036 1994-10-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
5038 * lisp.h (enum Lisp_Misc_Type): New type.
5039 (struct Lisp_Marker): Add a member of that type. Delete unused
5042 1994-10-07 Morten Welinder <terra@frigg.diku.dk>
5044 * minibuf.c (test_completion): New function, extracted from
5046 (do_completion): Use test_completion.
5047 (Fminibuffer_complete_and_exit): If completion is already
5048 exact, don't try to complete it.
5050 * dired.c (file_name_completion): Ignore files "." and ".."
5052 (Ffile_name_completion): Perform the completion even if the
5055 1994-10-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5057 * insdel.c (make_gap): Keep input blocked till after we set BEG_ADDR.
5059 * fileio.c (check_writable, check_executable): Test HAVE_EACCESS.
5061 * config.h.in (HAVE_EACCESS): Add #undef.
5063 1994-10-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
5065 * alloc.c (mark_object): Don't check for Lisp_Void; nothing ever
5067 * bytecode.c (Fbyte_code): Likewise.
5068 * data.c (Fboundp, Ffboundp, find_symbol_value, Fset,
5069 Fdefault_boundp, Fdefault_value): Likewise.
5070 * lisp.h (Lisp_Void, VOIDP): Deleted.
5072 * floatfns.c (Fabs): Don't use XFASTINT when negative.
5073 * data.c (Flsh, Fadd1, Fsub1, Flognot): Likewise.
5075 * buffer.c (init_buffer_once): Don't use XSETFASTINT when negative.
5076 (reset_buffer_local_variables, Fbuffer_local_variables): Access
5077 buffer_local_flags as Lisp_Object, not int.
5078 * data.c (Fset, default_value, Fset_default,
5079 Fkill_local_variable): Likewise.
5080 * lread.c (defvar_per_buffer): Likewise.
5081 Give XSETBUFFER_OBJFWD an integer offset, not a pointer.
5083 * lread.c (read1): New argument for returning out-of-band data,
5084 obviating the need for Lisp_Internal datatype.
5085 (read0, read1, read_list): Use that new calling sequence.
5086 * lisp.h (Lisp_Internal, XSETINTERNAL, INTERNALP): Deleted.
5088 * lread.c (Fload, load_unwind): Store stream pointer as a cons of
5089 two integers, obviating the need for Lisp_Internal_Stream datatype.
5090 * lisp.h (Lisp_Internal_Stream, XSETINTERNAL_STREAM,
5091 INTERNAL_STREAMP): Deleted.
5092 * alloc.c (mark_object): Delete case Lisp_Internal_Stream.
5094 1994-10-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5096 * unexec.c (make_hdr): Undo June 16 change.
5098 * fileio.c (Ffile_regular_p): New function.
5099 (syms_of_fileio): defsubr it.
5101 * xterm.c (x_term_init): Call XtSetLanguageProc or XSetLocaleModifiers.
5103 1994-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5105 * xfns.c (x_set_icon_type): Remove period from error message.
5107 * xterm.c (x_make_frame_visible, x_iconify_frame):
5108 Call x_bitmap_icon if frame wants a bitmap icon.
5110 * xfns.c (x_icon_type): New function.
5112 * callint.c (Finteractive): Doc fix.
5114 1994-10-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
5116 * buffer.c (validate_region): Swap using temp Lisp_Object, not int.
5118 * lisp.h (XSETINT): Set object type as well as value.
5119 (XSETCONS, XSETBUFFER, XSETVECTOR, XSETSUBR, XSETSTRING,
5120 XSETSYMBOL, XSETMARKER, XSETOBJFWD, XSETWINDOW, XSETPROCESS,
5121 XSETFLOAT): Likewise.
5122 (XSETBOOLFWD, XSETBUFFER_OBJFWD, XSETWINDOW_CONFIGURATION,
5123 XSETINTERNAL_STREAM, XSETINTFWD, XSETINTERNAL): New macros.
5124 (XSETUINT, XSETPNTR, XFUNCTION, XSETFUNCTION, XSETINTPTR): Deleted.
5126 * frame.h (XSETFRAME): Set object type as well as value.
5127 * m/alpha.h, m/gec63.h, m/hp800.h, m/iris4d.h, m/iris5d.h, m/mips.h:
5128 Don't override the (new) definition of XSETINT from lisp.h.
5129 Delete XSETUINT and XSETPNTR, which are no longer used.
5130 * *.c: Use new accessor macros instead of calling XSET directly.
5131 * xterm.h (SCROLL_BAR_UNPACK): Likewise.
5132 * fns.c (Fstring_equal): No longer necessary to set type separately.
5133 (Fstring_lessp): Likewise.
5134 * callint.c (Fprefix_numeric_value): Likewise.
5135 * fileio.c (Finsert_file_contents): Likewise.
5137 * lisp.h (XSETFASTINT): New macro.
5138 (XFASTINT): Changed to non-lvalue syntax, to ensure that callers
5139 will use XSETFASTINT instead.
5140 (CHECK_NUMBER_COERCE_MARKER): Don't use XFASTINT as an lvalue.
5141 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Likewise.
5143 * frame.h (FOR_EACH_FRAME): Likewise.
5145 1994-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5147 * Makefile.in.in (MKTIME_OBJ): New variable.
5148 (obj): Use MKTIME_OBJ.
5150 * config.h.in (HAVE_MKTIME): Add #undef.
5152 * xmenu.c (widget_id_tick): Move definition into conditional.
5153 (syms_of_xmenu): Conditionalize initialization of widget_id_tick.
5155 * xmenu.c (last_menu_bar_item_end): Var deleted.
5156 (this_menu_bar_item_beg, this_menu_bar_item_end): Vars deleted.
5157 (other_menu_bar_item_p, unread_menu_bar_button)
5158 (check_mouse_other_menu_bar): Functions deleted.
5159 (last_event_timestamp, Vdouble_click_time, Vmouse_depressed):
5161 (xmenu_show): XMENU_FOO conditional and its contents deleted.
5163 * xterm.c (input_signal_count): New variable.
5164 (XTread_socket): Increment it.
5165 (x_make_frame_visible): Exit final loop when XTread_sockets has run.
5167 1994-10-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
5169 * window.c (Frecenter): Don't trigger point-motion hooks.
5171 * fileio.c (Finsert_file_contents): set type of `end', not just
5174 * xfns.c (x_figure_window_size): Use new formula for scroll bar width.
5176 * config.h.in (HAVE_UTIME_H): Add #undef.
5177 * systime.h: Don't include <utime.h> here.
5178 * sysdep.c: Include it here instead.
5179 (set_file_times): Move struct declaration to top of file.
5181 1994-10-02 Paul Reilly <pmr@churchy.gnu.ai.mit.edu>
5183 * xmenu.c (popup_get_selection): Remove BLOCK_INPUT, UNBLOCK_INPUT
5184 since the calls to popup_get_selection provide the protection.
5186 1994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
5188 * xfns.c (HACK_EDITRES): Declare if using X11R5.
5189 (widget_id_tick): New variable.
5190 (x_any_window_to_frame): Use lw_window_is_in_menubar for
5191 widget set independence.
5192 (x_window): Renamed screen_widget to frame_widget. Use
5193 lw_create_widget and lw_set_main_areas for widget set
5194 independence. Enable using editres for X11R5.
5196 * widget.c (EmacsFrameSetCharSize): Use lw_refigure_widget for
5197 widget set independence.
5199 * widget.h: Declare resources showGrip, allowResize, and
5202 * keyboard.c (make_lispy_event): Do not set item. Now handled in
5203 xmenu.c by popup_get_selection.
5205 1994-10-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5207 * frame.c (keys_of_frame): Make binding for delete-frame.
5209 * xdisp.c (redisplay_window): If we set PT, and that alters a region
5210 being highlighted, call try_window again.
5212 * Makefile.in.in (LIBXTR6): If NEED_LIBW, add -lw.
5213 * s/usg5-4-2.h (NEED_LIBW): Defined.
5215 * Makefile.in.in (LDFLAGS): New variable.
5216 (LIBX): Use LDFLAGS.
5218 1994-09-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5220 * data.c (Fmake_local_variable): Doc fix.
5222 1994-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5224 * fileio.c (check_writable, check_executable) [__HURD__]:
5227 * xfaces.c (compute_char_face): Handle list as overlay face property.
5229 1994-09-29 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5231 * minibuf.c (scmp): Use unsigned chars, to avoid confusing DOWNCASE.
5233 * unexaix.c (CHECK_SCNHDR, write_segment): Fix format/arg mismatch.
5234 * xfns.c (x_report_frame_params): Likewise.
5236 1994-09-29 Boris Goldowsky <boris@cs.rochester.edu>
5238 * xfaces.c (compute_char_face): If face text-property is a list,
5239 merge the attributes of the faces in the list.
5241 1994-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5243 * buffer.c (Foverlay_get): Handle `category' property on overlay.
5245 * xfaces.c (Fset_face_attribute_internal): Mark frame garbaged whenever
5246 any face's font or color is changed.
5248 * keyboard.c (head_table): Set up Qdelete_frame.
5249 (kbd_buffer_get_event): Handle delete_window_event by making
5250 a delete-frame event.
5252 1994-09-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5254 * data.c (Flocal_variable_p): New function.
5255 (syms_of_data): defsubr it.
5257 1994-09-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
5259 * fileio.c (Fdelete_file): Undo Sep 16 change.
5260 * dired.c (syms_of_dired): Likewise.
5262 1994-09-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
5264 * frame.h (scroll_bar_pixel_width, scroll_bar_cols): Update comment.
5265 * xfns.c (x_set_scroll_bar_width): Nil now means 2 columns' worth.
5266 (Fx_create_frame): Default scroll bar width is now nil.
5267 * xterm.c (x_new_font): New rule for computing column width.
5268 Factored out common code.
5269 (XTset_vertical_scroll_bar): Use new width formula.
5270 [!USE_X_TOOLKIT] (x_set_window_size): Likewise.
5271 * widget.c (set_frame_size, EmacsFrameSetCharSize): Likewise.
5273 * lisp.h (BOOLFWDP, INTERNALP, INTFWDP, OBJFWDP, INTERNAL_STREAMP,
5274 BUFFER_LOCAL_VALUEP, SOME_BUFFER_LOCAL_VALUEP, BUFFER_OBJFWDP,
5275 VOIDP): New type test macros.
5276 * *.h, *.c: Use type test macros instead of checking XTYPE directly.
5278 1994-09-26 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
5280 * window.c (syms_of_window): Doc fix.
5282 1994-09-26 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
5284 * m/dpx2.h (POSIX_SIGNALS): Define it.
5285 (sigsetmask): Add #undef.
5287 1994-09-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5289 * m/*.h, s/*.h (WORDS_BIG_ENDIAN): Renamed from BIG_ENDIAN,
5290 and restored where mistakenly deleted by earlier change.
5292 * emacs.c (argmatch): New function.
5293 (main): Recognize --longopt synonyms for all options handled here.
5294 Add --help and --version.
5296 1994-09-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5298 * unexsunos4.c: Delete __FreeBSD__ conditional macro definitions.
5299 (unexec): Major changes in UNDO_RELOCATION code.
5301 * unexsunos4.c (is_it): Rename argument and local variable.
5303 1994-09-25 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
5305 * Makefile.in.in (${etc}DOC): Run make-docfile twice--two batches.
5307 1994-09-24 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
5309 * sysdep.c (set_file_times): Don't test HAVE_UTIME.
5310 Assume utime exists if utimes does not.
5312 * config.h.in (HAVE_UTIMES): Add #undef.
5314 * editfns.c (Fformat_time_string): Mostly rewritten, to handle
5315 unlimited size, and report errors properly.
5317 * Makefile.in.in (strftime.o, mktime.o): New target.
5318 (obj): Add strftime.o and mktime.o.
5320 * strftime.c, mktime.c: New files (shared from libc).
5322 1994-09-24 Erik Naggum (erik@naggum.no)
5324 * editfns.c (Fformat_time_string): New function.
5325 (syms_of_editfns): Defsubr it.
5327 1994-09-24 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
5329 * sysdep.c [USE_DL_STUBS] (dlopen, dlsym, dlclose): New functions.
5330 * s/sunos4-1.h (USE_DL_STUBS): Defined.
5331 * s/sunos4shr.h (USE_DL_STUBS): Add #undef.
5333 * fileio.c (Ffile_writable_p): Use stat to test for existence.
5334 (check_executable, check_writable): New functions.
5335 (Ffile_executable_p, Ffile_writable_p): Use the new functions.
5337 * intervals.c (set_point):
5338 If Vinhibit_point_motion_hooks, ignore intangible properties.
5339 If move backwards into intangible text, move back over it.
5341 * textprop.c (syms_of_textprop): Doc fix.
5343 * config.h.in (STACK_DIRECTION): Don't redefine if defined already.
5344 Move definition down past #include's.
5346 1994-09-23 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
5348 * s/linux.h: Don't include signal.h, values.h.
5349 (signal): Definition deleted.
5351 * abbrev.c (Fexpand_abbrev): Instead of Fcapitalize_region,
5352 just upcase the first initial.
5354 * casefiddle.c (Fupcase_initials_region): New function.
5355 (Fupcase_initials): New function.
5356 (syms_of_casefiddle): defsubr them.
5358 * minibuf.c (read_minibuf_unwind): Preserve Vdeactivate_mark.
5360 * s/isc2-2.h (DONT_DEFINE_SIGNAL): Macro deleted.
5362 * m/next.h (DK_HEADER_FILE): Macro deleted.
5364 * m/tahoe.h (DKSTAT_HEADER_FILE): Macro deleted.
5366 * m/hp800.h (CPTIME_SYMBOL, DKXFER_SYMBOL): Macros deleted.
5368 * sysdep.c (start_of_text): Don't test CANNOT_UNEXEC.
5369 * unexec.c: Don't test CANNOT_UNEXEC.
5370 * unexaix.c: Don't test CANNOT_DUMP or CANNOT_UNEXEC.
5372 * sysdep.c: Delete BROKEN_FASYNC conditional.
5374 * data.c (Fset_default, Fset): Delete RTPC_REGISTER_BUG conditionals.
5376 * process.c (Fprocess_send_eof): Delete DID_REMOTE conditional.
5378 * buffer.c (get-file-buffer): Doc fix.
5380 1994-09-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5382 * frame.c (prev_frame): Fix typo.
5384 * unexec.c (copy_text_and_data): Delete some printf's.
5386 * m/acorn.h (PURESIZE): Definition deleted.
5388 * xfns.c (x_figure_window_size): Decode (- N), (+ N) for position.
5389 (x_set_frame_parameters): Handle (+ N) and (- N).
5390 Preserve negative positions properly too.
5391 [USE_X_TOOLKIT] (x_window): Let xneg, yneg specify whether to
5392 negate left and top.
5393 (Fx_parse_geometry): Handle [XY]Negative with positive number
5394 or negative number without [XY]Negative.
5396 * callint.c (Qplus): New variable.
5397 (syms_of_callint): Set it up.
5398 * lisp.h (Qplus): Declared.
5400 * xfns.c (Fx_create_frame): Rename menuBarLines resource to menuBar.
5402 * s/sunos4-1-3.h, s/sunos4shr.h (X_IO_BUG): Definition deleted.
5404 * textprop.c (Fset_text_properties): Don't let validate_interval_range
5405 increment START and END twice.
5407 * xterm.h (FRAME_X_DISPLAY): New macro.
5409 * s/freebsd.h (BSD): Have two definitions according to version number.
5411 1994-09-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5413 * xterm.c (x_destroy_window): Decrement ref count of x_screen struct.
5415 * xfns.c (the_x_screen): New variable.
5416 (syms_of_xfns): Staticpro parts of it.
5417 (Fx_open_connection): Initialize it.
5418 (Fx_create_frame): Make frame point to it.
5419 (Fx_list_fonts): Use a cache stored in FRAME_X_SCREEN.
5421 * xterm.h (struct x_screen): New structure.
5422 (struct x_display): New field x_screen.
5423 (FRAME_X_SCREEN): New macro.
5425 * process.c (exec_sentinel_error_handler): Call update_echo_area.
5426 (read_process_output_error_handler): Likewise.
5428 * xdisp.c (update_echo_area): New function.
5430 1994-09-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5432 * buffer.c (evaporate_overlays): Overlay is in car, not cdr.
5434 1994-09-21 Tom Tromey <tromey@creche.colorado.edu>
5436 * doc.c (get_doc_string): Look in ../etc while dumping.
5437 (munge_doc_file_name): New subroutine.
5439 1994-09-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5441 * minibuf.c (Fcompleting_read): Doc fix.
5443 * puresize.h (BASE_PURESIZE): Increment both values.
5445 * window.c (Fdelete_other_windows): Nice error if WINDOW is minibuf.
5447 * lisp.h (Vdebug_on_error): Declared.
5449 * process.c (exec_sentinel_error_handler): New function.
5450 (exec_sentinel): Catch all errors in the sentinel.
5452 * keyboard.c (read_char): Don't return right away when
5453 read_char_minibuf_menu_prompt returns non-nil.
5454 Instead, set key_already_recorded, which inhibits most but not all
5455 of the work at non_reread.
5457 1994-09-21 Simon Leinen <simon@lia.di.epfl.ch>
5459 * cm.h (cmputc): Return int rather than void.
5460 * cm.c (evalcost, cmputc): They now return their arguments.
5462 1994-09-21 Per Abrahamsen <abraham@iesd.auc.dk>
5464 * window.c (display-buffer, special-display-buffer-names)
5465 (special-display-regexps, special-display-function): Accept cons
5466 cells in `special-display-buffer-names' and
5467 `special-display-regexps'. If the buffer name matches the car,
5468 call `special-display-function' with the cdr as a second argument.
5470 1994-09-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5472 * s/bsd386.h (HAVE_TERMIOS, NO_TERMIO): Defined.
5474 * editfns.c (Fmessage_or_box): Use Fmessage_box with new name.
5476 * process.c (read_process_output_error_handler): New function.
5477 (read_process_output_call): New function.
5478 (read_process_output): Catch and report errors in filters.
5480 * keyboard.c (cmd_error_internal):
5481 New function, broken out of cmd_error.
5483 * fileio.c (Fread_file_name): If DEFAULT is nil and INITIAL is not,
5484 use INITIAL to set DEFAULT.
5486 * editfns.c (Fmessage_box): Renamed from Fbox_message.
5488 1994-09-17 Michael Ben-Gershon (mybg@cs.huji.ac.il)
5490 * unexec.c (copy_text_and_data): Add RISCiX changes.
5492 * m/acorn.h, s/riscix1-1.h, s/riscix1-2.h: New files added.
5494 1994-09-21 Bill Burton (billb@progress.com)
5496 * s/ptx.h: New file for Sequent DYNIX/ptx 1.x/2.x
5498 * m/sequent-ptx.h: New file for Sequent DYNIX/ptx 1.x/2.x
5500 1994-09-21 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
5502 * editfns.c (Fbox_message): New function to print a message in
5504 (Fmessage_or_box): New function that choose whether to print a
5505 message in a dialog or in the echo area.
5507 1994-09-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5509 * search.c (Freplace_match): New 4th arg OBJECT can specify string
5512 * casefiddle.c (upcase_initials): New function.
5513 (casify_object): Handle CASE_CAPITALIZE_UP.
5515 * fns.c (concat3): New function.
5517 * xfns.c (Fx_get_resource): Doc fix.
5519 * buffer.c (overlays_at): New arg PREV_PTR.
5520 Return previous overlay end.
5521 (Foverlays_at): Pass NULL for last 2 args of overlays_at.
5522 (Fnext_overlay_change): Pass new arg to overlays_at.
5523 (Fprevious_overlay_change): New function.
5524 * xterm.c (note_mouse_highlight): Pass new arg to overlays_at.
5525 * xfaces.c (compute_char_face): Pass new arg to overlays_at.
5526 * textprop.c (Fget_char_property): Pass new arg to overlays_at.
5527 (NULL): Define if not defined.
5529 * minibuf.c (get_minibuffer): Make BUF current to kill its local vars.
5531 1994-09-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5533 * ralloc.c (r_alloc_freeze_level): New variable.
5534 (r_alloc_freeze, r_alloc_thaw): New functions.
5535 (r_alloc_sbrk): Refuse to move blocs, if frozen.
5537 * unexaix.c (report_error): Include reason in error message.
5539 1994-09-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5541 * eval.c (init_eval_once): Init Vrun_hooks here.
5542 (syms_of_eval): Not here.
5544 1994-09-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5546 * search.c (trivial_regexp_p): New function.
5547 (search_buffer): Don't depend on internal format of re_pattern_buffer.
5549 * frame.h (FRAME_SCROLL_BAR_PIXEL_WIDTH): New macro, supersedes
5550 VERTICAL_SCROLL_BAR_PIXEL_WIDTH; no longer device-dependent.
5551 All callers changed.
5552 (FRAME_SCROLL_BAR_COLS): New macro, supersedes
5553 VERTICAL_SCROLL_BAR_WIDTH; no longer constant. All callers changed.
5554 (scroll_bar_pixel_width, scroll_bar_cols): New members of struct frame.
5555 * xterm.h (VERTICAL_SCROLL_BAR_PIXEL_WIDTH): Deleted.
5556 * xfns.c (x_set_scroll_bar_width): New function.
5557 (x_frame_parms): Add that function to this table.
5558 (Qscroll_bar_width): New symbol.
5559 (syms_of_xfns): Initialize and staticpro it.
5560 (Fx_create_frame): Set default scroll bar width.
5561 * xterm.c (x_new_font): Compute number of scrollbar columns.
5563 * keyboard.c (kbd_store_ptr): Declare storage class before qualifier.
5564 (make_lispy_event): Fix Lisp_Object vs. int problems.
5565 (read_avail_input, menu_bar_items_index, read_key_sequence): Likewise.
5566 * window.c (Fset_window_buffer): Likewise.
5567 * alloc.c (make_float, make_pure_float): Likewise.
5569 * sysdep.c (set_file_times): Move this out of the USG conditional.
5571 1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5573 * s/sco4.h (POSIX_SIGNALS): Defined.
5575 1994-09-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5577 * buffer.c (syms_of_buffer): Doc fix.
5579 * keymap.c (Fkey_description): Reverse condition.
5581 1994-09-19 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
5583 Add a new element to display tables controlling side-by-side
5585 * buffer.c (syms_of_buffer): Update doc string for
5586 `buffer-display-table'.
5587 * disptab.h (DISP_TABLE_SIZE): Bump to 262.
5588 (DISP_BORDER_GLYPH): New accessor macro.
5589 * xdisp.c (display_text_line): Consult the display table when
5590 building side-by-side window borders.
5592 1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5594 * s/netbsd.h (SYSTEM_TYPE): Delete definition.
5596 * lisp.h (RETURN_UNGCPRO): Use if (1) .. else, not do ... while (0).
5598 1994-09-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5600 * lisp.h (Fmember): Declare this function.
5601 * intervals.c: #include "keyboard.h"
5602 * term.c: Declare Fmake_sparse_keymap.
5603 * minibuf.c (read_minibuf): Fix Lisp_Object vs. int problems.
5604 * frame.h [!MULTI_FRAME] (FOR_EACH_FRAME): Likewise.
5605 * fns.c (Frandom): Likewise.
5606 * eval.c (Fsignal): Likewise.
5607 * frame.c (Fframe_parameters): Likewise.
5608 * indent.c (vmotion, Fvertical_motion): Likewise.
5609 * lread.c (openp): Likewise.
5610 * dispnew.c (direct_output_for_insert, direct_output_forward_char):
5612 * textprop.c (validate_interval_range, property_value,
5613 Fget_char_property, Fnext_property_change,
5614 Fnext_single_property_change, Fprevious_property_change,
5615 Fprevious_single_property_change): Likewise.
5617 1994-09-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5619 * process.c (pty_name): Move it up; make it static.
5620 (create_process): Set the tty_name field.
5621 (Fprocess_tty_name): New function.
5622 (syms_of_process): defsubr it.
5624 * process.h (struct process): New field tty_name.
5626 * s/sol2.h (HAVE_VFORK): Defined.
5627 (C_SWITCH_SYSTEM): Deleted.
5628 (const): Definition deleted.
5630 * fileio.c (Ffile_writable_p): Don't use ro_fsys.
5633 1994-09-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5635 * config.h.in (_ALL_SOURCE): Don't redefine if already defined.
5637 * xdisp.c [!HAVE_X_WINDOWS] (store_frame_title): Dummy macro.
5639 * sysdep.c (set_file_times): New function, replaces EMACS_SET_UTIMES.
5640 * fileio.c (Fcopy_file): Use it, and check for the error return.
5641 * systime.h: Declare it.
5642 [HAVE_UTIME_H]: #include <utime.h>.
5644 * config.h.in (_ALL_SOURCE, HAVE_STRUCT_UTIMBUF, HAVE_SELECT,
5645 HAVE_TIMEVAL): Add #undefs.
5647 * s/*.h, m/*.h: Delete obsolete symbols USE_UTIME, MISSING_UTIMES,
5648 IRIS_UTIME, USG_SYS_TIME, HAVE_SELECT, HAVE_TIMEVAL, BIG_ENDIAN.
5650 1994-09-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5652 * dispnew.c (preserve_other_columns): Fix arg to sizeof in bcopy call.
5654 * minibuf.c (get_minibuffer): Call Fkill_all_local_variables.
5656 * buffer.c (reset_buffer): Don't call reset_buffer_local_variables.
5657 (Fget_buffer_create): Call it here.
5658 (init_buffer_once): And here.
5660 * window.c (struct saved_window_data): New slots min_width, min_height.
5661 (Fcurrent_window_configuration): Set slots from window_min_...
5662 (Fset_window_configuration): Restore them.
5663 Set window_min_height and window_min_width to 1
5664 while restoring windows.
5666 * unexsunos4.c (SUNOS4 or __FreeBSD__): Define UNDO_RELOCATION.
5667 (unexec): Test UNDO_RELOCATION. Distinguish the relocation formats
5668 of __FreeBSD__ and SUNOS4.
5670 * s/sol2.h (REL_ALLOC): #undef deleted.
5672 * keymap.c (Fkey_description): Give error if KEYS not an array.
5673 (get_keyelt, access_keymap, get_keymap_1): Use type test macros.
5675 1994-09-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5677 * unexsunos4.c (unexec): Fix logic for rounding section boundaries.
5679 * config.h.in (EMACS_CONFIG_OPTIONS): Add #undef.
5681 * textprop.c (property_value): Declare args plist, prop.
5683 * s/osf1.h (malloc, realloc): Declared.
5685 * print.c (print): sprintf arg for frame depends on VALBITS.
5687 * callproc.c (Fcall_process) [__osf__ && __alpha]:
5688 Don't stop reading if read returns negative.
5690 * puresize.h (PURESIZE_RATIO, BASE_PURESIZE): Defined.
5691 (PURESIZE): Define it based on those.
5692 * m/alpha.h (PURESIZE): Definitions deleted.
5694 1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu>
5696 * buffer.h: Declare some functions.
5697 * intervals.h: Declare some functions.
5698 * lisp.h: Declare some functions.
5699 * xterm.c, xfaces.c: Add #include "intervals.h"
5700 * fileio.c (barf_or_query_if_file_exists): Fix declaration.
5701 * xmenu.c (menu_item_enabled_p): Fix declaration.
5703 1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5705 * xfns.c (hack_wm_protocols): Arrange to handle WM_SAVE_YOURSELF.
5707 * s/hpux9.h (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change.
5709 1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu>
5711 * emacs.c (Vsystem_configuration_options): New variable.
5712 (syms_of_emacs): Initialize it.
5714 * buffer.h: Declare evaporate_overlays.
5715 * buffer.c: Declare new symbol Qevaporate.
5716 (syms_of_buffer): Initialize it.
5717 (Fmove_overlay): Check if overlay is empty.
5718 (Foverlay_put): Check if setting evaporate property on empty overlay.
5719 (evaporate_overlays): New function.
5720 * insdel.c (del_range_1): Call evaporate_overlays after deleting text.
5722 1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5724 * m/intel386.h (HAVE_VFORK): Defined.
5725 [__GNUC__] (C_SWITCH_SYSTEM): Add #undef.
5727 * emacs.c (shut_down_emacs): Don't call Fx_close_current_connection.
5729 * lisp.h (EMACS_INT, EMACS_UINT): Define, if not already defined.
5731 * alpha.h (EMACS_INT, EMACS_UINT): Defined.
5733 1994-09-16 Rainer Schoepf <schoepf@sc.ZIB-Berlin.DE>
5735 * s/osf1.h [__alpha] (LD_SWITCH_SYSTEM): Alternate definition.
5737 * unexalpha.c, m/alpha.h: New files.
5739 * alloc.c (pure, pure_size): Use EMACS_INT.
5740 (free_float, free_cons, PAD, STRING_FULLSIZE, struct string_block)
5741 (make_pure_string, make_pure_vector, Fgarbage_collect, mark_object)
5742 (gc_sweep, compact_strings, Fmemory_limit): Use EMACS_INT.
5744 * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables)
5745 (init_buffer_once): Use EMACS_INT.
5747 * callint.c (Fcall_interactively): Use EMACS_INT.
5749 * data.c (sign_extend_lisp_int): Use EMACS_INT.
5751 * dispextern.h (struct face): Use EMACS_UINT.
5753 * doc.c (Fdocumentation): Use EMACS_INT.
5755 * editfns.c (Fnarrow_to_region, format1): Use EMACS_INT.
5757 * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2): Use EMACS_INT.
5759 * frame.h (struct frame, selected_frame, last_nonminibuf_frame):
5762 * lisp.h (Lisp_Object): Use EMACS_INT.
5763 (MARKBIT): Don't define if already defined.
5764 (VALMASK, GCTYPEMASK, XSETTYPE, XSET)
5765 (XSETCONS, XSETBUFFER, XSETVECTOR, XSETSUBR, XSETSTRING)
5766 (XSETSYMBOL, XSETFUNCTION, XSETMARKER, XSETOBJFWD)
5767 (XSETINTPTR, XSETWINDOW, XSETPROCESS, XSETFLOAT)
5768 (struct Lisp_String, struct Lisp_Vector): Use EMACS_INT.
5770 * lread.c (Fload): Use EMACS_INT.
5772 * marker.c (unchain_marker): Use EMACS_INT.
5774 * mem-limits.h: Check for __alpha, in __osf__ conditional.
5775 (EXCEEDS_LISP_PTR): Use EMACS_UINT.
5777 * print.c (print): Use EMACS_UINT.
5779 * puresize.h (CHECK_IMPURE, all versions): Use EMACS_INT.
5781 * window.h (struct window): Use EMACS_INT.
5783 * xdisp.c (message): Use EMACS_INT.
5785 * xterm.h (struct scroll_bar, SCROLL_BAR_VEC_SIZE): Use EMACS_INT.
5787 1994-09-16 Morten Welinder <terra@diku.dk>
5789 * fileio.c (Finsert_file_contents) [MSDOS]: Don't re-gc-protect
5790 filename; delete unused variables.
5792 1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu>
5794 * term.c (clear_to_end): Fix reversed condition.
5796 1994-09-16 K. Berry <kb@cs.umb.edu>
5798 * dired.c (Qcompletion_ignored_extensions): New symbol.
5799 (syms_of_dired): Initialize it.
5800 * fileio.c (Fdelete_file): Bind completion-ignored-extensions to nil.
5802 1994-09-16 Morten Welinder (terra@diku.dk)
5804 * s/msdos.h (MODE_LINE_BINARY_TEXT): Define this symbol.
5805 * xdisp.c (decode_mode_spec): Use it when defined.
5807 1994-09-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5808 * minibuf.c (read_minibuf): Don't add to the history list if the
5809 minibuffer string is empty, since it is not very useful.
5811 1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5813 * m/hp9000s300.h [not BSD4_3] [__GNUC__] (HAVE_ALLOCA): Defined.
5815 1994-09-16 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5817 * xdisp.c [!HAVE_X_WINDOWS] (frame_title_ptr): define as always null.
5819 1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5821 * xterm.c: Delete X11 conditionals.
5822 (XTupdate_end, XTupdate_begin, XTclear_end_of_line)
5823 (XTclear_frame, XRINGBELL, stufflines, scraplines, dumprectangle)
5824 (XTread_socket, x_draw_box, clear_cursor, refreshicon, x_iconify_frame)
5825 (x_bitmap_icon, x_text_icon, x_new_font, x_term_init)
5826 (x_calc_absolute_position, x_set_window_size)
5827 (x_make_frame_visible, x_make_frame_invisible): Delete X10 code.
5828 (dumpqueue, x_do_pending_expose, dumpborder, XEvent, x_read_exposes)
5829 (enqueue_event, dequeue_event, queue_event_count)
5830 (mouse_event_pending_p, x_set_resize_hint): Delete X10 versions.
5832 * xfns.c: Delete X11 conditionals.
5833 (defined_color, x_decode_color, x_set_foreground_color)
5834 (x_set_background_color, x_set_mouse_color, x_set_cursor_color)
5835 (x_set_border_color, x_set_border_pixel, Fx_create_frame)
5836 (Fx_open_connection, Fx_close_current_connection, syms_of_xfns):
5838 (Fx_get_default, Fx_get_resource, Fx_rubber_band)
5839 (Fx_store_cut_buffer, Fx_get_cut_buffer): Delete X10 definitions.
5841 * xfns.c (Fx_display_grayscale_p): New function.
5842 (syms_of_xfns): defsubr it.
5844 * s/bsd386.h (__bsdi__): Define, unless already defined.
5845 (DECLARE_GETPWUID_WITH_UID_T): Define.
5847 * filelock.c (getpwuid): Test just DECLARE_GETPWUID_WITH_UID_T,
5849 * xrdb.c (getpwuid, getpwnam): Test just DECLARE_GETPWUID_WITH_UID_T,
5852 1994-09-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5854 * editfns.c (syms_of_editfns): Make Vsystem_name and Vuser...name
5855 lisp variables again.
5856 * xdisp.c (multiple_frames, Vframe_title_format,
5857 Vicon_title_format): New variables.
5858 (store_frame_title): New function.
5859 (x_consider_frame_title): Format title according to template.
5860 (display_mode_element): Handle frame title as well as mode line.
5861 (decode_mode_spec): Use w->buffer, not current_buffer.
5863 1994-09-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5865 * s/freebsd.h (DECLARE_GETPWUID_WITH_UID_T): Defined.
5866 [NO_SHARED_LIBS and __FreeBSD__]:
5867 (LD_SWITCH_SYSTEM, A_TEXT_OFFSET, A_TEXT_SEEK): Alternate definitions.
5869 * textprop.c (syms_of_textprop):
5870 Delete Lisp var interval-balance-threshold.
5872 * intervals.c, intervals.h (interval_balance_threshold): Var deleted.
5874 * xfns.c (Fx_create_frame): Make 1 the default for menu-bar-lines.
5876 * keyboard.c (gobble_input): Use sigblockx only if it is defined.
5878 * unexsunos4.c [SUNOS4]: Include link.h.
5879 (unexec) [SUNOS4]: Cancel relocations that ld.so did.
5881 * s/sunos4-0.h (SUNOS4): Defined.
5883 1994-09-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5885 * Makefile.in.in (xmenu.o): Depend on puresize.h.
5886 (cmds.o): Depend on window.h.
5888 * cmds.c: Include window.h.
5889 (Fnewline): Inhibit the insert-at-end-of-line hack
5890 when at the top of the window.
5892 * minibuf.c (Fcompleting_read): Doc fix.
5894 * xmenu.c: Include puresize.h.
5895 (menu_item_equiv_key): Use CHECK_IMPURE.
5897 * syntax.c (Fforward_comment): Do increment from, when reaching
5898 single-char comment end going forward.
5900 * callproc.c (delete_temp_file): Use Fdelete_file.
5902 * fileio.c (Fset_default_file_modes): Doc fix.
5904 * Makefile.in.in (OLDXMENU variable): Refer to the library in the
5905 dir where it is compiled.
5906 (OLDXMENU rule): Delete the commands; keep just a dep.
5908 1994-09-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5910 * Version 19.27 released.
5912 1994-09-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5914 * keymap.c (syms_of_keymap): Doc fix.
5916 * keyboard.c (gobble_input): Block SIGALRM if we are using it.
5918 * gmalloc.c: Bug fix affecting __ptrdiff_t in non-ANSI case.
5920 1994-09-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5922 * Version 19.26 released.
5924 1994-09-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5926 * keyboard.c (record_asynch_buffer_change): Don't test
5927 Fwaiting_for_user_input_p if no subprocesses.
5929 1994-09-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5931 * s/sol2.h [USE_X_TOOLKIT && HAVE_X11XTR6] (REL_ALLOC): Undefine it.
5933 1994-09-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5935 * emacs.c (init_cmdargs): After chasing link, use only the
5938 1994-09-04 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
5940 * fileio.c (Ffile_accessible_directory_p): Put back the gcpro.
5942 * sysdep.c (srandom): Pass arg to srand48; no return value.
5944 1994-09-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5946 * emacs.c (init_cmdargs): When setting dir, expand the dir name.
5948 * sysdep.c (random, srandom): Check HAVE_LRAND48, not HAVE_RAND48.
5949 Call lrand48, nor rand48.
5951 * config.h.in (HAVE_LRAND48): Replaces HAVE_RAND48.
5953 1994-09-03 Kaveh R. Ghazi (ghazi@noc.rutgers.edu)
5955 * m/delta88k.h [__GNUC__] (HAVE_ALLOCA): Defined.
5956 [__GNUC__] (C_ALLOCA): Add #undef.
5957 (LIB_X11_LIB): Add #undef.
5958 (HAVE_TERMIOS): Defined.
5959 (HAVE_TERMIO): Add #undef.
5960 (NO_TERMIO): Defined.
5961 (sigsetmask): Add #undef.
5962 (USE_GETOBAUD): Defined.
5964 1994-09-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5966 * sysdep.c (init_baud_rate): Test that getobaud is actually defined.
5968 * sysdep.c (init_baud_rate) [USE_GETOBAUD]: Use getobaud.
5970 1994-09-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5972 * insdel.c (prepare_to_modify_buffer): Don't call
5973 verify_overlay_modification if no overlays or
5974 verify_interval_modification no intervals.
5976 * textprop.c (Fset_text_properties):
5977 Return early if buffer has no intervals and PROPS is nil.
5979 1994-09-02 Lennart Staflin (lenst@rudolf)
5981 * xdisp.c (display_text_line): Don't overrun the charstart area.
5983 1994-09-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5985 * insdel.c (insert_1): Don't call interval fns if buffer has none.
5987 * textprop.c (Fset_text_properties): Don't create or split an interval
5988 if we trivially do not need to change anything.
5990 1994-08-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5992 * xfns.c (defined_color): New arg ALLOC--optionally don't allocate
5994 (x_decode_color, Fx_color_defined_p): Pass new arg.
5995 (Fx_color_values): New function.
5997 1994-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
5999 * frame.c (Fdelete_frame): Fix previous change.
6001 1994-08-30 enami tsugutomo <enami@sys.ptg.sony.co.jp>
6003 * fileio.c (Fwrite_region): unbind_to should take two args.
6005 1994-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6007 * fileio.c (Ffile_accessible_directory_p): No need for gcpro.
6009 * keyboard.c (input_polling_used): New function.
6010 * xterm.c (x_make_frame_visible): Call input_polling_used.
6012 1994-08-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6014 * frame.c (Fdelete_frame): Free the frame's glyphs arrays.
6015 Free the line insert/delete cost vectors.
6017 * dispnew.c (free_frame_glyphs): No longer static.
6019 * m/next.h (HAVE_MACH_MACH_H): Defined.
6021 * editfns.c (Finsert_and_inherit_before_markers):
6022 Use insert_before_markers_and_inherit for character args.
6023 (Finsert_and_inherit): Use insert_and_inherit for character args.
6025 * insdel.c (insert_before_markers_and_inherit): New function.
6027 * cmds.c (internal_self_insert): Use insert_and_inherit.
6029 1994-08-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6031 * indent.c (Findent_to): Pass new arg to Finsert_char.
6033 * editfns.c (Finsert_char): New arg INHERIT.
6034 Use insert_and_inherit if requested.
6036 * insdel.c (insert_1): New arg INHERIT.
6037 (insert_and_inherit): New function.
6039 1994-08-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6041 * keyboard.c (polling_for_input): Define var unconditionally.
6042 * keyboard.h (polling_for_input): Declared.
6043 * xterm.c: Include keyboard.h.
6044 (x_make_frame_visible): Fix previous change: test polling_for_input
6045 instead of whether SIGIO is defined.
6046 * Makefile.in.in (xterm.o): Depend on keyboard.h.
6048 1994-08-26 Kevin Rodgers <kevinr@ihs.com>
6050 * xfns.c (Fx_color_defined_p): Return list of RGB values, not just t.
6052 1994-08-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6054 * xterm.c (x_make_frame_visible): Call signal handler directly.
6056 1994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6058 * s/linux.h: Add LINUX_QMAGIC conditional.
6060 * m/alliant-2800.h (USE_NONANSI_DEFUN): Defined.
6062 * lisp.h (DEFUN): Check USE_NONANSI_DEFUN.
6064 * Makefile.in.in (obj): Put cm.o before term.o.
6065 (Avoids mysterious lossage on Irix.)
6067 * xmenu.c (xmenu_show): Don't queue events that are in the menu bar.
6069 1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6071 * xmenu.c (xmenu_show): Do nothing special for ButtonPress in the menu.
6072 Call XtDispatchEvent for all ButtonRelease events.
6073 xlwmenu.c now deals with posting the menu.
6074 Check for events in subwidgets of the menu
6075 when deciding whether to queue them for later handling.
6077 * unexelfsgi.c (unexec): Copy previous change in unexelf.c.
6079 * s/irix5-0.h [__GNUC__] (LD_SWITCH_SYSTEM): Defined.
6081 1994-08-24 Simon Leinen <simon@lia.di.epfl.ch>
6083 * term.c (term_init): Added missing argument to tgetstr.
6084 (tgetstr): Move declarations to top level.
6086 1994-08-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6088 * xterm.c (x_make_frame_visible): Raise a signal to cause the
6089 pending X I/O to be read.
6091 1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6093 * xdisp.c (display_scan_buffer): New function.
6094 (display_count_lines): Use that.
6096 * intervals.c (textget): Ignore category prop if not a symbol.
6098 1994-08-23 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
6100 * s/gnu.h: New file.
6102 1994-08-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6104 * indent.c (pos_tab_offset): Don't trigger point-motion hooks.
6106 * buffer.c (Frename_buffer): Fix gcpro problems.
6107 * fileio.c (Fmake_symbolic_link, Ffile_accessible_directory_p,
6108 Finsert_file_contents, auto_save_error, Fwrite_region): Likewise.
6109 (Fcopy_file, build_annotations, Fdo_auto_save): Delete unused
6112 1994-08-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6114 * fileio.c (O_RDONLY): Defined.
6115 (Finsert_file_contents, Fcopy_file): use it.
6116 (barf_or_query_if_file_exists, Ffile_exists_p): Use stat, not access.
6117 (Ffile_readable_p): Use open, not access.
6119 * lread.c (O_RDONLY): Defined.
6122 * unexelf.c (unexec): Don't alter the info field
6123 of SHT_SYMTAB and SHT_DYNSYM sections.
6125 * xdisp.c (redisplay_window): Don't access text before BEGV.
6127 * keyboard.c (read_char): After read_char_minibuf_menu_prompt,
6128 don't just return; jump to non_reread.
6130 * fileio.c (Fmake_directory_internal): Pass just 2 args to handler.
6132 1994-08-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6134 * frame.c (Fmake_frame_invisible, Ficonify_frame): Don't switch frames.
6136 1994-08-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6138 * search.c (Fstring_match): Fix sign error.
6140 * m/ibmrs6000.h (LD_SWITCH_MACHINE): Use full path to ibmrs6000.inp.
6142 1994-08-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6144 * m/ibmrs6000.h (LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input.
6146 * m/ibmrs6000.inp: New file.
6148 1994-08-19 Hiroshi NAKANO <nakano@whale.math.ryukoku.ac.jp>
6150 * unexelf.c: Eliminate local var bss_end.
6151 Update the symbol values of _edata and _end.
6153 1994-08-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6155 * process.c (wait_reading_process_input):
6156 Clear waiting_for_user_input_p before returning.
6158 * xterm.c (x_make_frame_visible): Quit if requested, in loop at end.
6160 1994-08-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6162 * keyboard.c (read_char): Don't show buffer-events to the user.
6163 Handle chars over 255 in dribble files.
6165 1994-08-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6167 * callproc.c (Fcall_process_region): gcpro filename_string.
6169 1994-08-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6171 * doc.c (store_function_docstring): Do nothing for bytecode object
6172 which has no slot for doc string.
6174 1994-08-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6176 * buffer.c (list_buffers_1): Update header line layout.
6178 1994-08-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6180 * s/sol2-4.h (pid_t): New definition.
6181 (vfork): Definition deleted.
6183 * xmenu.c (xmenu_show): Unconditionally update x_mouse_grabbed
6184 and Vmouse_depressed.
6186 * window.c (window_loop, case UNSHOW_BUFFER):
6187 When we delete a frame, skip all the windows on that frame.
6189 1994-08-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
6191 * s/isc4-0.h (NEED_SIOCTL): moved to isc-3.0.h.
6192 * s/isc3-0.h (NEED_SIOCTL): moved from isc-4.0.h, and disabled
6193 BROKEN_TIOCGWINSZ since it works fine when you use <sioctl.h>.
6194 (C_SWITCH_SYSTEM): Add -D_SYSV3 to ensure availability of
6195 traditional non-standard functions.
6196 (memmove): Delete this macro; it screws up <string.h> if you
6197 use the native cc. (Emacs already does the right thing anyway.)
6199 1994-08-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6201 * indent.c (compute_motion): Use WIN's frame, not selected one.
6203 * xterm.c (x_new_font): Don't set filename = full_name if that's null.
6205 1994-08-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6207 * Makefile.in.in (FRAME_SUPPORT): Add faces.elc.
6209 * search.c (Freplace_match): Treat caseless initial like a
6212 * keymap.c (Fdefine_key): Fix error message.
6213 (Fsingle_key_description): Likewise.
6215 1994-08-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6217 * s/sol2-3.h (POSIX_SIGNALS): Define it.
6218 (PTY_TTY_NAME_SPRINTF): New overriding definition.
6219 (sigsetmask): Add #undefs.
6221 * s/sol2-4.h (POSIX_SIGNALS, PTY_TTY_NAME_SPRINTF, sigsetmask):
6222 Delete those things (moved to sol2-3.h).
6224 * s/sol2-4.h (HAVE_VFORK): Deleted.
6225 (vfork): Define as emacs_vfork.
6227 * window.c (Fwindow_end): Undo previous change.
6229 1994-08-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6231 * keyboard.c (record_asynch_buffer_change): Do nothing
6232 except when waiting_for_user_input_p.
6234 * m/i860.h [USG5_4] (SVR4): Defined.
6236 * xdisp.c (display_text_line):
6237 Make previous change #ifdef HAVE_X_WINDOWS.
6239 1994-08-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6241 * puresize.h [MULTI_FRAME] (PURESIZE): Increased.
6243 * window.c (Fwindow_end): If window_end_valid is nil, return nil.
6245 * window.c (Fpos_visible_in_window_p): Do something reasonable
6246 if w->start is outside the buffer bounds.
6248 1994-08-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6250 * s/sol2-4.h (PTY_TTY_NAME_SPRINTF): New definition.
6251 (sigsetmask): Add #undef.
6253 * keymap.c (Faccessible_keymaps): Fix previous change.
6255 1994-08-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6257 * xdisp.c (display_text_line): Use the face properties
6258 of the overlay arrow, if any.
6260 * xfaces.c (compute_glyph_face_1): New function.
6262 * m/intel386.h (LIBS_MACHINE): If SOLARIS2_4, don't define this.
6263 * s/sol2-4.h (SOLARIS2_4): Defined.
6265 1994-08-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6267 * keymap.c (Fuse_global_map, Fuse_local_map):
6268 Call record_asynch_buffer_change.
6270 * xterm.c (XTread_socket):
6271 Don't test X_IO_BUG; make that code unconditional.
6272 (x_noop_count, x_term_init): Likewise.
6274 1994-08-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6276 * data.c (Fdefine_function, Fdefalias): Handle advice as in Ffset.
6277 (Qad_advice_info): Lisp and C names renamed from Qadvice_info.
6278 (Qad_activate): C name renamed from Qactivate_advice.
6280 * fileio.c (Fread_file_name_internal): Call double_dollars
6281 when `changed' is set.
6283 1994-08-03 Caveh Jalali (caveh@eng.sun.com)
6285 * m/intel386.h [SOLARIS2] (VALBITS, GCTYPEBITS): New definitions.
6287 * s/sol2-4.h: New file.
6289 1994-08-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6291 * buffer.c (list_buffers_1): Add one column to size column.
6293 * xterm.c (x_make_frame_visible): Start one_in_four at 1.
6295 * window.c (Fwindow_end): Doc fix.
6297 * xterm.c (construct_mouse_click, construct_menu_click):
6298 Don't update x_mouse_grabbed, Vmouse_depressed, last_mouse_frame here.
6299 (XTread_socket): Update them here, so we do it without fail.
6300 (XTmouse_position, XTread_socket case MotionNotify):
6301 Check last_mouse_frame is nonzero before using it.
6303 * Makefile.in.in (alloca.o): Use -f in all rm's.
6305 1994-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6307 * keymap.c (Faccessible_keymaps): Use PREFIX to set loop starting
6308 point; don't even consider maps except those reached via prefix.
6310 * keyboard.c (make_lispy_event): If the position is not in a window,
6311 at least pass along the frame it is in.
6313 1994-08-01 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
6315 * data.c (Ffset): Don't call Fget unless SYM's plist is consp.
6317 1994-08-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6319 * eval.c (Fprog2): Doc fix.
6321 * window.c (Fmove_to_window_line): Doc fix.
6323 1994-08-01 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
6325 * xmenu.c (xmenu_show): Ignore any geometry resource from the user.
6327 1994-07-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6329 * xfns.c (Fx_get_resource): Doc fix.
6331 * data.c (syms_of_data): Set up Qadvice_info, Qactivate_advice.
6332 (Ffset): Activate advice if symbol has advice-info property.
6334 * xdisp.c (redisplay_window): Avoid using SET_PT to change point
6337 * dispnew.c (sit_for): Undo previous change.
6339 1994-07-30 enami tsugutomo <enami@sys.ptg.sony.co.jp>
6341 * dispnew.c (direct_output_for_insert): Pass missing 8th
6342 argument to compute_char_face.
6344 1994-07-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6346 * keyboard.c (follow_key): Don't downcase letters here.
6347 Delete arg `case_converted'.
6348 (read_key_sequence): Do it here; but not if in middle of fcn key.
6350 * fns.c (Frandom): Handle LIMIT >= 40000000.
6352 * xdisp.c (decode_mode_spec): Handle %&.
6354 1994-07-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6356 * process.c (create_process): Set default handling for SIGINT, etc.
6358 1994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6360 * process.c (wait_reading_process_input): Fix previous change.
6362 * s/hpux9.h (HAVE_TERMIOS, NO_TERMIO): Defined.
6363 (HAVE_TERMIO): Add #undef.
6365 * sysdep.c (random): Use rand differently, and distinguish BSD/USG.
6367 * fns.c (Frandom): Fix previous change.
6369 1994-07-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6371 * syssignal.h [POSIX_SIGNALS] (signal): New definition.
6373 * config.h.in (HAVE_RAND48): Add #undef.
6375 1994-07-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6377 * xterm.c (x_queue_event, x_unqueue_events): New functions.
6378 (x_start_queuing_selection_requests): New function.
6379 (x_stop_queuing_selection_requests): New function.
6380 (XTread_socket): Queue up SelectionRequest events sometimes.
6381 * xselect.c (x_get_foreign_selection): Use the new feature
6382 to queue up SelectionRequest events.
6384 * process.c (wait_reading_process_input): If wait_for_cell,
6385 do check for keyboard input and handle it.
6387 * fns.c (Frandom): Use just the low 30 bits of random's value.
6389 * sysdep.c (random, srandom): Obey HAVE_RAND48 flag.
6390 Test that random is not a macro. Don't test USG or BSD4_1.
6392 * m/tek4300.h (tek4300): Don't define if already defined.
6394 1994-07-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6396 * m/tek4300.h (BSD_PGRPS): Defined.
6398 * puresize.h (PURESIZE): Increase non-MULTI_FRAME value.
6400 * editfns.c (get_system_name): Add a cast.
6402 * config.h.in: Add #undef HAVE_H_ERRNO.
6403 * process.c, sysdep.c [!HAVE_H_ERRNO]: Declare h_errno.
6404 * sysdep.c (init_system_name): Set h_errno to 0 initially.
6405 * process.c (Fopen_network_stream): Set h_errno to 0 initially.
6407 * window.c (Fdisplay_buffer): Add MULTI_FRAME cond in last change.
6409 * Makefile.in.in: Add #undef alloca.
6411 1994-07-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6413 * minibuf.c (Fdisplay_completion_list): gcpro `completions'.
6415 * print.c (internal_with_output_to_temp_buffer): gcpro things.
6417 * puresize.h (PURESIZE): Incremented to 252000.
6419 1994-07-23 Jim Blandy (jimb@totoro.bio.indiana.edu)
6421 * .gdbinit: Set the breakpoint in x_error_quitter instead of
6422 _XPrintDefaultError.
6424 1994-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6426 * window.c (Fnext_window, Fprevious_window): Don't get stuck in a loop
6427 in the minibuffer frame.
6429 * dispnew.c (direct_output_for_insert): Dpn't call compute_char_face
6432 * s/usg5-4.h: Move #undef static before the includes.
6434 * xrdb.c [USG5] (SYSV): Don't define if already defined.
6436 * fileio.c (Fwrite_region): Do unwind the new unwind protect.
6438 1994-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6440 * xterm.c (struct font_info): New field full_name.
6441 (x_new_font): Record, and return, the full name of the font.
6443 * widget.c (EmacsFrameSetCharSize): Delete the code to make rows at
6446 * fileio.c (Vwrite_region_annotations_so_far): New variable.
6447 (syms_of_fileio): Set up Lisp var.
6448 (build_annotations): Handle annotate functions that switch buffers.
6449 Set Vwrite_region_annotations_so_far.
6450 (Fwrite_region): Handle change of buffer in build_annotations.
6451 Add an unwind protect to restore original buffer and kill the temp.
6453 * sysdep.c (init_system_name): Retry gethostbyname after TRY_AGAIN
6456 * process.c (Fopen_network_stream):
6457 Retry gethostbyname after TRY_AGAIN failure.
6459 * s/isc4-0.h [__GNUC__] (LIBX11_SYSTEM): Add -lcposix.
6461 * s/usg5-4.h (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
6463 * sysdep.c (sys_subshell): Expand ~ in dir.
6464 Do the processing of dir before calling fork.
6467 1994-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6469 * xterm.c (note_mouse_movement): Use proper data type for window
6470 args to XQueryPointer.
6471 (x_scroll_bar_note_movement): Likewise.
6473 * keyboard.c (Vdeferred_action_list, Vdeferred_action_function):
6475 (command_loop_1): Handle them.
6476 (syms_of_keyboard): Set up Lisp variables.
6478 * s/linux.h [emacs]: Include stdio.h.
6480 * commands.h (unread_command_char): Declare.
6481 * dispnew.c (sit_for): Return immediately if unread events exist.
6483 1994-07-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6485 * textprop.c (Fget_text_property): Simplify using Ftext_properties_at.
6487 1994-07-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6489 * xfns.c (Fx_create_frame): Use 140 as default font size.
6491 * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Handle UnmapNotify events.
6493 1994-07-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6495 * window.c (Fdisplay_buffer): Cope with unsplittable frames
6496 and dedicated windows.
6498 * frame.c [!MULTI_FRAME] (Fframe_first_window): Defined.
6499 (syms_of_frame): Defvar it.
6501 1994-07-14 Morten Welinder (terra@diku.dk)
6503 * s/msdos.h (HAVE_VOLATILE): Define.
6505 1994-07-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6507 * keyboard.c (safe_run_hooks): Use local var to restore hook's value.
6509 1994-07-13 Morten Welinder (terra@diku.dk)
6511 * keyboard.c (kbd_buffer_get_event) [HAVE_MOUSE]: Include code
6512 to check for mouse dragging.
6513 (make_lispy_movement) [HAVE_MOUSE]: Define also in this case,
6514 but only include the non-multiframe stuff.
6516 * msdos.c (mouse_init1): Use alternate mouse detection for old
6518 (mouse_get_pos): Downscale coordinates by 8.
6520 1994-07-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6522 * window.c (Fselect_window): Fix bug checking new_point is in range.
6524 * fileio.c (syms_of_fileio): Finish previous change.
6526 * keyboard.c (command_loop_1): Do direct output for cursor motion
6527 over text chars when disp tab exists but says nothing for them.
6529 * frame.h (FRAME_EXTERNAL_MENU_BAR) [!USE_X_TOOLKIT]: Give zero.
6531 * xdisp.c [!HAVE_X_WINDOWS] (compute_char_face, compute_glyph_face):
6532 Add simple alternate definitions for non-X case.
6534 1994-07-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6536 * process.c (Qlast_nonmenu_event): New variable.
6537 (syms_of_process): Set it up.
6538 (read_process_output, exec_sentinel): Bind it to t around filter.
6540 * fileio.c (Fmake_directory_internal): Use Qmake_directory_internal.
6541 (syms_of_fileio): Set up Qmake_directory_internal, not Qmake_directory.
6543 * frame.c [MULTI_FRAME] (Fframe_parameters): For non-X frames,
6544 fill in menu-bar-lines value.
6546 1994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6548 * xmenu.c (xmenu_show): Don't call XtUngrabPointer here.
6550 * Makefile.in.in (ctagsfiles): Rewrite to avoid compiler bug.
6552 1994-07-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6554 * window.c (Fdisplay_buffer): Add MULTI_FRAME conditional
6557 1994-07-10 Morten Welinder (terra@diku.dk)
6559 * m/intel386.h [MSDOS] (NO_REMAP): Defined.
6560 * s/msdos.h (HAVE_MOUSE, PURESIZE): Definitions moved here.
6561 * m/dos386.h: File obsolete and deleted.
6563 * msdos.c (dos_rawgetc): Use bios, not kbhit.
6565 1994-07-09 Morten Welinder (terra@diku.dk)
6567 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory,
6568 file_name_as_directory, directory_file_name, Fexpand_file_name,
6569 Ffile_name_absolute_p, Fsubstitute_in_file_name) [MSDOS]:
6570 Allow backslashed file names.
6572 1994-07-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6574 * puresize.h (PURESIZE) [MULTI_FRAME]: Increased to 250000.
6576 * lread.c (readevalloop): Correctly unbind the unwind protect.
6578 1994-07-08 Morten Welinder (terra@diku.dk)
6580 * msdos.c (do_visible_bell): Clean-up using GNU assembly extension.
6582 1994-07-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6584 * m/sparc.h (BIG_ENDIAN): Don't redefine if defined.
6586 * Makefile.in.in (alloca.o): Delete allocatem.c first thing.
6588 * xmenu.c (xmenu_show) {USE_X_TOOLKIT}: ButtonPress no longer pops
6589 down; instead it forces the next ButtonRelease to exit. Don't
6590 dispatch on ButtonPress events.
6592 * xfns.c (syms_of_xfns): Provide x-toolkit in toolkit version.
6593 Undo previous change.
6594 (x_toolkit): Variable deleted.
6596 * xfns.c (x_toolkit): New variable.
6597 (syms_of_xfns): Set up Lisp var x-toolkit.
6599 * window.c (Fnext_window, Fprevious_window): ALL_FRAMES = 0 means
6600 try both visible frames and iconified frames.
6601 (window_loop): Likewise, for FRAMES = 0.
6602 (Fget_buffer_window): Likewise, for FRAME = 0.
6603 (Fdisplay_buffer): Pass 0 to Fget_buffer_window;
6604 if the frame is iconified, make it visible.
6606 * frame.c (next_frame, prev_frame):
6607 MINIBUF = 0 means try visible frames and iconified frames.
6609 1994-07-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6611 * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Keyboard input exits the menu.
6612 ButtonRelease does so if within Vdouble_click_time.
6613 Ignore mouse motion if button was already released.
6614 (menu_item_selection): Declare volatile, if __STDC__.
6616 * keyboard.c (make_lispy_event): Ignore menu bar up events.
6618 1994-07-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6620 * doprnt.c (doprnt): Handle padding on %c.
6622 * frame.c (next_frame, prev_frame): Change which frames to use
6623 when MINIBUF is a window.
6624 (Fnext_frame, Fprevious_frame): Doc fixes.
6626 * window.c: Doc fixes.
6628 1994-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6630 * xterm.c (XTread_socket, construct_menu_click) [USE_X_TOOLKIT]:
6631 Update x_mouse_grabbed and Vmouse_depressed.
6633 1994-07-02 Richard Stallman (rms@gnu.ai.mit.edu)
6635 * xdisp.c (decode_mode_spec): %+ makes % for unmodified RO buffer.
6637 * buffer.c (syms_of_buffer): Doc fix.
6639 * xfaces.c (get_cached_face): Set the cached_index field.
6641 1994-07-01 Richard Stallman (rms@gnu.ai.mit.edu)
6643 * sysdep.c (init_sys_modes): Turn off VSTART and VSTOP chars.
6644 On DGUX, turn off INPCK.
6646 1994-07-01 Paul Reilly (pmr@churchy.gnu.ai.mit.edu)
6648 * xfns.c (Fx_create_frame): Add GC protection for frame being made.
6650 1994-06-30 Richard Stallman (rms@gnu.ai.mit.edu)
6652 * xterm.c (x_make_frame_visible): In x_sync loop at the end,
6653 every fourth time, sleep for 1/4 second.
6655 * xselect.c (x_own_selection, x_get_foreign_selection):
6656 Get rid of spurious X_TOOLKIT conditional.
6658 * frame.c (Fdelete_frame): Call x_clear_frame_selections.
6660 * xselect.c (x_own_selection): Put the frame in Vselection_alist.
6661 (x_clear_frame_selections): New function.
6663 * xterm.c (x_draw_box): Use curs_x and curs_y, not f->cursor_[xy].
6665 * xfns.c (XLIB_ILLEGAL_ACCESS): Defined.
6667 1994-06-29 Richard Stallman (rms@gnu.ai.mit.edu)
6669 * s/hpux.h (random, srandom): Defined.
6671 * cmds.c (internal_self_insert): Now can return 2.
6672 * keyboard.c (command_loop_1): Don't clear nonundocount
6673 when internal_self_insert returns 1.
6675 1994-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6677 * xfns.c (x_set_frame_parameters): Call x_set_offset directly.
6678 Handle `-' for position parameters.
6680 1994-06-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6682 * lread.c (readchar): Restart interrupted I/O.
6684 1994-06-28 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
6686 * fileio.c (a_write): Loop while *ANNOT is listp, not consp.
6687 Previous code omitted all data from output files when *ANNOT was
6690 1994-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6692 * xfns.c (x_set_name): If no change needed, avoid consing.
6694 * xdisp.c (prepare_menu_bars): Call x_consider_frame_title
6695 only if windows_or_buffers_changed.
6697 * keyboard.c (safe_run_hooks): Take symbol as arg.
6698 Use Fsymbol_value and Fset.
6699 (command_loop_1): Pass symbol to safe_run_hooks.
6700 Look in the value cell to check for trivial case (no hooks).
6702 * xdisp.c (redisplay_region): For special treatment, BUF most be
6703 both current and displayed in selected window.
6705 * buffer.c (Foverlay_put): Pass redisplay_region a struct buffer *.
6707 1994-06-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6709 * fileio.c (a_write): Verify that *annot is a cons.
6711 1994-06-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6713 * keyboard.c (echo_dash): Fix backwards conditional.
6714 (read_key_sequence): Don't echo if echo_keystrokes is 0.
6716 * m/news-risc.h (C_DEBUG_SWITCH) [not NEWSOS5]:
6717 Don't define if __GNUC__.
6718 (KERNEL_FILE) [not NEWSOS5]: New override definition.
6720 1994-06-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6722 * process.c (send_process): Major rewrite.
6723 Don't put in a C-d unless a single line is too long.
6724 Read process input whenever output gets stuck.
6725 Relocate BUF if we read input. New arg OBJECT.
6726 (Fprocess_send_region, Fprocess_send_string, process_send_signal)
6727 (Fprocess_send_eof): Pass new arg OBJECT.
6729 * buffer.h (BUF_PTR_CHAR_POS): New macro.
6731 * window.c (Fsave_window_excursion): Doc fix.
6733 * s/hpux9.h (C_SWITCH_SYSTEM): Add -D_BSD.
6735 * frame.c (Fframe_parameters): Don't handle menu-bar-lines explicitly.
6737 * window.c (Fother_window_for_scrolling): New function.
6738 (Fscroll_other_window): Use that.
6739 (syms_of_window): defsubr it.
6741 1994-06-24 Karl Heuer (kwzh@nutrimat.gnu.ai.mit.edu)
6743 * fileio.c (Finsert_file_contents): Fix check for non-regular files.
6745 1994-06-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6747 * syntax.c (scan_lists, Fforward_comment): When moving backward over
6748 a comment, ignore a comment-starter that overlaps the comment-ender.
6750 * minibuf.c (Fcompleting_read): Doc fix.
6752 1994-06-23 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6754 * keyboard.c (syms_of_keyboard): Don't staticpro the same var twice.
6756 1994-06-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6758 * s/convexos.h: File deleted.
6760 * xterm.c: Don't include string.h or strings.h.
6762 * term.c (term_get_fkeys): Don't redeclare term_get_fkeys_1 here.
6764 * m/convex.h (LIBS_MACHINE, GETPGRP_NO_ARG): Defined.
6765 (NLIST_NAME_UNION, DECLARE_GETPWUID_WITH_UID_T): Defined.
6766 (CRT0_DUMMIES): Conditionalize according to __GNUC__.
6767 (convex): Define if necessary.
6768 (C_SWITCH_MACHINE): Definition deleted.
6770 1994-06-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6772 * buffer.c (Fmove_overlay): Fix typo in previous change.
6774 * s/sunos4shr.h (X_IO_BUG): Defined.
6776 1994-06-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6778 * minibuf.c (read_minibuf_unwind): Run Qminibuffer_exit_hook here.
6779 (read_minibuf): Not here.
6781 * buffer.c (Fkill_buffer): Don't delete auto save file
6782 if it didn't come from this Emacs session.
6783 (Fmove_overlay): Add missing XINT calls in previous change.
6785 1994-06-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6787 * xfns.c (x_window): Delete duplicate computation.
6788 Change type of reference argument from int to Dimension.
6790 1994-06-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6792 * config.h.in: Move #undef HAVE_STRERROR before the #includes.
6794 * m/mips4.h (HAVE_STRERROR, HAVE_XRMSETDATABASE)
6795 (HAVE_XSCREENRESOURCESTRING, HAVE_SETSID): Add #undefs.
6797 * buffer.c (Fmove_overlay): Call redisplay_region even when
6798 changing to a different buffer.
6800 * syntax.c (Fmatching_paren): Fix typo.
6802 * xterm.c (show_mouse_face): Set endcolumn ok in side-by-side windows.
6804 1994-06-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6806 * s/linux.h (SEGMENT_MASK): Defined.
6808 * xfns.c (x_window): Take account of pane widget internal border width.
6810 * s/linux.h (C_OPTIMIZE_SWITCH): Definition deleted.
6812 * lisp.h (RETURN_UNGCPRO): Swallow semicolon.
6813 (GCPRO5): New macro.
6815 * xmenu.c (single_keymap_panes): Put menu_item_equiv_key in the gcpro.
6816 (menu_item_equiv_key): GCPRO things.
6818 * keymap.c (Flookup_key): Add gcpro.
6819 (Fkey_binding, Fminor_mode_key_binding): Likewise.
6820 (Fwhere_is_internal): Likewise.
6822 * keyboard.c (apply_modifiers): Use assq_no_quit.
6824 1994-06-19 Erik Naggum (erik@naggum.no)
6826 * syntax.h (SYNTAX_MATCH): Fix typo (syntax -> matcher).
6828 * syntax.c (Fmatching_paren): New function.
6829 (Fchar_syntax): Pass arg directly to SYNTAX, no masking.
6831 1994-06-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6833 * .gdbinit: Doc fixes.
6834 (xsymbol): Cast $ to int.
6835 (xvector, xstring): Don't use a string constant.
6836 Reduce size limit for printing contents.
6838 * s/sol2.h (GETTIMEOFDAY_ONE_ARGUMENT): Undo previous change.
6840 1994-06-18 Francesco Potortì (pot@fly.cnuce.cnr.it)
6842 * m/delta.h (memmove): switch the first two args.
6844 1994-06-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6846 * xterm.c (x_make_frame_visible): At end, wait till Emacs sees
6849 * keyboard.c (echo_after_prompt): New variable.
6850 (echo_prompt, cancel_echoing): Set it.
6851 (echo_dash): Test it.
6853 * s/linux.h (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
6854 (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR):
6855 (HAVE_XSCREENNUMBEROFSCREEN, HAVE_XRMSETDATABASE):
6856 Comment out these definitions.
6858 * Makefile.in.in (doprnt.o): Depend on config_h.
6860 1994-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6862 * systime.h (EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT,
6864 * s/usg5-4.h (GETTIMEOFDAY_ONE_ARGUMENT): Define it.
6865 * s/sol2.h (GETTIMEOFDAY_ONE_ARGUMENT): Undef it.
6867 * xfns.c (x_real_positions): Make sure we know the parent window.
6869 1994-06-17 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6871 * window.h (minibuf_prompt): Now a Lisp_Object. All uses changed.
6873 * minibuf.c (minibuf_save_list): New variable, replaces
6874 minibuf_save_vector.
6875 (read_minibuf): Cons it up.
6876 (read_minibuf_unwind): Pop back the saved values.
6877 (syms_of_minibuf): staticpro it.
6879 * indent.c (compute_motion): Recenter overlays, for speed.
6881 1994-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6883 * xterm.c (scratch_cursor_gc): New variable.
6884 (dumpglyphs): Rework handling of GCs for cursor display
6885 to use scratch_cursor_gc, and reuse the GC more.
6887 1994-06-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6889 * unexec.c (make_hdr): Handle case of no "additional header".
6891 * xdisp.c (redisplay_region): Treat selected window's buffer
6892 specially, not current buffer.
6894 * syssignal.h [USG5_4] (sigblock): Use |, not &.
6896 1994-06-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6898 * xdisp.c (redisplay_window): Don't use shortcut if window_end_vpos
6901 1994-06-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6903 * process.c (Fprocess_status): Return nil for process name
6904 that has no process.
6906 * dispnew.c (syms_of_display): Make baud-rate a user var.
6908 * syntax.c (scan_lists): Get error if eob within comment with depth!=0.
6910 1994-06-16 Roland McGrath (roland@geech.gnu.ai.mit.edu)
6912 * unexec.c: Include <sys/file.h> and [USG5] <fcntl.h> to define
6914 (O_RDONLY, O_RDWR): Define if undefined.
6915 [emacs] (report_error): Use report_file_error so the user can tell
6916 what the errno code was.
6917 (unexec): Use O_RDONLY instead of explicit 0.
6918 (make_hdr): Don't undo A_TEXT_OFFSET adjustment #ifndef NO_REMAP,
6919 since it was never adjusted earlier #ifndef NO_REMAP.
6920 (adjust_lnnoptrs): Use O_RDWR instead of explicit 2.
6922 1994-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6924 * xterm.c (x_noop_count): New variable.
6925 (x_term_init) [X_IO_BUG]: Init it.
6926 (XTread_socket) [X_IO_BUG]: Don't do XNoOp every time, just 1 in 100.
6928 1994-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6930 * syssignal.h (sigblock) [USG5_4]: Define if not defined.
6932 1994-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6934 * lread.c: Put config.h first.
6936 * hftctl.c: Put sys/signal.h and errno.h first, then config.h.
6938 * dired.c: Put stdio.h, sys/types.h and sys/stat.h after config.h.
6940 * callproc.c, dispnew.c, frame.c, term.h: Put stdio.h after config.h.
6941 * widget.c, xmenu.c, xterm.c: Put stdio.h after config.h.
6943 1994-06-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6945 * sysdep.c (init_system_name): New function, replaces get_system_name.
6946 * lisp.h: declare it.
6947 * editfns.c (init_editfns): Call it.
6948 (get_system_name): New function, now just uses Vsystem_name.
6949 * xterm.c (x_term_init): Use Vsystem_name instead of calling
6952 * keymap.c (Fsingle_key_description): Allow strings as keys.
6954 * process.c (create_process): Set input_wait_mask before forking.
6956 1994-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6958 * indent.c (vmotion): Use find_next_newline_no_quit.
6959 (indented_beyond_p): Likewise.
6961 * search.c (find_next_newline_no_quit): New function.
6963 * sysdep.c (init_sys_modes): Don't set up sigio here if window system.
6965 * keyboard.c (read_key_sequence): Verify event has a POSN_BUFFER_POSN
6966 before trying to extract it.
6968 * eval.c (init_eval_once): Call xmalloc, not malloc.
6970 * process.c (Fprocess_send_eof): Doc fix.
6972 1994-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6974 * keyboard.c (interrupt_signal, init_keyboard):
6975 Don't handle SIGINT and SIGQUIT if using window system directly.
6977 * sysdep.c (init_sys_modes): Don't call set_terminal_modes
6978 if using a window system.
6980 * xterm.c (XTread_socket): Use x_top_window_to_frame in prev change.
6982 * s/sol2.h (SOLARIS2): Defined.
6984 * m/intel386.h: Add conditional for SOLARIS2.
6986 1994-06-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
6988 * xmenu.c (single_keymap_panes): gcpro some things.
6990 1994-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6992 * xterm.c (XTread_socket): Handle Xatom_wm_save_yourself
6993 by calling XSetCommand.
6995 * emacs.c (init_cmdargs): Set up initial_argv, initial_argc.
6997 * keyboard.c (syms_of_keyboard): Properly init Vsystem_key_alist.
6999 * unexaix.c (adjust_lnnoptrs): Handle multiple aux symbols.
7001 1994-06-12 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
7003 * editfns.c (transpose_markers): Allow for gap at start of region.
7004 (Ftranspose_regions): Don't precompute pointers into buffer text.
7006 1994-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7008 * xfns.c (x_window): Request "save yourself" commands.
7010 * callint.c (Fcall_interactively): Ignore `-' in string.
7011 (Fcall_interactively): Don't call minibuffer-window-active-p;
7012 determine directly whether a minibuf window is active.
7014 * keyboard.c (read_char): When we loop and call redisplay,
7015 do prepare_menu_bars first.
7017 1994-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7019 * search.c (Freplace_match): Be sure not to treat non-digit like digit.
7021 * xmenu.c (xmenu_show): Don't call XMenuDestroy twice
7024 * Makefile.in.in (xterm.o): Depend on dispextern.h.
7026 * s/sunos4-1-3.h (X_IO_BUG): Defined.
7028 1994-06-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7030 * s/linux.h (CLASH_DETECTION): Defined.
7032 * minibuf.c (Fdisplay_completion_list):
7033 Require at least two spaces between items.
7035 1994-06-07 Richard Stallman (rms@geech.gnu.ai.mit.edu)
7037 * keyboard.c (command_loop_1):
7038 Treat nil in display tab like no display tab.
7040 1994-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7042 * mips-siemens.h: Include pyramid.h, not mips.h.
7043 (LOAD_AVE_TYPE, LOAD_AVE_CVT): Definitions deleted.
7044 (NO_ARG_ARRAY, HAVE_ALLOCA): Defined.
7045 (BROKEN_FIONREAD): Add #undef.
7047 1994-06-07 Morten Welinder (terra@diku.dk)
7049 * msdos.c (init_environment): Clean up code and make the default
7050 EMACSPATH equal to the directory from which Emacs was started.
7051 (emacsroot): New variable.
7052 (rootrelativepath): New function.
7053 * msdos.h: Add template for rootrelativepath.
7054 * lread.c [MSDOS]: #include "msdos.h".
7055 * callproc.c (init_callproc) [MSDOS]: Exclude less code, so ../etc
7056 is still tested for doc file.
7058 1994-06-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
7060 * fns.c (Fy_or_n_p, Fyes_or_no_p) [HAVE_X_MENU]: Redisplay before
7063 * dispnew.c (Fframe_or_buffer_changed_p): Reuse the state vector.
7065 1994-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7067 * frame.c (Ficonify_frame, Fmake_frame_invisible, Fmake_frame_visible):
7068 Increment windows_or_buffers_changed.
7070 * xdisp.c (redisplay): Don't call x_consider_frame_title.
7071 (display_mode_line): Likewise.
7072 (prepare_menu_bars): Call it here.
7074 1994-06-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
7076 * dispnew.c (Fframe_or_buffer_changed_p): New function.
7078 1994-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7080 * xterm.c (x_wm_set_icon_position, x_wm_set_icon_pixmap):
7081 [USE_X_TOOLKIT]: Use top-level widget's window.
7083 * s/bsd386.h (BSD): Redefine.
7084 (WAITTYPE, WRETCODE, WCOREDUMP): New definitions.
7087 * m/sun386.h (LIBS_MACHINE) [USG]: New #define.
7089 * xterm.c (x_term_init): New args xrm_option and resource_string.
7090 Pass an -xrm option to XtAppInitialize if appropriate.
7092 * xfns.c (Fx_open_connection): Set up Vx_resource_name and xrm_option
7093 before calling x_term_init. Pass new args.
7095 * keyboard.c (modify_event_symbol): Return nil if out of range.
7097 * keymap.c (Fkey_description): Avoid using Fmapconcat--do it directly.
7099 * keyboard.c, dispnew.c: Include systime.h after xterm.h.
7101 * xfns.c (x_window): Take account of internal border of paned widget.
7103 * m/dos386.h (PURESIZE): Increased to 240000.
7105 * xfns.c (using_x_p): New function.
7106 * fns.c (Fy_or_n_p): Don't use dialog box if not an X frame.
7107 (Fyes_or_no_p): Likewise.
7109 1994-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7111 * s/hpux9shr.h (C_DEBUG_SWITCH): Define as empty.
7113 1994-06-03 Morten Welinder (terra@diku.dk)
7115 * callproc.c [MSDOS]: #include "msdos.h" for rootrelativepath
7118 * msdos.c (run_msdos_command): Make local copy of argv[2] on stack,
7120 (run_msdos_command): When changing argv[2] from using slashes to
7121 using backslashes, only do so on the first white-space delimited
7124 1994-06-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
7126 * textprop.c (Fprevious_single_property_change): Check for null
7127 interval after correcting for edge effects.
7129 * xdisp.c (display_text_line): Make sure pointer is in range.
7131 * xmenu.c (xdialog_show): Fix problem with message in dialog box.
7133 1994-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7135 * emacs.c (main): Do the setpgrp after checking for -batch.
7137 * keyboard.c (command_loop_1): Properly handle nil in display table.
7139 * s/hpux9.h (C_SWITCH_SYSTEM): Put inside __GNUC__ conditional.
7141 1994-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7143 * process.c (kill_buffer_processes): For net conn, use Fdelete_process.
7145 See ChangeLog.4 for earlier changes.
7151 Copyright (C) 1994-1995, 2001-2013 Free Software Foundation, Inc.
7153 This file is part of GNU Emacs.
7155 GNU Emacs is free software: you can redistribute it and/or modify
7156 it under the terms of the GNU General Public License as published by
7157 the Free Software Foundation, either version 3 of the License, or
7158 (at your option) any later version.
7160 GNU Emacs is distributed in the hope that it will be useful,
7161 but WITHOUT ANY WARRANTY; without even the implied warranty of
7162 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7163 GNU General Public License for more details.
7165 You should have received a copy of the GNU General Public License
7166 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.