Add separator.pbm tool-bar image
[emacs.git] / src / ChangeLog.5
blob0d1797ca1ce2c3e63ec4605334a8093e1a5e5863
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,
119         always use void *.
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
127         suffixes.
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,
159         make that remain so.
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
165         end at POS.
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
179         for GNU libc.
181 1995-06-11  Richard Stallman  <rms@gnu.ai.mit.edu>
183         * xmenu.c (frame_vector_add_frame): Don't forget to store
184         the longer vector.
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]:
295         Increase to 62000.
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
343         cmd_error_internal.
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
466         to the toolkit.
468         * keyboard.c (Fset_input_mode): When read_socket_hook, ignore
469         what the user specified, and set interrupt_input in the preferred
470         way for this system.
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.
511         New arg `id'.
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
537         Windows 95.
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.
551         Cleanup comments.
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
776         to selected_frame.
777         * frame.c [MULTI_FRAME] (make_terminal_frame): Don't set
778         Vterminal_frame.
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.
785         (${etc}DOC): Use it.
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.
864         (DOC): Use DOC-X.
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,
871         do nothing else.
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.
879         (min): New macro.
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.
912         Maybe use atol.
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.
930         (min): New macro.
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):
938         Make static.
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
972         32-bit EMACS_INT.
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
1036         non-toolkit menus.
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
1186         read from the file.
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
1224         unsigned char *.
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
1276         start with space.
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.
1289         Fix syntax errors.
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.
1344         (utime): Defined.
1345         (EMACS_CONFIGURATION): Defined.
1347         * nt.c (random): Defined.
1348         (srandom): 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
1370         docstring says.
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
1412         !MULTI_KBOARD.
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
1417         all kboard objects.
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.
1444         All refs renamed.
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
1502         termcap frame.
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
1508         that frame.
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):
1598         Use XMISCTYPE.
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.
1802         Delete unused vars.
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
1862         char array.
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
1882         buffer-file-format.
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
1913         get_perdisplay.
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
1923         count becomes zero.
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
1934         count.
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
2043         kbd_queue_has_data.
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.
2101         All uses changed.
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.
2142         All uses changed.
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):
2158         Undo Jan 31 change.
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
2218         state as well.
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
2470         struct changes.
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
2477         perdisplay.
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
2592         current-prefix-arg.
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
2614         exported function.
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.
2837         * cm.h: Declare it.
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):
3006         Use BUF_INTERVALS.
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,
3109         Lisp_Subr deleted.
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):
3161         New variables.
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
3183         as nil.
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.
3221         (Fload): Bind 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):
3411         New functions.
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
3460         --with-hesiod.
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
3472         is running.
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
3490         table existed.
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;
3550         pass its buffer.
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,
3671         not XCONS.
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
3764         HAVE_MOUSE.
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
3773         HAVE_X_WINDOWS.
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
3791         page size.
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.
3843         * nt.c: New file.
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
3879         read.
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.
4174         * xterm.c:
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
4180         and n_fonts.
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
4275         instead of insert.
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.
4405         All uses changed.
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
4455         and XDISPLAY.
4457         * xfns.c: Use FRAME_X_DISPLAY instead of x_current_display
4458         and XDISPLAY.
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.
4466         Use check_x_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
4472         for mouse tracking.
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.
4489         New local var f.
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
4560         default directory.
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
4568         HAVE_X_WINDOWS.
4569         (selected_frame, last_minibuffer_frame): Doc fix.
4571         * dosfns.c (Fset_mouse_position, Fmsdos_mouse_p) [!HAVE_X_WINDOWS]:
4572         New functions.
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
4580         "root".
4582         * emacs.c (main) [MSDOS && !HAVE_X_WINDOWS]: Call syms_of_xfaces
4583         and syms_of_xmenu.
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
4609         case MSDOS.
4610         (gobble_input): Complete Sep 15 change.
4612         * lisp.h: #define glyph-stuff when HAVE_FACES, not only when
4613         HAVE_X_WINDOWS.
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
4623         for the following.
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
4641         variables.
4643         * msdos.h (XFontStruct, GC, Pixmap, Display, Window) [MSDOS_NO_X]:
4644         Dummy types.
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
4656         stubs.
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
4682         HAVE_X_WINDOWS.
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
4691         stubs.
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.
4742         Callers changed.
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):
4800         New variables.
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.
4806         Changed all users.
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
4843         "computed faces".
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.
4896         (XINTPTR): Deleted.
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
4912         sbrk directly.
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
4953         word.
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
5014         the newline cache.
5015         Doc fixes.
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
5018         built for.
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.
5023         Doc fixes.
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
5028         declarations.
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
5040         member `modified'.
5042 1994-10-07  Morten Welinder  <terra@frigg.diku.dk>
5044         * minibuf.c (test_completion): New function, extracted from
5045         do_completion.
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 ".."
5051         in first pass.
5052         (Ffile_name_completion): Perform the completion even if the
5053         name part is empty.
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
5066         creates that type.
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.
5142         * *.c: 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):
5160         Decls deleted.
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
5172         the value.
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
5200         resizeToPreferred.
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__]:
5225         Use eaccess.
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
5503         a dialog box.
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
5510         to replace in.
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
5584         window borders.
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):
5611         Likewise.
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.
5631         (ro_fsys): Deleted.
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         * m/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):
5760         Use EMACS_INT.
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):
5837         Delete X10 code.
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,
5848         not __bsdi__.
5849         * xrdb.c (getpwuid, getpwnam): Test just DECLARE_GETPWUID_WITH_UID_T,
5850         not __bsdi__.
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
5936         expanded name.
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
5993         the color.
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
6110         variables.
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.
6120         (openp): Use it.
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
6210         lowercase initial.
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
6335         temporarily.
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
6430         for a non-X frame.
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
6444         least 3.
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
6454         failure.
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.
6465         Use vfork.
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):
6474         New variables.
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
6517         mouse drivers.
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
6555         in previous change.
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
6688         nil.
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
6847         frame is visible.
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,
6863         not USG5_4.
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
6899         is out of date.
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
6913         O_* macros.
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
6950         get_system_name.
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
7022         in XM_FAILURE case.
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         * m/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
7061         popping up a menu.
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.
7085         Include wait.h.
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
7116         template.
7118         * msdos.c (run_msdos_command): Make local copy of argv[2] on stack,
7119         not on heap.
7120         (run_msdos_command): When changing argv[2] from using slashes to
7121         using backslashes, only do so on the first white-space delimited
7122         part.
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.
7147 ;; Local Variables:
7148 ;; coding: utf-8
7149 ;; End:
7151   Copyright (C) 1994-1995, 2001-2015 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/>.